커뮤니티

식을 적용했는데 결과값이...

프로필 이미지
sangs83
2012-08-27 18:09:18
249
글번호 54116
답변완료
Var1 = ma(h,5);#고가 이평 Var2 = ma(l,5);#저가 이평 var3 = Disparity(5); if CrossUp(c,Var2) then buy("buy"); if CrossDown(c,Var1) then Sell("sell"); if MarketPosition ==1 then {if var3 <= Highest(var3,BarsSinceEntry)-2.4 then ExitLong("매수청산1"); ExitLong("매수청산2",AtStop,Highest(h,BarsSinceEntry)-3.4 );} if MarketPosition == -1 then {if var3 >= Lowest(var3,BarsSinceEntry) +2.2 Then ExitShort("매도청산1"); ExitShort("매도청산2",AtStop,Lowest(l,BarsSinceEntry) +2.5 );} -------------------------------------------------------------------------------- 바1은 5일 고가이동평균 바2는 5일 저가이동평균 바3은 5일 이격도 시가가 바2 위로 넘어갈때 매수 시가가 바1 아래로 내려갈때 매도 매수포지션에서 5일 이격도가 매수포지션 후 최고가에서 2.4pt 떨어지면 청산 고가가 매수포지션 후 최고가에서 3.4pt 떨어지면 청산 매도포지션에서 5일 이격도가 매도포지션 후 최저가에서 2.2pt 오르면 청산 저가가 매도포지션 후 최저가에서 2.5pt 오르면 청산 ===================================== 해석하면 이렇게 되는거 아닌가요?? 근데 손절라인이 이격도 대비 2.4pt 하락 or 고점대비 3.4pt 하락이면 최대 하락이 3.4보다 작아야 할거 같은데 식에 적용해보면 최대손실이 -11.58pt가 나옵니다. 매수했다가 바로 손절해도 3.4pt가 최대일텐데말이죠.. 제가 식을 잘못 이해한 건지 아님 성능보고를 잘못 이해한건지 모르겟네요ㅎㅎ 고가가 매수포지션 후 최고가에서 3.4pt 떨어지면 청산 -> 매수가가 고가일 시 3.4pt 떨어지면 손절로 이해했는데 혹시 이게 잘못된건지요;;
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2012-08-28 10:46:21

안녕하세요 예스스탁입니다. 작성하신식 내용이 맞습니다. 다만 매도에서 3.4이상의 손실과 매수에서 2.5 이상의 손실값이 나올수 있는 경우는 아래와 같습니다. 1. atstop이나 atlimit은 값을 지정하고 다음봉 시세를 감시하는데 다음봉 시가가 갭이 발생하여 지정한 값이상이나 이하에서 시작하는 경우가 발생할 수 있습니다. 2. 손익에는 시스템 트레이딩 설정창의 수수료와 슬리피지가 적용이 됩니다. 신호상 손익에 수수료와 슬리피지가 비용으로 추가되므로 더 크게 발생할 수 있습니다. 3. 청산식이 모두 포지션을 인식하고 발생을 합니다. 즉 신호가 발생한 봉 바로 다음봉에서는 발생할 수 없습니다. 짧은 주기를 사용하는 경우에는 큰 문제가 없지만 차트를 큰 주기를 이용하는 경우 해당 내용 감안하여 식을 추가해 주셔야 합니다. 아래는 수정한 식입니다. Var1 = ma(h,5);#고가 이평 Var2 = ma(l,5);#저가 이평 var3 = Disparity(5); if CrossUp(c,Var2) then buy("buy"); if CrossDown(c,Var1) then Sell("sell"); if MarketPosition ==1 then { if var3 <= Highest(var3,BarsSinceEntry)-2.4 then ExitLong("매수청산1"); ExitLong("매수청산2",AtStop,Highest(h,BarsSinceEntry)-3.4 ); } if MarketPosition == -1 then { if var3 >= Lowest(var3,BarsSinceEntry) +2.2 Then ExitShort("매도청산1"); ExitShort("매도청산2",AtStop,Lowest(l,BarsSinceEntry) +2.5 ); } if MarketPosition == 1 or BarsSinceEntry == 0 Then ExitShort("sx",AtStop,L+2.5); if MarketPosition == -1 or BarsSinceEntry == 0 Then ExitLong("bx",AtStop,H-3.4); 즐거운 하루되세요 > sangs83 님이 쓴 글입니다. > 제목 : 식을 적용했는데 결과값이... > Var1 = ma(h,5);#고가 이평 Var2 = ma(l,5);#저가 이평 var3 = Disparity(5); if CrossUp(c,Var2) then buy("buy"); if CrossDown(c,Var1) then Sell("sell"); if MarketPosition ==1 then {if var3 <= Highest(var3,BarsSinceEntry)-2.4 then ExitLong("매수청산1"); ExitLong("매수청산2",AtStop,Highest(h,BarsSinceEntry)-3.4 );} if MarketPosition == -1 then {if var3 >= Lowest(var3,BarsSinceEntry) +2.2 Then ExitShort("매도청산1"); ExitShort("매도청산2",AtStop,Lowest(l,BarsSinceEntry) +2.5 );} -------------------------------------------------------------------------------- 바1은 5일 고가이동평균 바2는 5일 저가이동평균 바3은 5일 이격도 시가가 바2 위로 넘어갈때 매수 시가가 바1 아래로 내려갈때 매도 매수포지션에서 5일 이격도가 매수포지션 후 최고가에서 2.4pt 떨어지면 청산 고가가 매수포지션 후 최고가에서 3.4pt 떨어지면 청산 매도포지션에서 5일 이격도가 매도포지션 후 최저가에서 2.2pt 오르면 청산 저가가 매도포지션 후 최저가에서 2.5pt 오르면 청산 ===================================== 해석하면 이렇게 되는거 아닌가요?? 근데 손절라인이 이격도 대비 2.4pt 하락 or 고점대비 3.4pt 하락이면 최대 하락이 3.4보다 작아야 할거 같은데 식에 적용해보면 최대손실이 -11.58pt가 나옵니다. 매수했다가 바로 손절해도 3.4pt가 최대일텐데말이죠.. 제가 식을 잘못 이해한 건지 아님 성능보고를 잘못 이해한건지 모르겟네요ㅎㅎ 고가가 매수포지션 후 최고가에서 3.4pt 떨어지면 청산 -> 매수가가 고가일 시 3.4pt 떨어지면 손절로 이해했는데 혹시 이게 잘못된건지요;;
프로필 이미지

sangs83

2012-08-28 17:14:16

if MarketPosition == 1 or BarsSinceEntry == 0 Then ExitShort("sx",AtStop,L+2.5); if MarketPosition == -1 or BarsSinceEntry == 0 Then ExitLong("bx",AtStop,H-3.4); 질문에 수정한 식이라고 적어주신건데요... 제일 마지막에 적어주신 내용이 맞는건가요? if marketposition == 1 or BarssinceEntry == 0 Then ExitShort(~~~~ 라고 적어주셧는데 매수포지션이거나 barsinceentry가 0일때 청산이니깐 Exitlong 으로 하는게 맞지않나 싶어서요ㅎㅎ 제가 잘못알고잇는게 있는지... 설명 부탁드립니다^^;;;