커뮤니티

손절식 추가요

프로필 이미지
kjdkdh
2021-05-07 09:49:15
1081
글번호 148787
답변완료
안녕하세요 늘 감사합니다 아래식에서요 매수1 매도1 는 손절 65틱 매수2 매도2 는 손절 100틱 수정좀 부탁합니다 그리고 모든신호진입해서 고점대비 100틱 이상 내령오면 진입청산 좀 추가해주세요 외부 변수로 부탁합니다 input : 완전청산 (50); input : 손절가 (15); var : T1(0),T2(0); #var : tX(0),BH(0),SH(0); var : T21(0),T26(0),T23(0),T24(0),T25(0); var : T11(0),T22(0),T33(0),T44(0),T55(0); var : Tcond(false); # 시간제한 var : mav1(0),mav2(0),Lcnt(0),Hcnt(0),BH(0),SL(0); var : T(0),S(0),idx(0),entry2(False); # 딱 한번 매매 var1 = ma(c,0); var2 = ma(C,0); var3 = ma(C,0); var4 = ma(c,0); if (sdate != sdate[1] and stime >= 101600) or (sdate == sdate[1] and stime >= 101600 and stime[1] < 101600) Then { Tcond = true; idx = 0; entry2 = true; } idx = idx+1; if (sdate != sdate[1] and stime >= 172000) or (sdate == sdate[1] and stime >= 172000 and stime[1] < 172000) Then { Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } if idx <= 10 then { if MarketPosition != 0 and MarketPosition != MarketPosition[1] and (IsEntryName("매수1") == true or IsEntryName("매도1") == true) Then entry2 = False; } if var1 > var2 and var1 > var3 and var1 > var4 and var4 > var2 Then T1 = 1; if var1 < var2 and var1 < var3 and var1 < var4 and var4 < var2 Then T1 = -1; var5 = ma(C,30); if CrossUp(C,var5) Then { T = 1; S = 0; } if CrossDown(C,var5) Then { T = -1; S = 0; } if Tcond == true then { if T1 == 1 and T1[1] == -1 Then buy("매수1"); if T1 == -1 and T1[1] == 1 Then sell("매도1"); if T == 1 Then { S = S+1; if idx >= 10 and S == 10 Then { if entry2 == true Then { Buy("매수2"); } Entry2 = False; } } if T == -1 Then { S = S+1; if idx >= 10 and S == 10 then { if entry2 == true Then { Sell("매도2"); } entry2 = False; } } } if MarketPosition == 1 Then { ExitLong("bx5",AtLimit,EntryPrice+PriceScale*완전청산,"",5,1); ExitLong("bx6",AtStop,EntryPrice-PriceScale*손절가,"",5,1); } Else Lcnt = 0; if MarketPosition == -1 Then { ExitShort("sx5",AtLimit,EntryPrice-PriceScale*완전청산,"",5,1); ExitShort("sx6",AtStop,EntryPrice+PriceScale*손절가,"",5,1); } Else Hcnt = 0;
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-05-07 13:54:07

안녕하세요 예스스탁입니다. input : 완전청산 (50); input : 손절1(65),손절2(100),고점대비(100); var : T1(0),T2(0); #var : tX(0),BH(0),SH(0); var : T21(0),T26(0),T23(0),T24(0),T25(0); var : T11(0),T22(0),T33(0),T44(0),T55(0); var : Tcond(false); # 시간제한 var : mav1(0),mav2(0),Lcnt(0),Hcnt(0),BH(0),SL(0); var : T(0),S(0),idx(0),entry2(False); # 딱 한번 매매 var1 = ma(c,0); var2 = ma(C,0); var3 = ma(C,0); var4 = ma(c,0); if (sdate != sdate[1] and stime >= 101600) or (sdate == sdate[1] and stime >= 101600 and stime[1] < 101600) Then { Tcond = true; idx = 0; entry2 = true; } idx = idx+1; if (sdate != sdate[1] and stime >= 172000) or (sdate == sdate[1] and stime >= 172000 and stime[1] < 172000) Then { Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } if idx <= 10 then { if MarketPosition != 0 and MarketPosition != MarketPosition[1] and (IsEntryName("매수1") == true or IsEntryName("매도1") == true) Then entry2 = False; } if var1 > var2 and var1 > var3 and var1 > var4 and var4 > var2 Then T1 = 1; if var1 < var2 and var1 < var3 and var1 < var4 and var4 < var2 Then T1 = -1; var5 = ma(C,30); if CrossUp(C,var5) Then { T = 1; S = 0; } if CrossDown(C,var5) Then { T = -1; S = 0; } if Tcond == true then { if T1 == 1 and T1[1] == -1 Then buy("매수1"); if T1 == -1 and T1[1] == 1 Then sell("매도1"); if T == 1 Then { S = S+1; if idx >= 10 and S == 10 Then { if entry2 == true Then { Buy("매수2"); } Entry2 = False; } } if T == -1 Then { S = S+1; if idx >= 10 and S == 10 then { if entry2 == true Then { Sell("매도2"); } entry2 = False; } } } if MarketPosition == 1 Then { ExitLong("bx5",AtLimit,EntryPrice+PriceScale*완전청산,"",5,1); ExitLong("bl1",AtStop,EntryPrice-PriceScale*손절1,"매수1"); ExitLong("bl2",AtStop,EntryPrice-PriceScale*손절2,"매수2"); ExitLong("btr",AtStop,Highest(H,BarsSinceEntry)-PriceScale*고점대비); } Else Lcnt = 0; if MarketPosition == -1 Then { ExitShort("sx5",AtLimit,EntryPrice-PriceScale*완전청산,"",5,1); ExitShort("sl1",AtStop,EntryPrice+PriceScale*손절1,"매도1"); ExitShort("sl2",AtStop,EntryPrice+PriceScale*손절2,"매도2"); ExitShort("str",AtStop,lowest(L,BarsSinceEntry)+PriceScale*고점대비); } Else Hcnt = 0; 즐거운 하루되세요 > kjdkdh 님이 쓴 글입니다. > 제목 : 손절식 추가요 > 안녕하세요 늘 감사합니다 아래식에서요 매수1 매도1 는 손절 65틱 매수2 매도2 는 손절 100틱 수정좀 부탁합니다 그리고 모든신호진입해서 고점대비 100틱 이상 내령오면 진입청산 좀 추가해주세요 외부 변수로 부탁합니다 input : 완전청산 (50); input : 손절가 (15); var : T1(0),T2(0); #var : tX(0),BH(0),SH(0); var : T21(0),T26(0),T23(0),T24(0),T25(0); var : T11(0),T22(0),T33(0),T44(0),T55(0); var : Tcond(false); # 시간제한 var : mav1(0),mav2(0),Lcnt(0),Hcnt(0),BH(0),SL(0); var : T(0),S(0),idx(0),entry2(False); # 딱 한번 매매 var1 = ma(c,0); var2 = ma(C,0); var3 = ma(C,0); var4 = ma(c,0); if (sdate != sdate[1] and stime >= 101600) or (sdate == sdate[1] and stime >= 101600 and stime[1] < 101600) Then { Tcond = true; idx = 0; entry2 = true; } idx = idx+1; if (sdate != sdate[1] and stime >= 172000) or (sdate == sdate[1] and stime >= 172000 and stime[1] < 172000) Then { Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } if idx <= 10 then { if MarketPosition != 0 and MarketPosition != MarketPosition[1] and (IsEntryName("매수1") == true or IsEntryName("매도1") == true) Then entry2 = False; } if var1 > var2 and var1 > var3 and var1 > var4 and var4 > var2 Then T1 = 1; if var1 < var2 and var1 < var3 and var1 < var4 and var4 < var2 Then T1 = -1; var5 = ma(C,30); if CrossUp(C,var5) Then { T = 1; S = 0; } if CrossDown(C,var5) Then { T = -1; S = 0; } if Tcond == true then { if T1 == 1 and T1[1] == -1 Then buy("매수1"); if T1 == -1 and T1[1] == 1 Then sell("매도1"); if T == 1 Then { S = S+1; if idx >= 10 and S == 10 Then { if entry2 == true Then { Buy("매수2"); } Entry2 = False; } } if T == -1 Then { S = S+1; if idx >= 10 and S == 10 then { if entry2 == true Then { Sell("매도2"); } entry2 = False; } } } if MarketPosition == 1 Then { ExitLong("bx5",AtLimit,EntryPrice+PriceScale*완전청산,"",5,1); ExitLong("bx6",AtStop,EntryPrice-PriceScale*손절가,"",5,1); } Else Lcnt = 0; if MarketPosition == -1 Then { ExitShort("sx5",AtLimit,EntryPrice-PriceScale*완전청산,"",5,1); ExitShort("sx6",AtStop,EntryPrice+PriceScale*손절가,"",5,1); } Else Hcnt = 0;