커뮤니티

시스템 문의 드립니다...

프로필 이미지
황금호랑이
2021-07-30 14:27:47
1190
글번호 151215
답변완료

첨부 이미지

작성해주신 시스템에서 변수로 시작시간과 종료시간을 설정하여 거래하는데... 시작시간과 종료시간에만 거래하되 종료시간에 잔고 있는것 전량 청산이 되게 작성되었습니다. 시작시간을 21:30:00 종료시간을 02:30:00 같은 형식으로 설정하면 제대로 작동합니다... 그런데...종료시간으로 00:30:00 으로 설정하면 앞의 00을 인식이 안되는지 작동을 하지 않습니다... 감사합니다... input : StartTime(180000),EndTime(40000); input : sto1(12.5),sto2(5),sto3(5); input : 과매도구간(20),과매수구간(80); input : 수량1(1),수량2(2),수량3(3); var : stok(0),stod(0); var : Tcond(false); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; stok = stochasticsK(sto1,sto2); stod = stochasticsD(sto1,sto2,sto3); if Tcond == true Then { if stok >= 과매도구간 and stok <= 과매수구간 and CrossUp(stok,stod) Then Buy("b1",OnClose,DEF,수량1); if CrossUp(stok,과매도구간) Then Buy("b2",OnClose,DEF,수량2); if CrossUp(stok,과매수구간) Then Buy("b3",OnClose,DEF,수량3); if stok <= 과매수구간 and CrossDown(stok,stod) Then ExitLong("bx1"); if CrossDown(stok,과매수구간) Then ExitLong("bx2"); } IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { IF Endtime <= starttime Then { SetStopEndofday(0); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-07-30 16:09:32

안녕하세요 예스스탁입니다. 당일청산함수가 0시 시간대에는 적용이 되지 않고 있습니다. 아래 수식에서 일반청산 함수로 지정한 endtime에 청산을 하게 식을 수정해 드립니다. 시스템 적용시 설정창의 강제청산탭에서 당일청산이 체크되지 않게 주의하시기 바랍니다. input : StartTime(180000),EndTime(40000); input : sto1(12.5),sto2(5),sto3(5); input : 과매도구간(20),과매수구간(80); input : 수량1(1),수량2(2),수량3(3); var : stok(0),stod(0); var : Tcond(false); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; if MarketPosition == 1 Then exitlong(); if MarketPosition == -1 Then ExitShort(); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; stok = stochasticsK(sto1,sto2); stod = stochasticsD(sto1,sto2,sto3); if Tcond == true Then { if stok >= 과매도구간 and stok <= 과매수구간 and CrossUp(stok,stod) Then Buy("b1",OnClose,DEF,수량1); if CrossUp(stok,과매도구간) Then Buy("b2",OnClose,DEF,수량2); if CrossUp(stok,과매수구간) Then Buy("b3",OnClose,DEF,수량3); if stok <= 과매수구간 and CrossDown(stok,stod) Then ExitLong("bx1"); if CrossDown(stok,과매수구간) Then ExitLong("bx2"); } 즐거운 하루되세요 > 황금호랑이 님이 쓴 글입니다. > 제목 : 시스템 문의 드립니다... > 작성해주신 시스템에서 변수로 시작시간과 종료시간을 설정하여 거래하는데... 시작시간과 종료시간에만 거래하되 종료시간에 잔고 있는것 전량 청산이 되게 작성되었습니다. 시작시간을 21:30:00 종료시간을 02:30:00 같은 형식으로 설정하면 제대로 작동합니다... 그런데...종료시간으로 00:30:00 으로 설정하면 앞의 00을 인식이 안되는지 작동을 하지 않습니다... 감사합니다... input : StartTime(180000),EndTime(40000); input : sto1(12.5),sto2(5),sto3(5); input : 과매도구간(20),과매수구간(80); input : 수량1(1),수량2(2),수량3(3); var : stok(0),stod(0); var : Tcond(false); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; stok = stochasticsK(sto1,sto2); stod = stochasticsD(sto1,sto2,sto3); if Tcond == true Then { if stok >= 과매도구간 and stok <= 과매수구간 and CrossUp(stok,stod) Then Buy("b1",OnClose,DEF,수량1); if CrossUp(stok,과매도구간) Then Buy("b2",OnClose,DEF,수량2); if CrossUp(stok,과매수구간) Then Buy("b3",OnClose,DEF,수량3); if stok <= 과매수구간 and CrossDown(stok,stod) Then ExitLong("bx1"); if CrossDown(stok,과매수구간) Then ExitLong("bx2"); } IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { IF Endtime <= starttime Then { SetStopEndofday(0); } }