커뮤니티
문의드립니다.
2014-03-28 21:20:32
123
글번호 73945
35620 번에서 문의드렸던 것 답변달아주셔서 감사히 시스템 돌려보았으나 약간의 문제점이 있어서 질문올립니다.
일단, 매도(수)주문이 들어가면 익절(손절) 후에 또 매도(수) 주문이 바로 들어갑니다. 익절을 해도 재진입이 바로 들어가고, 손절을 해도 재진입이 바로 들어갑니다.
손익절 후 다시 로직의 조건을 만족할 때까지 재진입을 하지 않게 수정부탁드리겠습니다.
감사합니다.
아래에 저번에 달아주신 글 올리겠습니다.
input : N(3),X(0.5),Y(0.5),AA(1),BB(1),LL(3);
var : Hv(0),Lv(0),cnt(0),count(0),NP(0),PreNP(0),DayPl(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
NP = NetProfit;
if date != date[1] Then{
Hv = H;
Lv = L;
preNP = NP[1];
Condition1 = true;
Condition2 = true;
}
dayPL = NP-PreNP;
if dayindex > 0 and count < N then{
if H > Hv Then{
Hv = H;
Condition1 = true;
}
if Condition1 == true Then
sell("s",AtStop,Hv-X);
if L < Lv Then{
Lv = L;
Condition2 = true;
}
if Condition2 == true Then
buy("b",AtStop,Lv+Y);
}
if MarketPosition == 1 Then
Condition1 = false;
if MarketPosition == -1 Then
Condition2 = false;
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(LL)-(dayPL)));
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((LL)+(dayPL)));
}
SetStopProfittarget(AA,PointStop);
SetStopLoss(BB,PointStop);
즐거운 하루되세요
> 마코 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 신고점을 갱신한 후 X포인트 하락하면 매도.(현재 고점보다 X포인트 하락하면 매도)
신저점을 갱신한 후 Y포인트 상승하면 매수.(현재 저점보다 Y포인트 상승하면 매수)
익절 AA 포인트, 손절 BB 포인트
하루 매매 N 번
하루 누적손절 LL 포인트
그리고 익절 후 다음 신호가 발생하기 전까지(고점보다 X포인트 하락한 포인트가 오거나 저점보다 Y포인트 상승한 포인트가 오기 전까지는) 재진입 금지
이렇게 수식 부탁드립니다. 감사합니다.
답변 1
예스스탁 예스스탁 답변
2014-03-31 09:42:42
안녕하세요
예스스탁입니다.
식을 수정했습니다.
1.
input : N(3),X(0.5),Y(0.5),AA(1),BB(1),LL(3);
var : Hv(0),Lv(0),cnt(0),count(0),NP(0),PreNP(0),DayPl(0);
count = 0;
for cnt = 0 to 20{
If sdate == EntryDate(cnt) Then
count = count+1;
}
NP = NetProfit;
if date != date[1] Then{
Hv = H;
Lv = L;
preNP = NP[1];
Condition1 = true;
Condition2 = true;
}
dayPL = NP-PreNP;
if dayindex > 0 and count < N then{
if MarketPosition >= 0 Then{
if H > Hv Then{
Hv = H;
Condition1 = true;
}
if Condition1 == true Then
sell("s",AtStop,Hv-X);
}
if MarketPosition <= 0 then{
if L < Lv Then{
Lv = L;
Condition2 = true;
}
if Condition2 == true Then
buy("b",AtStop,Lv+Y);
}
}
if MarketPosition == -1 Then
Condition1 = false;
if MarketPosition == 1 Then
Condition2 = false;
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(LL)-(dayPL)));
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((LL)+(dayPL)));
}
SetStopProfittarget(AA,PointStop);
SetStopLoss(BB,PointStop);
2.
반대방향 진입신호로 스위칭되는 것도 막고자 하시면
아래식 사용하시면 됩니다.
input : N(3),X(0.5),Y(0.5),AA(1),BB(1),LL(3);
var : Hv(0),Lv(0),cnt(0),count(0),NP(0),PreNP(0),DayPl(0);
count = 0;
for cnt = 0 to 20{
If sdate == EntryDate(cnt) Then
count = count+1;
}
NP = NetProfit;
if date != date[1] Then{
Hv = H;
Lv = L;
preNP = NP[1];
Condition1 = true;
Condition2 = true;
}
dayPL = NP-PreNP;
if dayindex > 0 and count < N then{
if MarketPosition == 0 Then{
if H > Hv Then{
Hv = H;
Condition1 = true;
}
if Condition1 == true Then
sell("s",AtStop,Hv-X);
}
if MarketPosition == 0 then{
if L < Lv Then{
Lv = L;
Condition2 = true;
}
if Condition2 == true Then
buy("b",AtStop,Lv+Y);
}
}
if MarketPosition != 0 Then{
Condition1 = false;
Condition2 = false;
}
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(LL)-(dayPL)));
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((LL)+(dayPL)));
}
SetStopProfittarget(AA,PointStop);
SetStopLoss(BB,PointStop);
즐거운 하루되세요
> 마코 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 35620 번에서 문의드렸던 것 답변달아주셔서 감사히 시스템 돌려보았으나 약간의 문제점이 있어서 질문올립니다.
일단, 매도(수)주문이 들어가면 익절(손절) 후에 또 매도(수) 주문이 바로 들어갑니다. 익절을 해도 재진입이 바로 들어가고, 손절을 해도 재진입이 바로 들어갑니다.
손익절 후 다시 로직의 조건을 만족할 때까지 재진입을 하지 않게 수정부탁드리겠습니다.
감사합니다.
아래에 저번에 달아주신 글 올리겠습니다.
input : N(3),X(0.5),Y(0.5),AA(1),BB(1),LL(3);
var : Hv(0),Lv(0),cnt(0),count(0),NP(0),PreNP(0),DayPl(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
NP = NetProfit;
if date != date[1] Then{
Hv = H;
Lv = L;
preNP = NP[1];
Condition1 = true;
Condition2 = true;
}
dayPL = NP-PreNP;
if dayindex > 0 and count < N then{
if H > Hv Then{
Hv = H;
Condition1 = true;
}
if Condition1 == true Then
sell("s",AtStop,Hv-X);
if L < Lv Then{
Lv = L;
Condition2 = true;
}
if Condition2 == true Then
buy("b",AtStop,Lv+Y);
}
if MarketPosition == 1 Then
Condition1 = false;
if MarketPosition == -1 Then
Condition2 = false;
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(LL)-(dayPL)));
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((LL)+(dayPL)));
}
SetStopProfittarget(AA,PointStop);
SetStopLoss(BB,PointStop);
즐거운 하루되세요
> 마코 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 신고점을 갱신한 후 X포인트 하락하면 매도.(현재 고점보다 X포인트 하락하면 매도)
신저점을 갱신한 후 Y포인트 상승하면 매수.(현재 저점보다 Y포인트 상승하면 매수)
익절 AA 포인트, 손절 BB 포인트
하루 매매 N 번
하루 누적손절 LL 포인트
그리고 익절 후 다음 신호가 발생하기 전까지(고점보다 X포인트 하락한 포인트가 오거나 저점보다 Y포인트 상승한 포인트가 오기 전까지는) 재진입 금지
이렇게 수식 부탁드립니다. 감사합니다.
이전글