일단 메타트레이더를 설치하면 기본적으로 제공되는 전략들이 있다.
이평선이나 macd를 활용한 전략 등
일단 Moving Average(이평선)를 활용한 소스가 어떤식으로 굴러가는지 궁금했다.
열자마자 보이는건 선언값들 어쩌구 저쩌구
OnInit() -> 처음 시작할때 올라오는 프로그램 같고..
OnTick() -> 매 틱마다 동작하는 프로그램 같다.
oninit은 ExtHedging, ExtTrade, ExtHandle 라는 값들에 해당 차트와 내 계좌 정보를 넣어준다.
이부분은 새로 뭘 만들더라도 괜찮게 쓸만할 거 같다.
ontick이 실제 동작하며 매매하는 것으로 보이고
if(SelectPosition())
CheckForClose();
else
CheckForOpen();
딱 이렇게만 보인다.
흠..
그래서 SelectPosition()부터 좀 보면
PositionsTotal()이 먼저 보인다. 현재 내가 가진 포지션을 다 가져오는거 같다.
대충 보니까 이것도 그대로 갖다 써도 되지 않을까?
어쨌든 매 틱마다 하는 일은
매수 혹은 매도 진입한 포지션이 있으면 청산하고 없으면 새로 만든다.
이정도로 보인다.
소스는 생각보다 더 단순한 것 같다.
이걸 응용하면 매틱마다 매수 혹은 매도하는걸 만들 수 있지 않을까.
신호를 어떤 기준으로 만들어낼지 연구하면 될 것 같다.
문득 생각난게
혹시 매수한게 있을때 혹시 이게 떨어져서 손절해야 하는 상황이라면 청산하고 매도 포지션을 새로 잡아야되나
아님 현재 포지션에서 물타기를 해야되나.
뭐 이런 기법적인 부분은 생각하기도 어렵지만 이런 경우는 소스상으로도 꽤 복잡할 것 같다.
그래서 이 소스에선 어떤 기준으로 매수하고 매도하는지 확인해보려고 했는데
이 소스 그대로 돌리기에 시뮬레이션 결과가 처참해서 차마 이걸 분석하는건 시간이 아깝다는 생각이 들었다.
macd쪽 시뮬레이션 결과는 기간에 따라 다르지만 생각보다 괜찮았다.
시뮬레이션 관련은 다음에..
'system trading > 기법 관련' 카테고리의 다른 글
전략별 관점의 차이 (0) | 2020.05.02 |
---|