커뮤니티

문의드립니다.

프로필 이미지
아침한때비51
2018-02-02 11:51:29
161
글번호 116275
답변완료
Input : 당일수익틱수(30); var : Tcond(false),T1(0),entry(0),Xcond(false),N1(0),daypl(0),당일수익(0); var1 = ma(C,5); var2 = ma(C,10); 당일수익 = PriceScale*당일수익틱수; if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then { Tcond = true; T1 = TotalTrades; Xcond = false; N1 = NetProfit; } if stime == 055000 or (stime > 054500 and stime[1] < 055000) Then{ Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then Xcond = true; if Tcond == true and Xcond == false then { if crossup(var1,var2) Then buy("b",OnClose,def,1+entry*2); if CrossDown(var1,var2) Then sell("s",OnClose,def,1+entry*2); } if MarketPosition == 1 then{ ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 여기에서 매수매도 부분만 변경했으면 합니다. 오전 10시에서 오후 9시 까지의 최고가 최저가를 기준으로 잡고 최고가보다 1틱 더 오르면 매수. 최저가보다 1틱 더 내리면 매도. 다른건 다 똑같고요. 그럼 수고하세요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-02-02 14:37:08

안녕하세요 예스스탁입니다. 최고가최저가가 오전10시~오후9시 사이이므로 신호는 오후 9시 이후부터 발생합니다. Input : 당일수익틱수(30); var : Tcond(false),T1(0),entry(0),Xcond(false),N1(0),daypl(0),당일수익(0); var : HH(0),LL(0),HLTime(0); var1 = ma(C,5); var2 = ma(C,10); 당일수익 = PriceScale*당일수익틱수; if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then { HLTime = 1; Tcond = true; T1 = TotalTrades; Xcond = false; N1 = NetProfit; } if stime == 055000 or (stime > 054500 and stime[1] < 055000) Then{ Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then Xcond = true; #오전 10시에서 오후9시(21시) 사이의 최고가/최저가 계산 if stime == 100000 or (stime > 100000 and stime[1] < 100000) Then{ HLTime = 2; HH = H; LL = L; } if stime == 210000 or (stime > 210000 and stime[1] < 210000) Then HLTime = 3; if HLTime == 2 then{ if H > HH Then HH = H; if L < LL Then LL = L; } if Tcond == true and Xcond == false and HLtime >= 3 then { if MarketPosition <= 0 and H < HH+PriceScale*1 Then buy("b",AtStop,HH+PriceScale*1,1+entry*2); if MarketPosition >= 0 and L > LL-PriceScale*1 Then sell("s",AtStop,LL-PriceScale*1,1+entry*2); } if MarketPosition == 1 then{ ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 즐거운 하루되세요 > 아침한때비51 님이 쓴 글입니다. > 제목 : 문의드립니다. > Input : 당일수익틱수(30); var : Tcond(false),T1(0),entry(0),Xcond(false),N1(0),daypl(0),당일수익(0); var1 = ma(C,5); var2 = ma(C,10); 당일수익 = PriceScale*당일수익틱수; if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then { Tcond = true; T1 = TotalTrades; Xcond = false; N1 = NetProfit; } if stime == 055000 or (stime > 054500 and stime[1] < 055000) Then{ Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then Xcond = true; if Tcond == true and Xcond == false then { if crossup(var1,var2) Then buy("b",OnClose,def,1+entry*2); if CrossDown(var1,var2) Then sell("s",OnClose,def,1+entry*2); } if MarketPosition == 1 then{ ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 여기에서 매수매도 부분만 변경했으면 합니다. 오전 10시에서 오후 9시 까지의 최고가 최저가를 기준으로 잡고 최고가보다 1틱 더 오르면 매수. 최저가보다 1틱 더 내리면 매도. 다른건 다 똑같고요. 그럼 수고하세요.