커뮤니티

몇일전글올렸는데 도저히 모르겠네요.

프로필 이미지
빛돌이
2020-12-04 20:18:35
909
글번호 144450
답변완료
현재 제가 사용하는 수식입니다. Input : shortPeriod(21) longPeriod(16), Period(4); input : StartTime(064500),EndTime(180000); var : Tcond(false); if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if Tcond == true Then value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 여기에서 청산수익, 손절을 100포인트잡고싶습니다. 수익 100포인트 진입시 트레일링으로 최소수익 100틱을 유지하고 싶은데.. 제 수식에 대입부탁드립니다. 감사합니다.
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2020-12-07 11:06:38

안녕하세요 예스스탁입니다. Input : 당일수익(100),당일손실(100); Input : shortPeriod(21),longPeriod(16), Period(4); input : StartTime(064500),EndTime(180000); Var : N1(0),dayPl(0),Xcond(false); 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; Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 or daypl <= -당일손실 Then Xcond = true; if IsExitName("btr",1) == true or IsExitName("str",1) == true then Xcond = true; } value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); if Tcond == true and Xcond == false then { If CrossUP(value1, value2) Then { Buy(); } If CrossDown(value1, value2) Then { Sell(); } } if MarketPosition == 1 Then { if Highest(H,BarsSinceEntry) > EntryPrice+((당일수익-daypl)/CurrentContracts) Then ExitLong("btr",AtStop,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 Then { if Lowest(L,BarsSinceEntry) < EntryPrice-((당일수익-daypl)/CurrentContracts) Then ExitShort("str",AtStop,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 즐거운 하루되세요 > 빛돌이 님이 쓴 글입니다. > 제목 : 몇일전글올렸는데 도저히 모르겠네요. > 현재 제가 사용하는 수식입니다. Input : shortPeriod(21) longPeriod(16), Period(4); input : StartTime(064500),EndTime(180000); var : Tcond(false); if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if Tcond == true Then value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 여기에서 청산수익, 손절을 100포인트잡고싶습니다. 수익 100포인트 진입시 트레일링으로 최소수익 100틱을 유지하고 싶은데.. 제 수식에 대입부탁드립니다. 감사합니다.
프로필 이미지

빛돌이

2020-12-07 16:33:43

수식감사합니다. 100틱익절은 잘되는데 100틱초과시 추가진행되고 다시 100틱도달시 100틱수익보장하는 트레일링스탑수식도 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 몇일전글올렸는데 도저히 모르겠네요. > 안녕하세요 예스스탁입니다. Input : 당일수익(100),당일손실(100); Input : shortPeriod(21),longPeriod(16), Period(4); input : StartTime(064500),EndTime(180000); Var : N1(0),dayPl(0),Xcond(false); 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; Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 or daypl <= -당일손실 Then Xcond = true; if IsExitName("btr",1) == true or IsExitName("str",1) == true then Xcond = true; } value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); if Tcond == true and Xcond == false then { If CrossUP(value1, value2) Then { Buy(); } If CrossDown(value1, value2) Then { Sell(); } } if MarketPosition == 1 Then { if Highest(H,BarsSinceEntry) > EntryPrice+((당일수익-daypl)/CurrentContracts) Then ExitLong("btr",AtStop,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 Then { if Lowest(L,BarsSinceEntry) < EntryPrice-((당일수익-daypl)/CurrentContracts) Then ExitShort("str",AtStop,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 즐거운 하루되세요 > 빛돌이 님이 쓴 글입니다. > 제목 : 몇일전글올렸는데 도저히 모르겠네요. > 현재 제가 사용하는 수식입니다. Input : shortPeriod(21) longPeriod(16), Period(4); input : StartTime(064500),EndTime(180000); var : Tcond(false); if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if Tcond == true Then value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 여기에서 청산수익, 손절을 100포인트잡고싶습니다. 수익 100포인트 진입시 트레일링으로 최소수익 100틱을 유지하고 싶은데.. 제 수식에 대입부탁드립니다. 감사합니다.