커뮤니티

문의 드립니다.

프로필 이미지
가자아이
2025-02-25 08:40:57
367
글번호 188520
답변완료

첨부 이미지

안녕하세요 아래의 시스템에서 당일 청산 서식을 넣었는데도 당일 청산이 안되고 있습니다. 일봉 기준으로 매매를 하고 있습니다. 어제의 경우 수익대비 하락으로 강제 청산이 이루어졌고(실제 자동매매) 시스템 상에서도 청산이 표시가 되었습니다. 금일 오전에 다시 접속을 해보니 어제의 포지션(매수)이 그대로 유지가 되고 있습니다. 진입후 당일 청산이 될 수 있도록 검토부탁드립니다. input : len(0.37), atrlen(50), len1(3), len2(2.2), len3(2.9), break(3), level(0.5), big(8); # 기초진입전략 Var1 = dayHigh(1)-dayLow(1); Condition1= date==exitdate(1) And marketposition(1)==1; //최근청산날짜가 금일이고 직전이 매수 Condition2= date==exitdate(1) And marketposition(1)==-1;//최근청산날짜가 금일이고 직전이 매도 If stime<150000 then { IF Condition1==false and MarketPosition<>1 then buy("매수",ATstop,dayOpen(0)+var1*len); IF Condition2==false and MarketPosition<>-1 then sell("매도",ATstop,dayOpen(0)-var1*len); } # Range5stop1 매수청산전략 Var2=high-low; Var3=ma(Var2,atrlen); IF marketposition==1 then { Var50 = highest(high,BarsSinceEntry+1); Exitlong("매수추적",Atstop,Var50-var3*len1); Exitlong("매수변동성",Atstop,close-var3*len2); If Var50>= Entryprice+var3*break then { Exitlong("매수손익분기",ATstop,Entryprice+Var3*level); Exitlong("매수추적1",Atstop,Var50-var3*len3); } IF Var50>=Entryprice+var3*big then exitlong("매수초과수익",ATstop,lowest(low,3)); } # Range5stop1 매도청산전략 IF marketposition==-1 then { Var50 = lowest(low,BarsSinceEntry+1); Exitshort("매도추적",Atstop,Var50+var3*len1); Exitshort("매도변동성",Atstop,close+var3*len2); If Var50>= Entryprice-var3*break then { Exitshort("매도손익분기",ATstop,Entryprice-Var3*level); Exitshort("매도추적1",Atstop,Var50+var3*len3); } IF Var50>=Entryprice-var3*big then exitshort("매도초과수익",ATstop,highest(high,3)); } SetStopEndofday(1520);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-02-25 13:10:37

안녕하세요 예스스탁입니다. 차트가 일봉이면 당일청산은 동작하지 않습니다. 또한 if문이 봉완성기준이므로 일봉차트에서 시간으로 지정된 조건은 의미가 없습니다. 올려주신 수식도 분봉이하의 주기에 적용하셔야 하는 수식입니다. 즐거운 하루되세요 > 가자아이 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 안녕하세요 아래의 시스템에서 당일 청산 서식을 넣었는데도 당일 청산이 안되고 있습니다. 일봉 기준으로 매매를 하고 있습니다. 어제의 경우 수익대비 하락으로 강제 청산이 이루어졌고(실제 자동매매) 시스템 상에서도 청산이 표시가 되었습니다. 금일 오전에 다시 접속을 해보니 어제의 포지션(매수)이 그대로 유지가 되고 있습니다. 진입후 당일 청산이 될 수 있도록 검토부탁드립니다. input : len(0.37), atrlen(50), len1(3), len2(2.2), len3(2.9), break(3), level(0.5), big(8); # 기초진입전략 Var1 = dayHigh(1)-dayLow(1); Condition1= date==exitdate(1) And marketposition(1)==1; //최근청산날짜가 금일이고 직전이 매수 Condition2= date==exitdate(1) And marketposition(1)==-1;//최근청산날짜가 금일이고 직전이 매도 If stime<150000 then { IF Condition1==false and MarketPosition<>1 then buy("매수",ATstop,dayOpen(0)+var1*len); IF Condition2==false and MarketPosition<>-1 then sell("매도",ATstop,dayOpen(0)-var1*len); } # Range5stop1 매수청산전략 Var2=high-low; Var3=ma(Var2,atrlen); IF marketposition==1 then { Var50 = highest(high,BarsSinceEntry+1); Exitlong("매수추적",Atstop,Var50-var3*len1); Exitlong("매수변동성",Atstop,close-var3*len2); If Var50>= Entryprice+var3*break then { Exitlong("매수손익분기",ATstop,Entryprice+Var3*level); Exitlong("매수추적1",Atstop,Var50-var3*len3); } IF Var50>=Entryprice+var3*big then exitlong("매수초과수익",ATstop,lowest(low,3)); } # Range5stop1 매도청산전략 IF marketposition==-1 then { Var50 = lowest(low,BarsSinceEntry+1); Exitshort("매도추적",Atstop,Var50+var3*len1); Exitshort("매도변동성",Atstop,close+var3*len2); If Var50>= Entryprice-var3*break then { Exitshort("매도손익분기",ATstop,Entryprice-Var3*level); Exitshort("매도추적1",Atstop,Var50+var3*len3); } IF Var50>=Entryprice-var3*big then exitshort("매도초과수익",ATstop,highest(high,3)); } SetStopEndofday(1520);