커뮤니티

글번호 47298번 재질문

프로필 이미지
통큰베팅
2016-04-22 21:21:12
120
글번호 97399
답변완료
안녕하세요? 글번호 47298번 재질문입니다. 아래의 함수 수정요청드립니다. 3번 연속 손실시 4번째거래는 안하고 5번째 거래를 다시 하고 싶습니다. 작성해주신 식은 3번 연속 손실이 나면 4번째 거래서 부터 매매가 아예 중단이 되어 버립니다. input : starttime(70000), xtime(60000); var : tcond(false),cond1(false),cond2(false),Xcond(false); if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 and PositionProfit(3) < 0 Then Xcond = true; Else if MarketPosition != 0 and PositionProfit(0) < 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Xcond = true; Else Xcond = false; if stime == starttime or (stime > starttime and stime[1] < starttime) Then{ Tcond = true; Condition1 = false; Condition2 = false; } if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then{ if Xcond == false Then buy(); if Xcond == true Then ExitShort(); } if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then{ if Xcond == false Then Sell(); if Xcond == true Then Exitlong(); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-04-25 17:59:14

안녕하세요 예스스탁입니다. 거래 중간에 실제 거래를 건너뛰고 가상으로 체크하는 부분은 식작성에 시간이 많이 소모되어 작성해 드리기가 어렵습니다. 아래 간략한 예 올려드립니다. 아래식 참고하셔서 수정보완해 사용하시기 바랍니다. input : starttime(70000), xtime(60000); var : tcond(false),cond1(false),cond2(false),Xcond(false); if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 and PositionProfit(3) < 0 Then Xcond = true; Else if MarketPosition != 0 and PositionProfit(0) < 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Xcond = true; Else Xcond = false; if stime == starttime or (stime > starttime and stime[1] < starttime) Then{ Tcond = true; Condition1 = false; Condition2 = false; } if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then{ if Xcond == false Then buy(); if MarketPosition == -1 and Xcond == true Then ExitShort(); #현재 무포지션이고 최근 3번거래가 손실이면 #청산이후 매도조건이 한번이상 만족하고 #현재 매수조건 만족하면 매수 if Xcond == true and MarketPosition == 0 and countif(Tcond == true and Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1],BarsSinceExit(1)) >= 1 Then buy(); } if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then{ if Xcond == false Then Sell(); if Xcond == true Then Exitlong(); #현재 무포지션이고 최근 3번거래가 손실이면 #청산이후 매수조건이 한번이상 만족하고 #현재 매도조건 만족하면 매도 if Xcond == true and MarketPosition == 0 and countif(Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1],BarsSinceExit(1)) >= 1 Then sell(); } 즐거운 하루되세요 > 통큰베팅 님이 쓴 글입니다. > 제목 : 글번호 47298번 재질문 > 안녕하세요? 글번호 47298번 재질문입니다. 아래의 함수 수정요청드립니다. 3번 연속 손실시 4번째거래는 안하고 5번째 거래를 다시 하고 싶습니다. 작성해주신 식은 3번 연속 손실이 나면 4번째 거래서 부터 매매가 아예 중단이 되어 버립니다. input : starttime(70000), xtime(60000); var : tcond(false),cond1(false),cond2(false),Xcond(false); if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 and PositionProfit(3) < 0 Then Xcond = true; Else if MarketPosition != 0 and PositionProfit(0) < 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Xcond = true; Else Xcond = false; if stime == starttime or (stime > starttime and stime[1] < starttime) Then{ Tcond = true; Condition1 = false; Condition2 = false; } if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then{ if Xcond == false Then buy(); if Xcond == true Then ExitShort(); } if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then{ if Xcond == false Then Sell(); if Xcond == true Then Exitlong(); }