커뮤니티

시스템수정 부탁드립니다.

프로필 이미지
고박사122
2018-02-27 04:01:20
177
글번호 116951
답변완료
안녕하세요. 이번에 부탁드릴 내용은 다음 시스템에서 당일 수익이 한화로 100만원이 초과하거나 손실이 100만원 초과하면 거래가 중지되도록 요청드립니다. 수익과 손실규모는 수정이 가능하도록 설정부탁드립니다. Input : 거래시간 (1), 시작시간 (070000), 끝시간 (055000),익절틱수 (6),손절틱수 (10), short(12), long(26), sig(9),BBP(120); Inputs: 전환선기간 (5), 기준선기간1(26), 기준선기간2(1), 선행스팬2기간(52); Var : MACDv(0), MACDsig(0),macdosc(0), HH(0), LL(0); Variables: 전환선 (0), 기준선1(0), 기준선2(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0); var1 = MACD(short, long); var2 = ema(MACDv,sig); var3 = ma(C,BBP); 전환선 = (Highest(High, 전환선기간 ) + Lowest(Low, 전환선기간 )) / 2; 기준선1 = (Highest(High, 기준선기간1 ) + Lowest(Low, 기준선기간1 )) / 2; 기준선2 = (Highest(High, 기준선기간2 ) + Lowest(Low, 기준선기간2 )) / 2; 선행스팬1 = (전환선 [25] + 기준선2 [25]) / 2 ; 선행스팬2 = (Highest(High, 선행스팬2기간 )[25] + Lowest(Low, 선행스팬2기간 )[25]) / 2; if 거래시간 == 1 then condition3 = (stime>=시작시간 or stime<=끝시간 ); Else if 거래시간 == 2 then condition3 = (stime>=시작시간 and stime<=끝시간 ); Else condition3 = true; # 매수/매도청산 If MarketPosition == 0 and TotalTrades == TotalTrades[1] and Condition3 == true and var3 > var3[1] and var1 > var2 and 전환선 > 기준선1 and crossup(C,전환선 ) and C > O Then Buy(); # 매도/매수청산 If MarketPosition == 0 and TotalTrades == TotalTrades[1] and Condition3 == true and var3 < var3[1] and var1 < var2 and 전환선 < 기준선1 and CrossDown(C,전환선 ) and C < O Then Sell(); if MarketPosition == 1 Then{ LL = Floor((highest(H,BarsSinceEntry) - EntryPrice)/(PriceScale*손절틱수 )); ExitLong("bx",AtStop,(EntryPrice-(PriceScale*손절틱수 ))+(PriceScale*손절틱수 )*LL); } if MarketPosition == -1 Then{ HH = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*손절틱수 )); ExitShort("sx",AtStop,(EntryPrice+(PriceScale*손절틱수 ))-(PriceScale*손절틱수 )*HH); } SetStopProfittarget(PriceScale*익절틱수,PointStop); if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간 ) Then{ if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-02-27 13:59:43

안녕하세요 예스스탁입니다. 한화로 계산은 가능하지 않습니다. 당일수익틱수, 당일손실틱수에 틱수로 지정하셔야 합니다. Input : 거래시간 (1), 시작시간 (070000), 끝시간 (055000),익절틱수 (6),손절틱수 (10), short(12), long(26), sig(9),BBP(120); Input : 전환선기간 (5), 기준선기간1(26), 기준선기간2(1), 선행스팬2기간(52); Input : 당일수익틱수(100),당일손실틱수(100); Var : MACDv(0), MACDsig(0),macdosc(0), HH(0), LL(0); Variables: 전환선 (0), 기준선1(0), 기준선2(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if Bdate != Bdate[1] Then{ Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; var1 = MACD(short, long); var2 = ema(MACDv,sig); var3 = ma(C,BBP); 전환선 = (Highest(High, 전환선기간 ) + Lowest(Low, 전환선기간 )) / 2; 기준선1 = (Highest(High, 기준선기간1 ) + Lowest(Low, 기준선기간1 )) / 2; 기준선2 = (Highest(High, 기준선기간2 ) + Lowest(Low, 기준선기간2 )) / 2; 선행스팬1 = (전환선 [25] + 기준선2 [25]) / 2 ; 선행스팬2 = (Highest(High, 선행스팬2기간 )[25] + Lowest(Low, 선행스팬2기간 )[25]) / 2; if 거래시간 == 1 then condition3 = (stime>=시작시간 or stime<=끝시간 ); Else if 거래시간 == 2 then condition3 = (stime>=시작시간 and stime<=끝시간 ); Else condition3 = true; # 매수/매도청산 If Xcond == false and MarketPosition == 0 and TotalTrades == TotalTrades[1] and Condition3 == true and var3 > var3[1] and var1 > var2 and 전환선 > 기준선1 and crossup(C,전환선 ) and C > O Then Buy(); # 매도/매수청산 If Xcond == false and MarketPosition == 0 and TotalTrades == TotalTrades[1] and Condition3 == true and var3 < var3[1] and var1 < var2 and 전환선 < 기준선1 and CrossDown(C,전환선 ) and C < O Then Sell(); if MarketPosition == 1 Then{ LL = Floor((highest(H,BarsSinceEntry) - EntryPrice)/(PriceScale*손절틱수 )); ExitLong("bx",AtStop,(EntryPrice-(PriceScale*손절틱수 ))+(PriceScale*손절틱수 )*LL); } if MarketPosition == -1 Then{ HH = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*손절틱수 )); ExitShort("sx",AtStop,(EntryPrice+(PriceScale*손절틱수 ))-(PriceScale*손절틱수 )*HH); } SetStopProfittarget(PriceScale*익절틱수,PointStop); if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간 ) Then{ if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } 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)); } 즐거운 하루되세요 > 고박사122 님이 쓴 글입니다. > 제목 : 시스템수정 부탁드립니다. > 안녕하세요. 이번에 부탁드릴 내용은 다음 시스템에서 당일 수익이 한화로 100만원이 초과하거나 손실이 100만원 초과하면 거래가 중지되도록 요청드립니다. 수익과 손실규모는 수정이 가능하도록 설정부탁드립니다. Input : 거래시간 (1), 시작시간 (070000), 끝시간 (055000),익절틱수 (6),손절틱수 (10), short(12), long(26), sig(9),BBP(120); Inputs: 전환선기간 (5), 기준선기간1(26), 기준선기간2(1), 선행스팬2기간(52); Var : MACDv(0), MACDsig(0),macdosc(0), HH(0), LL(0); Variables: 전환선 (0), 기준선1(0), 기준선2(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0); var1 = MACD(short, long); var2 = ema(MACDv,sig); var3 = ma(C,BBP); 전환선 = (Highest(High, 전환선기간 ) + Lowest(Low, 전환선기간 )) / 2; 기준선1 = (Highest(High, 기준선기간1 ) + Lowest(Low, 기준선기간1 )) / 2; 기준선2 = (Highest(High, 기준선기간2 ) + Lowest(Low, 기준선기간2 )) / 2; 선행스팬1 = (전환선 [25] + 기준선2 [25]) / 2 ; 선행스팬2 = (Highest(High, 선행스팬2기간 )[25] + Lowest(Low, 선행스팬2기간 )[25]) / 2; if 거래시간 == 1 then condition3 = (stime>=시작시간 or stime<=끝시간 ); Else if 거래시간 == 2 then condition3 = (stime>=시작시간 and stime<=끝시간 ); Else condition3 = true; # 매수/매도청산 If MarketPosition == 0 and TotalTrades == TotalTrades[1] and Condition3 == true and var3 > var3[1] and var1 > var2 and 전환선 > 기준선1 and crossup(C,전환선 ) and C > O Then Buy(); # 매도/매수청산 If MarketPosition == 0 and TotalTrades == TotalTrades[1] and Condition3 == true and var3 < var3[1] and var1 < var2 and 전환선 < 기준선1 and CrossDown(C,전환선 ) and C < O Then Sell(); if MarketPosition == 1 Then{ LL = Floor((highest(H,BarsSinceEntry) - EntryPrice)/(PriceScale*손절틱수 )); ExitLong("bx",AtStop,(EntryPrice-(PriceScale*손절틱수 ))+(PriceScale*손절틱수 )*LL); } if MarketPosition == -1 Then{ HH = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*손절틱수 )); ExitShort("sx",AtStop,(EntryPrice+(PriceScale*손절틱수 ))-(PriceScale*손절틱수 )*HH); } SetStopProfittarget(PriceScale*익절틱수,PointStop); if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간 ) Then{ if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); }