커뮤니티

스크립트 검증 요청

프로필 이미지
흰둥이아빠
2020-05-29 12:30:24
2613
글번호 139358
답변완료
안녕하세요? 아래 글번호 67682번 재질문입니다. 작성주신 답변 검증 및 주석 요청드립니다. 스크립트를 차트에 적용해보면 신호가 생성되지 않습니다. 감사합니다. ----------------------------------------------------------------- 안녕하세요 예스스탁입니다. var : Summer(False); var : S1(0),S2(0),E1(0),E2(0),cnt(0),ST(0),ET(0); var : Tcond(false),hh(0),ll(0),entry(0); if sdate != sdate[1] Then { S1 = Floor(sdate/10000)*10000+0300; E1 = Floor(sdate/10000)*10000+1100; var1 = 0; var2 = 0; for cnt = 1 to 31 { if DayOfWeek(S1+cnt) == 0 Then { var1 = var1+1; if var1 == 2 then { S2 = S1+cnt; } } if DayOfWeek(E1+cnt) == 0 and cnt <= 31 Then { var2 = var2+1; if var2 == 1 then { E2 = E1+cnt; } } } } if summer == true and ((sdate != sdate and stime >= 160000) or (sdate == sdate and stime >= 160000 and stime[1] < 160000)) Then { hh = DayHigh[1]; ll = DayHigh[1]; Tcond = true; entry = 0; } if summer == true and ((sdate != sdate and stime >= 030000) or (sdate == sdate and stime >= 030000 and stime[1] < 030000)) Then { Tcond = false; } if summer == true and ((sdate != sdate and stime >= 170000) or (sdate == sdate and stime >= 170000 and stime[1] < 170000)) Then { hh = DayHigh[1]; ll = DayHigh[1]; Tcond = true; } if summer == false and ((sdate != sdate and stime >= 040000) or (sdate == sdate and stime >= 040000 and stime[1] < 040000)) Then { Tcond = false; } if Tcond == true then { if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if MarketPosition <= 0 and H < HH+PriceScale*1 and entry < 3 Then buy("b",AtStop,hh+PriceScale*1); if MarketPosition >= 0 and L > LL-PriceScale*1 and entry < 3 Then sell("s",AtStop,ll-PriceScale*1); } 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 특정시간동안 고점돌파, 저점이탈 전략 스크립트 작성 요청드립니다. 크루드오일 해외선물거래입니다. 당일 7시(써머타임 해지시 8시)부터 16시(써머타임 해지시 17시)까지의 고점과 저점을 잡고 16시부터 익일 오전 3시(써머타임 해지시 4시)까지에서의 고점보다 장중 1틱 이상 가격이 상승하면 익봉시가 매수 진입 16시부터 익일 오전 3시(써머타임 해지시 4시)까지에서의 저점보다 장중 1틱 이상 가격이 하락하면 익봉시가 매도 진입 오전 3시(써머타임 해지시 4시) 정시에 시간청산 당일 매매횟수는 3회 이하로 제한하고자 합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-05-29 14:13:34

안녕하세요 예스스탁입니다. 식을 수정했습니다. var : Summer(False); var : S1(0),S2(0),E1(0),E2(0),cnt(0),ST(0),ET(0); var : Tcond(false),hh(0),ll(0),entry(0); if sdate != sdate[1] Then { S1 = Floor(sdate/10000)*10000+0300; E1 = Floor(sdate/10000)*10000+1100; var1 = 0; var2 = 0; for cnt = 1 to 31 { if DayOfWeek(S1+cnt) == 0 Then { var1 = var1+1; if var1 == 2 then { S2 = S1+cnt; } } if DayOfWeek(E1+cnt) == 0 and cnt <= 31 Then { var2 = var2+1; if var2 == 1 then { E2 = E1+cnt; } } } Summer = sdate > S2 And sdate < E2; } if summer == true and ((sdate != sdate and stime >= 160000) or (sdate == sdate[1] and stime >= 160000 and stime[1] < 160000)) Then { hh = DayHigh[1]; ll = DayHigh[1]; Tcond = true; entry = 0; } if summer == true and ((sdate != sdate and stime >= 030000) or (sdate == sdate[1] and stime >= 030000 and stime[1] < 030000)) Then { Tcond = false; } if summer == true and ((sdate != sdate and stime >= 170000) or (sdate == sdate[1] and stime >= 170000 and stime[1] < 170000)) Then { hh = DayHigh[1]; ll = DayHigh[1]; Tcond = true; } if summer == false and ((sdate != sdate and stime >= 040000) or (sdate == sdate[1] and stime >= 040000 and stime[1] < 040000)) Then { Tcond = false; } if Tcond == true then { if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if MarketPosition <= 0 and H < HH+PriceScale*1 and entry < 3 Then buy("b",AtStop,hh+PriceScale*1); if MarketPosition >= 0 and L > LL-PriceScale*1 and entry < 3 Then sell("s",AtStop,ll-PriceScale*1); } 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 스크립트 검증 요청 > 안녕하세요? 아래 글번호 67682번 재질문입니다. 작성주신 답변 검증 및 주석 요청드립니다. 스크립트를 차트에 적용해보면 신호가 생성되지 않습니다. 감사합니다. ----------------------------------------------------------------- 안녕하세요 예스스탁입니다. var : Summer(False); var : S1(0),S2(0),E1(0),E2(0),cnt(0),ST(0),ET(0); var : Tcond(false),hh(0),ll(0),entry(0); if sdate != sdate[1] Then { S1 = Floor(sdate/10000)*10000+0300; E1 = Floor(sdate/10000)*10000+1100; var1 = 0; var2 = 0; for cnt = 1 to 31 { if DayOfWeek(S1+cnt) == 0 Then { var1 = var1+1; if var1 == 2 then { S2 = S1+cnt; } } if DayOfWeek(E1+cnt) == 0 and cnt <= 31 Then { var2 = var2+1; if var2 == 1 then { E2 = E1+cnt; } } } } if summer == true and ((sdate != sdate and stime >= 160000) or (sdate == sdate and stime >= 160000 and stime[1] < 160000)) Then { hh = DayHigh[1]; ll = DayHigh[1]; Tcond = true; entry = 0; } if summer == true and ((sdate != sdate and stime >= 030000) or (sdate == sdate and stime >= 030000 and stime[1] < 030000)) Then { Tcond = false; } if summer == true and ((sdate != sdate and stime >= 170000) or (sdate == sdate and stime >= 170000 and stime[1] < 170000)) Then { hh = DayHigh[1]; ll = DayHigh[1]; Tcond = true; } if summer == false and ((sdate != sdate and stime >= 040000) or (sdate == sdate and stime >= 040000 and stime[1] < 040000)) Then { Tcond = false; } if Tcond == true then { if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if MarketPosition <= 0 and H < HH+PriceScale*1 and entry < 3 Then buy("b",AtStop,hh+PriceScale*1); if MarketPosition >= 0 and L > LL-PriceScale*1 and entry < 3 Then sell("s",AtStop,ll-PriceScale*1); } 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 특정시간동안 고점돌파, 저점이탈 전략 스크립트 작성 요청드립니다. 크루드오일 해외선물거래입니다. 당일 7시(써머타임 해지시 8시)부터 16시(써머타임 해지시 17시)까지의 고점과 저점을 잡고 16시부터 익일 오전 3시(써머타임 해지시 4시)까지에서의 고점보다 장중 1틱 이상 가격이 상승하면 익봉시가 매수 진입 16시부터 익일 오전 3시(써머타임 해지시 4시)까지에서의 저점보다 장중 1틱 이상 가격이 하락하면 익봉시가 매도 진입 오전 3시(써머타임 해지시 4시) 정시에 시간청산 당일 매매횟수는 3회 이하로 제한하고자 합니다.