예스스탁
예스스탁 답변
2016-04-12 10:56:24
안녕하세요
예스스탁입니다.
1.
var1 = highest(H,20)[1];
var2 = lowest(L,20)[1];
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 < 4 Then{
buy("bb",AtStop,LatestEntryPrice+var3*(1/2),1);
}
ExitLong("bx",AtStop,EntryPrice-var3*2+var3*(1/2)*(MaxEntries-1));
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 < 4 Then{
sell("ss",AtStop,EntryPrice-var3*(1/2),1);
}
ExitShort("sx2",AtStop,EntryPrice+var3*2-var3*(1/2)*(MaxEntries-1));
ExitShort("sx3",AtStop,Highest(H,10));
}
2
var1 = highest(H,20)[1];
var2 = lowest(L,20)[1];
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 < 4 Then{
buy("bb",AtStop,LatestEntryPrice+var3*(1/2),1);
}
ExitLong("bx",AtStop,EntryPrice-var3*2+var3*(1/2)*(MaxEntries-1));
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 < 4 Then{
sell("ss",AtStop,EntryPrice-var3*(1/2),1);
}
ExitShort("sx2",AtStop,EntryPrice+var3*2-var3*(1/2)*(MaxEntries-1));
ExitShort("sx3",AtStop,Lowest(c,BarsSinceEntry)+var3*3);
}
즐거운 하루되세요
> 마틸다 님이 쓴 글입니다.
> 제목 : 수식 수정좀 부탁드립니다
> 1
var1 = highest(H,20)[1];
var2 = lowest(L,20)[1];
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));
}
2
var1 = highest(H,20)[1];
var2 = lowest(L,20)[1];
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번 1계약 추가.
1차 진입이후 가격 수준이 2*(20)ATR 내려갔을 때(올라갔을 때) 손절
2차 진입시 손절가를 이전 손절가+-1/2*(20)ATR 상향(하향)조정
가격 수준이 10일 신저(고)가일 때 청산
25일 이동평균선이 350일 이동평균선을 상향 교차할 때는 매수만, 25일 이동평균선이 350일 이동평균선을 하향 교차할 때는 매도만
2. 돈키언 추세 시스템+ 샹들리에 청산 시스템
종가가 최근 20일 신고(저)가일때 매수(매도) 1계약 진입
이후 가격 수준이 1/2*(20)ATR 올라갈때(내려갈 때) 한번 1계약 추가.
1차 진입이후 가격 수준이 2*(20)ATR 내려갔을 때(올라갈을 때) 손절
2차 진입시 손절가를 이전 손절가+-1/2*(20)ATR 상향(하향)조정
진입시점 이후 최고가(종가)대비 가격 수준이 3*(20)ATR 만큼 떨어졌을 때(올라갔을 때) 청산
25일 이동평균선이 350일 이동평균선을 상향 교차할 때는 매수만, 25일 이동평균선이 350일 이동평균선을 하향 교차할 때는 매도만
========================================================================================
이상이 기존의 식인데 최대 3번까지 추가 진입을 해서 최대 4계약까지 매수/매도 할 수 있도록 수식을 변경하고 싶습니다. 추가 진입시 손절가 이동 공식은 똑같고요.