커뮤니티

매도 로직 요청

프로필 이미지
요타
2018-07-22 22:39:30
233
글번호 120772
답변완료
* 주말은 잘 쉬셨는지요..... * 더운날씨에 매매 로직과 싸우고 있습니다. < 질문1> var : S1(0),D1(0),TM(0),TF(0); var1 = ma(c,5); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; if c > var1 Then { if MarketPosition == 0 or (MarketPosition == -1 and TM >= TM[BarsSinceEntry]+1) Then buy("매수"); } if c < var1 Then { if MarketPosition == 0 or (MarketPosition == -1 and TM >= TM[BarsSinceEntry]+1) Then buy("매도"); } SetStopProfittarget(PriceScale*50,PointStop); SetStopLoss(PriceScale*20,PointStop); } 상기 문장에서 "매수"로 매매가 되면 2가지 경우가 발생 합니다. 수익: SetStopProfittarget(PriceScale*50,PointStop); 수익 이니까 통과............. 문제는 SetStopLoss(PriceScale*20,PointStop); 여기에 걸리면 손절 20틱 입니다. <요청 사항1> SetStopLoss(PriceScale*20,PointStop); (-20틱 손절) 여기에 의해서 손절매도가 되면 즉시 바로 sell주문이 나가게 수식요청 드립니다. 즉 상승으로 예상하고 매수(buy) 했는데 손절(-20틱)이 발생 하면 (MarketPosition == 0) 동시에 바로 하방 매수(sell) (MarketPosition == 1) 될수 있도록 수정 요청 드립니다. <요청 사항2 > 매수 60분후 매수틱 보다 5틱 이상 이익 이면 패스 매수 60분후 매수틱 보다 10틱 이상 손해고 40딕 이상 한번 이라도 손절이 있었다면 매도 if MarketPosition == 1 and TM >= TM[BarsSinceEntry]+60 Then sell(); 이게 아닌가요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-07-23 13:30:11

안녕하세요 예스스탁입니다. var : S1(0),D1(0),TM(0),TF(0); var1 = ma(c,5); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; if c > var1 Then { if MarketPosition == 0 or (MarketPosition == -1 and TM >= TM[BarsSinceEntry]+1) Then buy("매수"); } if c < var1 Then { if MarketPosition == 0 or (MarketPosition == -1 and TM >= TM[BarsSinceEntry]+1) Then sell("매도"); } } SetStopProfittarget(PriceScale*50,PointStop); if MarketPosition == 1 Then { #매수진입후 20틱 손실나면 청산하고 매도진입으로 스위칭 sell("bs1",AtStop,EntryPrice-PriceScale*20); #매수진입후 60분 경과한 이후에 #진입이후 최저가가 진입가 대비 -40틱이상 하락했었고(진입이후 40틱 이상 손실발생한적이 있고) #종가가 진입가대비 -10틱 이하이면 #청산하고 매도진입으로 스위칭 if TM >= TM[BarsSinceEntry]+60 and lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*40 and C <= EntryPrice-PriceScale*10 Then sell("bs2"); } if MarketPosition == -1 Then { #매도진입후 20틱 손실나면 청산하고 매수진입으로 스위칭 buy("sb1",AtStop,EntryPrice+PriceScale*20); #매도진입후 60분 경과한 이후에 #진입이후 최고가가 진입가 대비 +40틱이상 상승했었고(진입이후 40틱 이상 손실발생한적이 있고) #종가가 진입가대비 +10틱 이상이면 #청산하고 매수진입으로 스위칭 if TM >= TM[BarsSinceEntry]+60 and Highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*40 and C >= EntryPrice+PriceScale*10 Then sell("sb2"); } 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 매도 로직 요청 > * 주말은 잘 쉬셨는지요..... * 더운날씨에 매매 로직과 싸우고 있습니다. < 질문1> var : S1(0),D1(0),TM(0),TF(0); var1 = ma(c,5); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; if c > var1 Then { if MarketPosition == 0 or (MarketPosition == -1 and TM >= TM[BarsSinceEntry]+1) Then buy("매수"); } if c < var1 Then { if MarketPosition == 0 or (MarketPosition == -1 and TM >= TM[BarsSinceEntry]+1) Then buy("매도"); } SetStopProfittarget(PriceScale*50,PointStop); SetStopLoss(PriceScale*20,PointStop); } 상기 문장에서 "매수"로 매매가 되면 2가지 경우가 발생 합니다. 수익: SetStopProfittarget(PriceScale*50,PointStop); 수익 이니까 통과............. 문제는 SetStopLoss(PriceScale*20,PointStop); 여기에 걸리면 손절 20틱 입니다. <요청 사항1> SetStopLoss(PriceScale*20,PointStop); (-20틱 손절) 여기에 의해서 손절매도가 되면 즉시 바로 sell주문이 나가게 수식요청 드립니다. 즉 상승으로 예상하고 매수(buy) 했는데 손절(-20틱)이 발생 하면 (MarketPosition == 0) 동시에 바로 하방 매수(sell) (MarketPosition == 1) 될수 있도록 수정 요청 드립니다. <요청 사항2 > 매수 60분후 매수틱 보다 5틱 이상 이익 이면 패스 매수 60분후 매수틱 보다 10틱 이상 손해고 40딕 이상 한번 이라도 손절이 있었다면 매도 if MarketPosition == 1 and TM >= TM[BarsSinceEntry]+60 Then sell(); 이게 아닌가요?