if MarketPosition == 1 and CrossDown(mav2,mav4)
or
highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*20 Then
exitlong("bx",AtStop,EntryPrice+PriceScale*10);
if MarketPosition ==-1 and Crossup(mav2,mav4)
or
Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*20 then
ExitShort("sx",AtStop,EntryPrice-PriceScale*10);
SetStopProfittarget(PriceScale*120,PointStop);
SetStoploss(PriceScale*90,PointStop);
위와 같은 프로그램으로(일부임) 시뮬레이션 결과치는 틱 설정대로 진입, 청산의 결과치는 나왔습니다.
궁금한것은
실전으로 자동매매 구동해 보면 가차없이 설정 틱에서 진입청산이 이루어 집니다.
어떨땐(장 마감직전) 진입 청산이 안 이루어 질때도 있었지만 살펴보니 너무 잔량이 적다보니 걍 지나가는 경우도 보긴 했습니다만.....
제가 프로그램 짠 시뮬레이션 결과치가 (30분봉 시스템에 기간은 18개월 을 보여줌) 실전 자동매매 에서도 동일한 결과치를 주는가 입니다.
빽 테스트에서는 과거 완성된 봉의 데이타 에 적용 하고 ,실전으로 자동매매 걸어놓고 볼때는 말 그대로 실시간 매매 이니 혹 다르게 동작 하지 않을가 걱정 됩니다.
물론 슬리피지는 인정 하구요.
프로그램을 전체적으로 어떻게 작성 하였나도 보아야 겠지만
먼저 위 에 제시한 익절,손절 만 놓고 볼때 .....
결과치의 다른점은 없는지 궁금 합니다....
수고 하십시요.
eFriend Global YesTrader (한국투자증권)
답변 1
예스스탁
예스스탁 답변
2017-12-11 17:24:22
안녕하세요? 예스스탁입니다.
설정하신 목표수익이나 손절청산 그리고 청산식의 호가가 아주 작은 값은 아니기 때문에 시뮬레이션과 실제매매가 차이나는 경우는 별로 없을 것으로 판단됩니다. 다만, 작성하신 내용이 원래 의도하신 내용과 맞는지는 확인해 보셔야 할것 같습니다.
작성하신 내용 중 아래 부분을 확인해 보셔야 할것 같습니다.(매수 매도 동일)
작성은 다음과 같이 하셨습니다.
if MarketPosition == 1 and CrossDown(mav2,mav4)
or
highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*20 Then
exitlong("bx",AtStop,EntryPrice+PriceScale*10);
위 식의 구조는 if A and B or C then exitlong(); 구조로 되어 있는데
위 식이 계산되는 구조를 괄호로 묶어서 표현해보면 아래와 같습니다.
if (A and B) or C then exitlong();
그런데, 원래 의도하신 내용은 아래와 같지 않을까 생각됩니다.
if A and (B or C) then exitlong();
만일 의도하신 내용은 두번째 내용과 같다면 괄호를 두번째 내용처럼 적용해 주셔야 합니다.
또, 위 식에서는 mav2가 mav4를 하향이탈한 다음 봉에서 진입가격+10호가 아래이면 청산하거나, 진입후 최고가가 진입가격에서 20호가 이상 상승했다가 진입가격+10호가 아래이면 청산하도록 되어 있는데, 이것도 의도하시는 내용과 맞는지 확인해 보셔야 할것 같습니다.
두 개 조건의 청산식을 하나로 묶어서 표현하다보니 복잡해 진것 같습니다.
두개의 청산식을 각각 분리해서 작성하시는 것이 좋을것 같습니다.
감사합니다.
> 지치울부자 님이 쓴 글입니다.
> 제목 : 시뮬레이션과 실전의 차아
>
if MarketPosition == 1 and CrossDown(mav2,mav4)
or
highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*20 Then
exitlong("bx",AtStop,EntryPrice+PriceScale*10);
if MarketPosition ==-1 and Crossup(mav2,mav4)
or
Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*20 then
ExitShort("sx",AtStop,EntryPrice-PriceScale*10);
SetStopProfittarget(PriceScale*120,PointStop);
SetStoploss(PriceScale*90,PointStop);
위와 같은 프로그램으로(일부임) 시뮬레이션 결과치는 틱 설정대로 진입, 청산의 결과치는 나왔습니다.
궁금한것은
실전으로 자동매매 구동해 보면 가차없이 설정 틱에서 진입청산이 이루어 집니다.
어떨땐(장 마감직전) 진입 청산이 안 이루어 질때도 있었지만 살펴보니 너무 잔량이 적다보니 걍 지나가는 경우도 보긴 했습니다만.....
제가 프로그램 짠 시뮬레이션 결과치가 (30분봉 시스템에 기간은 18개월 을 보여줌) 실전 자동매매 에서도 동일한 결과치를 주는가 입니다.
빽 테스트에서는 과거 완성된 봉의 데이타 에 적용 하고 ,실전으로 자동매매 걸어놓고 볼때는 말 그대로 실시간 매매 이니 혹 다르게 동작 하지 않을가 걱정 됩니다.
물론 슬리피지는 인정 하구요.
프로그램을 전체적으로 어떻게 작성 하였나도 보아야 겠지만
먼저 위 에 제시한 익절,손절 만 놓고 볼때 .....
결과치의 다른점은 없는지 궁금 합니다....
수고 하십시요.