커뮤니티

수식 수정좀 부탁드립니다

프로필 이미지
마틸다
2016-04-11 22:20:29
71
글번호 97033
답변완료
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계약까지 매수/매도 할 수 있도록 수식을 변경하고 싶습니다. 추가 진입시 손절가 이동 공식은 똑같고요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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계약까지 매수/매도 할 수 있도록 수식을 변경하고 싶습니다. 추가 진입시 손절가 이동 공식은 똑같고요.