커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2022-06-14 15:57:12
1184
글번호 159841
답변완료
안녕하세요? 아래 글번호 77643번 재질문입니다. 작성 주신 스크립트 검증 부탁드립니다. 청산신호가 진입과 동시에 발생됩니다. data2, data3, data4값이 전일 대비 모두 하락하면 매수, 모두 하락하면 매도 진입하고 1개 이상 참조 값이 반전되면 청산하고자 합니다. 즉 매수 진입 후, 전일대비 data2, data3, data4 중 한개라도 전일 대비 상승하면 매수 청산 / 매도 진입 후, 전일대비 data2, data3, data4 중 한개라도 전일 대비 하락하면 매도 청산 봉완성 익봉시가로 진입과 청산합니다. input : Per(0.1); var : Tcond(false,Data1),entry(0,Data1),ST(0),ET(0),XT(0); var : C2(0,data2),C3(0,data3),C4(0,data4); IF XT > ST Then SetStopEndofday(XT); Else { if sDate != sDate[1] Then SetStopEndofday(XT); } if (sdate != sdate[1] and stime >= ET) or (sdate == sdate[1] and stime >= ET and stime[1] < ET) Then Tcond = False; if Bdate != Bdate[1] Then { Tcond = true; entry = 0; if sTime < 80000 Then { ST = 70000; ET = 213000; XT = 050000; } Else { ST = 80000; ET = 223000; XT = 060000; } IF XT <= ST Then { SetStopEndofday(0); } } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if Data2(Bdate != Bdate[1]) Then c2 = Data2(c[1]); if Data3(Bdate != Bdate[1]) Then c3 = Data3(c[1]); if Data4(Bdate != Bdate[1]) Then c4 = Data4(c[1]); if Tcond == true Then { if MarketPosition >= 0 and entry < 1 and Data2(c) >= C2*(1+per/100) and Data3(c) >= C3*(1+per/100) and Data4(c) >= C4*(1+per/100) Then Sell("s",AtMarket); if MarketPosition <= 0 and entry < 1 and Data2(c) <= C2*(1-per/100) and Data3(c) <= C3*(1-per/100) and Data4(c) <= C4*(1-per/100) Then Buy("b",AtMarket); } if MarketPosition == 1 Then { if data2(c) > c2 or data3(c) > c4 or data4(c) > c4 Then ExitLong(); } if MarketPosition == -1 Then { if data2(c) < c2 or data3(c) < c4 or data4(c) < c4 Then ExitShort(); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-06-14 17:30:17

안녕하세요 예스스탁입니다. 청산식에 잘못된 내용이 있어 수정했습니다. input : Per(0.1); var : Tcond(false,Data1),entry(0,Data1),ST(0),ET(0),XT(0); var : C2(0,data2),C3(0,data3),C4(0,data4); IF XT > ST Then SetStopEndofday(XT); Else { if sDate != sDate[1] Then SetStopEndofday(XT); } if (sdate != sdate[1] and stime >= ET) or (sdate == sdate[1] and stime >= ET and stime[1] < ET) Then Tcond = False; if Bdate != Bdate[1] Then { Tcond = true; entry = 0; if sTime < 80000 Then { ST = 70000; ET = 213000; XT = 050000; } Else { ST = 80000; ET = 223000; XT = 060000; } IF XT <= ST Then { SetStopEndofday(0); } } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if Data2(Bdate != Bdate[1]) Then c2 = Data2(c[1]); if Data3(Bdate != Bdate[1]) Then c3 = Data3(c[1]); if Data4(Bdate != Bdate[1]) Then c4 = Data4(c[1]); if Tcond == true Then { if MarketPosition >= 0 and entry < 1 and Data2(c) >= C2*(1+per/100) and Data3(c) >= C3*(1+per/100) and Data4(c) >= C4*(1+per/100) Then Sell("s",AtMarket); if MarketPosition <= 0 and entry < 1 and Data2(c) <= C2*(1-per/100) and Data3(c) <= C3*(1-per/100) and Data4(c) <= C4*(1-per/100) Then Buy("b",AtMarket); } if MarketPosition == 1 Then { if data2(c) > c2 or data3(c) > c3 or data4(c) > c4 Then ExitLong(); } if MarketPosition == -1 Then { if data2(c) < c2 or data3(c) < c3 or data4(c) < c4 Then ExitShort(); } 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 글번호 77643번 재질문입니다. 작성 주신 스크립트 검증 부탁드립니다. 청산신호가 진입과 동시에 발생됩니다. data2, data3, data4값이 전일 대비 모두 하락하면 매수, 모두 하락하면 매도 진입하고 1개 이상 참조 값이 반전되면 청산하고자 합니다. 즉 매수 진입 후, 전일대비 data2, data3, data4 중 한개라도 전일 대비 상승하면 매수 청산 / 매도 진입 후, 전일대비 data2, data3, data4 중 한개라도 전일 대비 하락하면 매도 청산 봉완성 익봉시가로 진입과 청산합니다. input : Per(0.1); var : Tcond(false,Data1),entry(0,Data1),ST(0),ET(0),XT(0); var : C2(0,data2),C3(0,data3),C4(0,data4); IF XT > ST Then SetStopEndofday(XT); Else { if sDate != sDate[1] Then SetStopEndofday(XT); } if (sdate != sdate[1] and stime >= ET) or (sdate == sdate[1] and stime >= ET and stime[1] < ET) Then Tcond = False; if Bdate != Bdate[1] Then { Tcond = true; entry = 0; if sTime < 80000 Then { ST = 70000; ET = 213000; XT = 050000; } Else { ST = 80000; ET = 223000; XT = 060000; } IF XT <= ST Then { SetStopEndofday(0); } } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if Data2(Bdate != Bdate[1]) Then c2 = Data2(c[1]); if Data3(Bdate != Bdate[1]) Then c3 = Data3(c[1]); if Data4(Bdate != Bdate[1]) Then c4 = Data4(c[1]); if Tcond == true Then { if MarketPosition >= 0 and entry < 1 and Data2(c) >= C2*(1+per/100) and Data3(c) >= C3*(1+per/100) and Data4(c) >= C4*(1+per/100) Then Sell("s",AtMarket); if MarketPosition <= 0 and entry < 1 and Data2(c) <= C2*(1-per/100) and Data3(c) <= C3*(1-per/100) and Data4(c) <= C4*(1-per/100) Then Buy("b",AtMarket); } if MarketPosition == 1 Then { if data2(c) > c2 or data3(c) > c4 or data4(c) > c4 Then ExitLong(); } if MarketPosition == -1 Then { if data2(c) < c2 or data3(c) < c4 or data4(c) < c4 Then ExitShort(); }