커뮤니티

문의드립니다.

프로필 이미지
huhhh
2023-01-04 15:02:19
918
글번호 165102
답변완료
피라미딩 설정에서 다른 진입신호만 허용 상태로 시스템을 운영할 때, 분할매도가 발생할 경우 동일한 진입신호로 다시 진입이 되는 경우가 발생합니다. 동일한 진입신호로 딱 한번만 매수하게 하려면 어떻게 해야 하나요? 또는 동일한 진입신호로 매수한 수량을 모두 매도한 후에만 다시 같은 진입신호로 매수가 가능하게 하려면 어떻게 하는지 문의드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-01-05 13:08:14

안녕하세요. 예스스탁 입니다. Buy, Sell 함수의 신호명을 설정하고, 신호명에 따라 진입 횟수를 카운팅하는 방식으로 문제를 해결하실 수 있습니다. # 매수조건 1이 만족하면 if Condition1 Then { # 현재 포지션이 없거나 매도 포지션인 경우 진입 가능 # 현재 매수 포지션인데 b1 진입 카운팅(Var1)이 없으면 진입 가능 if MarketPosition <= 0 or (MarketPosition == 1 and var1 < 1) Then Buy("b1"); } if Condition2 Then { if MarketPosition <= 0 or (MarketPosition == 1 and var2 < 1) Then Buy("b2"); } if Condition3 Then { if MarketPosition <= 0 or (MarketPosition == 1 and var3 < 1) Then Buy("b3"); } if Condition4 Then { if MarketPosition >= 0 or (MarketPosition == -1 and var4 < 1) Then Sell("s1"); } if Condition5 Then { if MarketPosition >= 0 or (MarketPosition == -1 and var5 < 1) Then Sell("s2"); } if Condition6 Then { if MarketPosition >= 0 or (MarketPosition == -1 and var6 < 1) Then Sell("s3"); } # 현재 매수 포지션인데 진입 수량이 증가했거나(b1만 진입했다가, b2까지 진입했거나) # 무 포지션, 매도 포지션에서 매수 포지션으로 진입한 경우 # 최근 진입명을 확인해서 카운팅 if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] or MarketPosition != MarketPosition[1] Then { if LatestEntryName(0) == "b1" Then var1 = var1+1; if LatestEntryName(0) == "b2" Then var2 = var2+1; if LatestEntryName(0) == "b3" Then var3 = var3+1; } } Else { # 매수 포지션 청산시에는 카운팅 초기화 var1 = 0; var2 = 0; var3 = 0; } if MarketPosition == -1 Then { if CurrentContracts > CurrentContracts[1] or MarketPosition != MarketPosition[1] Then { if LatestEntryName(0) == "s1" Then var4 = var4+1; if LatestEntryName(0) == "s2 Then var6 = var5+1; if LatestEntryName(0) == "s3" Then var7 = var6+1; } } Else { var4 = 0; var5 = 0; var6 = 0; } 즐거운 하루 보내세요. > huhhh 님이 쓴 글입니다. > 제목 : 문의드립니다. > 피라미딩 설정에서 다른 진입신호만 허용 상태로 시스템을 운영할 때, 분할매도가 발생할 경우 동일한 진입신호로 다시 진입이 되는 경우가 발생합니다. 동일한 진입신호로 딱 한번만 매수하게 하려면 어떻게 해야 하나요? 또는 동일한 진입신호로 매수한 수량을 모두 매도한 후에만 다시 같은 진입신호로 매수가 가능하게 하려면 어떻게 하는지 문의드립니다.