커뮤니티
질문입니다.
2018-01-16 08:56:26
118
글번호 115791
선물거래 시스템에서 피라미딩을 적용시키려고 합니다.
맥시멈 3계약을 운영하려고 하고, 로직은 이렇습니다.
질문1.
예를들어 가격X1에 매수신호가 발생하여 1계약이 진입하였다면,
매수진입 후 이후봉들의 시가를 살펴 가격X1보다 높은 가격X2가 형성되면 1계약을 추가진입합니다.
매수2계약 진입이후 봉들의 시가가 가격X2보다 높은 가격X3가 형성되면 역시 1계약을 추가로 진입합니다.
최종적으로 3계약이 진입되면 더이상의 진입은 하지 않습니다.
만약 가격X1의 매수신호 후 가격X2에 1계약이 추가로 진입한 상황에서,
그 이후의 봉들의 시가 중 가격X1을 하회하는 경우,
진입한 2계약 중 1계약을 청산합니다.
마찬가지로 가격X3가 형성되어 총 3계약이 진입되어 있는 상황에서,
그 이후의 봉들의 시가 중 가격X2를 하회하는 경우,
진입한 3계약 중 1계약을 청산합니다.
최초진입한 매수 1계약은 매도시그널이 발생할때까지 유지합니다.
매도피라미딩은 매수피라미딩과 반대로 적용하고싶습니다.
가격이 하락할때 피라미딩을 쌓게하도록 말이죠.
질문2.
매수진입 후 10분후 1계약 피라미딩을 진입하고,
1계약 피라미딩 진입후 15분후 1계약 피라미딩을 진입합니다.
총3계약이되면 진입을 그만둡니다.
매도쪽도 마찬가지로 진입시키고 싶습니다.
질문3.
매수진입후 다음봉 시가에 1계약을 피라미딩으로 진입하고,
피라미딩 진입후 다음봉에 추가 1계약을 피라미딩 진입합니다.
최대3계약 진입입니다.
매도쪽도 마찬가지입니다.
예시로부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2018-01-16 13:50:10
안녕하세요
예스스탁입니다.
1
if MarketPosition <= 0 and 매수진입조건 Then
buy("b",OnClose,def,1);
if MarketPosition == 1 then{
if NextBarOpen > LatestEntryPrice(0) and MaxContracts < 3 Then
buy("bb",OnClose,def,1);
if CurrentContracts >= 2 and NextBarOpen < LatestEntryPrice(0) Then
ExitLong("bx",OnClose,def,"",1,2);
}
if MarketPosition >= 0 and 매도진입조건 Then
sell("s",OnClose,def,1);
if MarketPosition == -1 then{
if NextBarOpen < LatestEntryPrice(0) and MaxContracts < 3 Then
sell("ss",OnClose,def,1);
if CurrentContracts >= 2 and NextBarOpen > LatestEntryPrice(0) Then
ExitShort("sx",OnClose,def,"",1,2);
}
2
if MarketPosition <= 0 and 매수진입조건 Then
buy("b1",OnClose,def,1);
if MarketPosition == 1 then{
if CurrentContracts > CurrentContracts[1] Then
var1 = TimeToMinutes(stime);
if MaxContracts == 1 and TimeToMinutes(stime) >= var1+10 Then
buy("b2",OnClose,def,1);
if MaxContracts == 2 and TimeToMinutes(stime) >= var1+15 Then
buy("b3",OnClose,def,1);
}
if MarketPosition >= 0 and 매도진입조건 Then
sell("s1",OnClose,def,1);
if MarketPosition == -1 then{
if CurrentContracts > CurrentContracts[1] Then
var1 = TimeToMinutes(stime);
if MaxContracts == 1 and TimeToMinutes(stime) >= var1+10 Then
sell("s2",OnClose,def,1);
if MaxContracts == 1 and TimeToMinutes(stime) >= var1+15 Then
sell("s3",OnClose,def,1);
}
3
if MarketPosition <= 0 and 매수진입조건 Then{
buy("b1",OnClose,def,1);
buy("b2",AtMarket,def,1);
}
if MarketPosition == 1 then{
if BarsSinceEntry == 1 Then
buy("b3",OnClose,def,1);
}
if MarketPosition >= 0 and 매도진입조건 Then{
sell("s1",OnClose,def,1);
sell("s2",AtMarket,def,1);
}
if MarketPosition == -1 then{
if BarsSinceEntry == 1 Then
sell("s3",OnClose,def,1);
}
즐거운 하루되세요
> yanartas 님이 쓴 글입니다.
> 제목 : 질문입니다.
> 선물거래 시스템에서 피라미딩을 적용시키려고 합니다.
맥시멈 3계약을 운영하려고 하고, 로직은 이렇습니다.
질문1.
예를들어 가격X1에 매수신호가 발생하여 1계약이 진입하였다면,
매수진입 후 이후봉들의 시가를 살펴 가격X1보다 높은 가격X2가 형성되면 1계약을 추가진입합니다.
매수2계약 진입이후 봉들의 시가가 가격X2보다 높은 가격X3가 형성되면 역시 1계약을 추가로 진입합니다.
최종적으로 3계약이 진입되면 더이상의 진입은 하지 않습니다.
만약 가격X1의 매수신호 후 가격X2에 1계약이 추가로 진입한 상황에서,
그 이후의 봉들의 시가 중 가격X1을 하회하는 경우,
진입한 2계약 중 1계약을 청산합니다.
마찬가지로 가격X3가 형성되어 총 3계약이 진입되어 있는 상황에서,
그 이후의 봉들의 시가 중 가격X2를 하회하는 경우,
진입한 3계약 중 1계약을 청산합니다.
최초진입한 매수 1계약은 매도시그널이 발생할때까지 유지합니다.
매도피라미딩은 매수피라미딩과 반대로 적용하고싶습니다.
가격이 하락할때 피라미딩을 쌓게하도록 말이죠.
질문2.
매수진입 후 10분후 1계약 피라미딩을 진입하고,
1계약 피라미딩 진입후 15분후 1계약 피라미딩을 진입합니다.
총3계약이되면 진입을 그만둡니다.
매도쪽도 마찬가지로 진입시키고 싶습니다.
질문3.
매수진입후 다음봉 시가에 1계약을 피라미딩으로 진입하고,
피라미딩 진입후 다음봉에 추가 1계약을 피라미딩 진입합니다.
최대3계약 진입입니다.
매도쪽도 마찬가지입니다.
예시로부탁드립니다.
감사합니다.