커뮤니티

함수수정요청(251, 이격)

프로필 이미지
통큰베팅
2016-04-08 11:03:02
149
글번호 96962
답변완료

첨부 이미지

안녕하세요? 함수수정요청드립니다. 아래는 당일 골든크로발생시 매수, 데드크로스발생시 매도한다 컨셉의 스크립트입니다. 스크립트에 이격도로 진입을 제어하고자 합니다. 그런데 목표수익 강제청산조건을 넣었을 경우 목표수익에 익절이 되고 익봉에서 진입조건이 유지되면 다시 신호가 발생됩니다. 익절이후 진입조건이 유지되어 신호가 생성되는 거 말고 최초에 골든크로스나 데드크로스가 발생되고 진입신호가 처음 발생될 경우에만 이격도(20이평선 98이하면 매도 신호 생성금지, 102이상이면 매수 신호 생성 금지)를 적용하고 싶습니다. 즉 이평선 교차 시점 이후에 처음에만 발생된 신호 지점에 이격을 적용하고 싶습니다. ------------------------------------------------------------------------------------ input : starttime(70000), xtime(60000); var : tcond(false),cond1(false),cond2(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 buy(); if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then sell();
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-04-08 11:26:10

안녕하세요 예스스탁입니다. input : starttime(70000), xtime(60000); var : tcond(false),cond1(false),cond2(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); var3 = Disparity(20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if crossup(var1,var2) Then value1 = 0; if CrossDown(var1,var2) Then value2 = 0; 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{ value1 = value1+1; if (value1 == 1 and var3 < 102) or (value1 >= 2) Then buy(); } if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then{ value2 = value2+1; if (value2 == 1 and var3 > 98) or (value2 >= 2) Then sell(); } 즐거운 하루되세요 > 통큰베팅 님이 쓴 글입니다. > 제목 : 함수수정요청(251, 이격) > 안녕하세요? 함수수정요청드립니다. 아래는 당일 골든크로발생시 매수, 데드크로스발생시 매도한다 컨셉의 스크립트입니다. 스크립트에 이격도로 진입을 제어하고자 합니다. 그런데 목표수익 강제청산조건을 넣었을 경우 목표수익에 익절이 되고 익봉에서 진입조건이 유지되면 다시 신호가 발생됩니다. 익절이후 진입조건이 유지되어 신호가 생성되는 거 말고 최초에 골든크로스나 데드크로스가 발생되고 진입신호가 처음 발생될 경우에만 이격도(20이평선 98이하면 매도 신호 생성금지, 102이상이면 매수 신호 생성 금지)를 적용하고 싶습니다. 즉 이평선 교차 시점 이후에 처음에만 발생된 신호 지점에 이격을 적용하고 싶습니다. ------------------------------------------------------------------------------------ input : starttime(70000), xtime(60000); var : tcond(false),cond1(false),cond2(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 buy(); if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then sell();