커뮤니티
매도 로직 요청
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();
이게 아닌가요?
이전글