예스스탁
예스스탁 답변
2016-04-05 13:23:31
안녕하세요? 예스스탁입니다.
세 개의 식에서 아래 내용을 수정하시면 됩니다.
var1 = highest(H,20);
var2 = lowest(L,20);
위 내용을 아래와 같이 모두 수정하시면 됩니다.
var1 = highest(H,20)[1];
var2 = lowest(L,20)[1];
감사합니다.
> 마틸다 님이 쓴 글입니다.
> 제목 : 시스템 검증이 제대로 되지 않습니다
> 1.
var1 = highest(H,20);
var2 = lowest(L,20);
var3 = atr(20);
var4 = ma(C,25);
var5 = ma(C,350);
if var4 > var5 then{
if MarketPosition <= 0 and crossup(C,var1) Then
buy("b",OnClose,def,1);
if MarketPosition == 1 and MaxEntries == 1 Then
buy("bb",AtStop,EntryPrice+var3*(1/2),1);
if MarketPosition == 1 and BarsSinceEntry == 80 Then
ExitLong("bx");
}
if var4 < var5 then{
if MarketPosition >= 0 and CrossDown(C,var2) Then
sell("s",OnClose,def,1);
if MarketPosition == -1 and MaxEntries == 1 Then
sell("ss",AtStop,EntryPrice-var3*(1/2),1);
if MarketPosition == -1 and BarsSinceEntry == 80 Then
ExitShort("sx");
}
2
var1 = highest(H,20);
var2 = lowest(L,20);
var3 = atr(20);
var4 = ma(C,25);
var5 = ma(C,350);
if var4 > var5 then{
if MarketPosition <= 0 and crossup(C,var1) Then
buy("b",OnClose,def,1);
if MarketPosition == 1 then{
if MaxEntries == 1 Then{
buy("bb",AtStop,EntryPrice+var3*(1/2),1);
ExitLong("bx1",AtStop,EntryPrice-var3*2);
}
if MaxEntries == 2 Then{
ExitLong("bx2",AtStop,EntryPrice-var3*2+var3*(1/2));
}
ExitLong("Bx3",AtStop,lowest(L,10));
}
}
if var4 < var5 then{
if MarketPosition >= 0 and CrossDown(C,var2) Then
sell("s",OnClose,def,1);
if MarketPosition == -1 then{
if MaxEntries == 1 Then{
sell("ss",AtStop,EntryPrice-var3*(1/2),1);
ExitShort("sx1",AtStop,EntryPrice+var3*2);
}
if MaxEntries == 2 Then{
ExitShort("sx2",AtStop,EntryPrice+var3*2-var3*(1/2));
}
ExitShort("sx3",AtStop,Highest(H,10));
}
}
3
var1 = highest(H,20);
var2 = lowest(L,20);
var3 = atr(20);
var4 = ma(C,25);
var5 = ma(C,350);
if var4 > var5 then{
if MarketPosition <= 0 and crossup(C,var1) Then
buy("b",OnClose,def,1);
if MarketPosition == 1 then{
if MaxEntries == 1 Then{
buy("bb",AtStop,EntryPrice+var3*(1/2),1);
ExitLong("bx1",AtStop,EntryPrice-var3*2);
}
if MaxEntries == 2 Then{
ExitLong("bx2",AtStop,EntryPrice-var3*2+var3*(1/2));
}
ExitLong("Bx3",AtStop,Highest(C,BarsSinceEntry)-var3*3);
}
}
if var4 < var5 then{
if MarketPosition >= 0 and CrossDown(C,var2) Then
sell("s",OnClose,def,1);
if MarketPosition == -1 then{
if MaxEntries == 1 Then{
sell("ss",AtStop,EntryPrice-var3*(1/2),1);
ExitShort("sx1",AtStop,EntryPrice+var3*2);
}
if MaxEntries == 2 Then{
ExitShort("sx2",AtStop,EntryPrice+var3*2-var3*(1/2));
}
ExitShort("sx3",AtStop,Lowest(c,BarsSinceEntry)+var3*3);
}
}
즐거운 하루되세요
> 마틸다 님이 쓴 글입니다.
> 제목 : 시스템 문의 드립니다
> 돈키언 추세 시스템 수식으로 부탁드립니다.
1. 시간기준 돈키언 청산 시스템
종가가 최근 20일 신고(저)가일때 매수(매도) 1계약 진입
이후 가격 수준이 1/2*(20)ATR 올라갈때(내려갈 때) 한번 1계약 추가.
80일 후 포지션 청산
25일 이동평균선이 350일 이동평균선을 상향 교차할 때는 매수만, 25일 이동평균선이 350일 이동평균선을 하향 교차할 때는 매도만
2. 돈키언 추세 시스템
종가가 최근 20일 신고(저)가일때 매수(매도) 1계약 진입
이후 가격 수준이 1/2*(20)ATR 올라갈때(내려갈 때) 한번 1계약 추가.
1차 진입이후 가격 수준이 2*(20)ATR 내려갔을 때(올라갔을 때) 손절
2차 진입시 손절가를 이전 손절가+-1/2*(20)ATR 상향(하향)조정
가격 수준이 10일 신저(고)가일 때 청산
25일 이동평균선이 350일 이동평균선을 상향 교차할 때는 매수만, 25일 이동평균선이 350일 이동평균선을 하향 교차할 때는 매도만
3. 돈키언 추세 시스템+ 샹들리에 청산 시스템
종가가 최근 20일 신고(저)가일때 매수(매도) 1계약 진입
이후 가격 수준이 1/2*(20)ATR 올라갈때(내려갈 때) 한번 1계약 추가.
1차 진입이후 가격 수준이 2*(20)ATR 내려갔을 때(올라갈을 때) 손절
2차 진입시 손절가를 이전 손절가+-1/2*(20)ATR 상향(하향)조정
진입시점 이후 최고가(종가)대비 가격 수준이 3*(20)ATR 만큼 떨어졌을 때(올라갔을 때) 청산
25일 이동평균선이 350일 이동평균선을 상향 교차할 때는 매수만, 25일 이동평균선이 350일 이동평균선을 하향 교차할 때는 매도만
=======================================================================================
위와같이 수식이 나왔는데 예스트레이더로 시스템 검증을 하려고 하니 진입, 청산이 들어가지 않아 수익률이 0로 나옵니다. 해결 부탁드립니다.