커뮤니티

아래식에서

프로필 이미지
수원
2022-03-30 16:25:34
1280
글번호 157604
답변완료
당일총수익이나 총손실에도달하면 강제청산후에 매수진입이나 매도진입이되지않도록 수정부탁합니다 당일 수이이나 손실이 나도 계속진입이됩니다 input : StartTime(90000),EndTime(110000); Input : 당일수익틱수(25),당일손실틱수(50); Input : 전환선기간(9), 기준선기간(26); Var : 기준선(0), 전환선(0); var : Tcond(false); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); 전환선 = (Highest(High, 전환선기간) + Lowest(Low, 전환선기간)) / 2; 기준선 = (Highest(High, 기준선기간) + Lowest(Low, 기준선기간)) / 2; 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; 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("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; } if Tcond == true Then { if MarketPosition <= 0 and crossup(전환선,기준선) Then Buy(); if MarketPosition >= 0 and CrossDown(전환선,기준선) Then Sell(); } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then { ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } SetStopEndofday(Endtime);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-03-31 14:49:36

input : StartTime(90000),EndTime(110000); Input : 당일수익틱수(25),당일손실틱수(50); Input : 전환선기간(9), 기준선기간(26); Var : 기준선(0), 전환선(0); var : Tcond(false); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); 전환선 = (Highest(High, 전환선기간) + Lowest(Low, 전환선기간)) / 2; 기준선 = (Highest(High, 기준선기간) + Lowest(Low, 기준선기간)) / 2; 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; 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("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; } if Tcond == true and Xcond == true Then { if MarketPosition <= 0 and crossup(전환선,기준선) Then Buy(); if MarketPosition >= 0 and CrossDown(전환선,기준선) Then Sell(); } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then { ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } SetStopEndofday(Endtime); > 수원 님이 쓴 글입니다. > 제목 : 아래식에서 > 당일총수익이나 총손실에도달하면 강제청산후에 매수진입이나 매도진입이되지않도록 수정부탁합니다 당일 수이이나 손실이 나도 계속진입이됩니다 input : StartTime(90000),EndTime(110000); Input : 당일수익틱수(25),당일손실틱수(50); Input : 전환선기간(9), 기준선기간(26); Var : 기준선(0), 전환선(0); var : Tcond(false); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); 전환선 = (Highest(High, 전환선기간) + Lowest(Low, 전환선기간)) / 2; 기준선 = (Highest(High, 기준선기간) + Lowest(Low, 기준선기간)) / 2; 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; 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("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; } if Tcond == true Then { if MarketPosition <= 0 and crossup(전환선,기준선) Then Buy(); if MarketPosition >= 0 and CrossDown(전환선,기준선) Then Sell(); } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then { ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } SetStopEndofday(Endtime);