커뮤니티

문의 드립니다.

프로필 이미지
cooparoo
2024-01-24 13:28:37
931
글번호 176045
답변완료
안녕하세요! 아래 수식으로 전략실행(실시간)차트에서는 신호가 발생하는데요 시뮬레이션 차트에서는 신호가 발생하지 않습니다.(SI증권) 무엇이 잘못되었는지 수정부탁 드립니다. 그리고 매매시간 설정도 잘 되었는지 검토 부탁드립니다. 오전 8시05분 시작해서 다음날 오전 06시50분에 강제청산이고 04시 이후로는 신규진입은 제한하는 수식입니다.(외부변수 처리) 감사합니다. Input : StartTime(160500),EndTime(021000),XTime(025000); Input: Period(5),_PRICE_(C); Input: Period1(5), Period2(20), Period3(60), Period4(120); Input : 익절(1.50), 손절(0.6); ########################################################### Var : v0(0); Var : Sma1(0),Sma2(0),Sma3(0),Sma4(0); ########################################################### var : Tcond(false); var : entry(0); ############################################################# ############################################################ if sDate != sDate[1] Then SetStopEndofday(xtime); 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; SetStopEndofday(0); entry = 0; } ############################################################ v0 = Ema(Ema(Ema(_PRICE_,Period),Period),Period); ########################################################### Sma1 = ma(C,Period1); Sma2 = ma(C,Period2); Sma3 = ma(C,Period3); Sma4 = ma(C,Period4); ################################################################ if Tcond == true Then { ################################################################ #매수 수식 if MarketPosition <= 0 Then { If CrossUp(Sma1,v0) then Buy("b1"); } ################################################################ #매도 수식 if MarketPosition >= 0 Then { if CrossDown(Sma1,v0) Then Sell("s1"); } ################################################################ } SetStopProfittarget(익절,PointStop); SetStopLoss (손절,PointStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-24 14:18:27

안녕하세요 예스스탁입니다. 1 _PRICE_(C); 시뮬레이션 차트는 변수최적화 기능이 있어 외부변수(input)가 모두 숫자이어야 합니다. _PRICE_가 데이터명 예약어명이므로 내부변수 처리해 드립니다. 2 시간설정에는 이상이 없습니다. 3 Input : StartTime(160500),EndTime(021000),XTime(025000); Input: Period(5); Input: Period1(5), Period2(20), Period3(60), Period4(120); Input : 익절(1.50), 손절(0.6); ########################################################### Var : v0(0),_PRICE_(0); Var : Sma1(0),Sma2(0),Sma3(0),Sma4(0); ########################################################### var : Tcond(false); var : entry(0); ############################################################# ############################################################ _PRICE_ = C; if sDate != sDate[1] Then SetStopEndofday(xtime); 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; SetStopEndofday(0); entry = 0; } ############################################################ v0 = Ema(Ema(Ema(_PRICE_,Period),Period),Period); ########################################################### Sma1 = ma(C,Period1); Sma2 = ma(C,Period2); Sma3 = ma(C,Period3); Sma4 = ma(C,Period4); ################################################################ if Tcond == true Then { ################################################################ #매수 수식 if MarketPosition <= 0 Then { If CrossUp(Sma1,v0) then Buy("b1"); } ################################################################ #매도 수식 if MarketPosition >= 0 Then { if CrossDown(Sma1,v0) Then Sell("s1"); } ################################################################ } SetStopProfittarget(익절,PointStop); SetStopLoss (손절,PointStop); 즐거운 하루되세요 > cooparoo 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 안녕하세요! 아래 수식으로 전략실행(실시간)차트에서는 신호가 발생하는데요 시뮬레이션 차트에서는 신호가 발생하지 않습니다.(SI증권) 무엇이 잘못되었는지 수정부탁 드립니다. 그리고 매매시간 설정도 잘 되었는지 검토 부탁드립니다. 오전 8시05분 시작해서 다음날 오전 06시50분에 강제청산이고 04시 이후로는 신규진입은 제한하는 수식입니다.(외부변수 처리) 감사합니다. Input : StartTime(160500),EndTime(021000),XTime(025000); Input: Period(5),_PRICE_(C); Input: Period1(5), Period2(20), Period3(60), Period4(120); Input : 익절(1.50), 손절(0.6); ########################################################### Var : v0(0); Var : Sma1(0),Sma2(0),Sma3(0),Sma4(0); ########################################################### var : Tcond(false); var : entry(0); ############################################################# ############################################################ if sDate != sDate[1] Then SetStopEndofday(xtime); 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; SetStopEndofday(0); entry = 0; } ############################################################ v0 = Ema(Ema(Ema(_PRICE_,Period),Period),Period); ########################################################### Sma1 = ma(C,Period1); Sma2 = ma(C,Period2); Sma3 = ma(C,Period3); Sma4 = ma(C,Period4); ################################################################ if Tcond == true Then { ################################################################ #매수 수식 if MarketPosition <= 0 Then { If CrossUp(Sma1,v0) then Buy("b1"); } ################################################################ #매도 수식 if MarketPosition >= 0 Then { if CrossDown(Sma1,v0) Then Sell("s1"); } ################################################################ } SetStopProfittarget(익절,PointStop); SetStopLoss (손절,PointStop);