커뮤니티

문의 드립니다.

프로필 이미지
푸른
2022-06-23 12:03:25
952
글번호 160116
답변완료
input : 익절틱수(110),손절틱수(20); var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False); var : ST(0),ET(0),entry(0); if NextBarSdate != sDate Then { DD = DayOfWeek(NextBarSdate); Year = Floor(NextBarSdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); Summer = NextBarSdate > (10000 * Year) + (100 * 3) + v2 And NextBarSdate < (10000 * Year) + (100 * 11) + v4; if summer == true Then { ST = 70000; ET = 55000; } Else { ST = 80000; ET = 65000; } } if Year > 0 Then { IF ET > ST Then SetStopEndofday(ET); Else { if sDate != sDate[1] Then SetStopEndofday(ET); } if Bdate != Bdate[1] Then { entry = 0; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if ((NextBarSdate != sDate and NextBarStime >= ST) or (NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then { IF ET <= ST Then { SetStopEndofday(0); } if NextBarOpen < C Then Buy("b1",AtStop,NextBarOpen+PriceScale*1); if NextBarOpen > C Then Sell("s1",AtStop,NextBarOpen-PriceScale*1); } } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); ------------------ 진입 청산 2회로 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-06-23 12:39:16

안녕하세요 예스스탁입니다. 해당 수식은 첫봉에서만 신호가 발생하는 내용입니다. 당일 진입1회만 발생하고 그에 따라 청산도 1번만 발생하는 내용입니다. 진입 2회 지정이 의미가 없는 수식인데 어떤 방식으로 변경하고자 하시는지 좀더 자세한 내용을 올려주시기 바랍니다. 즐거운 하루되세요 > 푸른 님이 쓴 글입니다. > 제목 : 문의 드립니다. > input : 익절틱수(110),손절틱수(20); var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False); var : ST(0),ET(0),entry(0); if NextBarSdate != sDate Then { DD = DayOfWeek(NextBarSdate); Year = Floor(NextBarSdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); Summer = NextBarSdate > (10000 * Year) + (100 * 3) + v2 And NextBarSdate < (10000 * Year) + (100 * 11) + v4; if summer == true Then { ST = 70000; ET = 55000; } Else { ST = 80000; ET = 65000; } } if Year > 0 Then { IF ET > ST Then SetStopEndofday(ET); Else { if sDate != sDate[1] Then SetStopEndofday(ET); } if Bdate != Bdate[1] Then { entry = 0; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if ((NextBarSdate != sDate and NextBarStime >= ST) or (NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then { IF ET <= ST Then { SetStopEndofday(0); } if NextBarOpen < C Then Buy("b1",AtStop,NextBarOpen+PriceScale*1); if NextBarOpen > C Then Sell("s1",AtStop,NextBarOpen-PriceScale*1); } } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); ------------------ 진입 청산 2회로 부탁드립니다.