안녕하세요, 트레이더 여러분! 오늘은 MTC 컴보에 대해 알아보려고 합니다. 이 EA는 여러분의 거래 전략에 큰 도움이 될 수 있는데요, 특히 메타트레이더 5에서 활용할 수 있습니다.
EA의 목표
우선, 기본 거래 시스템(BTS)을 기반으로 한 거래를 다룰 것입니다. 우리는 신경망(NN)을 설계하고 훈련시켜 BTS를 보완할 수 있도록 해야 합니다. 이렇게 하면 BTS와 NN이 결합된 새로운 거래 시스템을 얻게 됩니다.
이미 발명된 바퀴를 다시 만들 필요는 없습니다. 빠르게 달리는 방법을 가르치는 것보다는 차를 사용하는 것이 더 효율적이죠. 트렌드 TS가 있다면, 신경망에는 오직 반트렌드 전략만을 가르치는 것이 필요합니다. 트렌드 시스템은 플랫한 시장에서 거래할 수 없고, 롤백이나 반전도 제대로 파악하지 못하기 때문입니다.
신경망 훈련 프로세스
신경망 훈련은 세 단계로 나누어집니다. 각 단계에서 하나의 퍼셉트론을 훈련시키게 되며, 최적화된 BTS가 각 단계에서 퍼셉트론에게 어떤 작업을 수행할 수 있는지 알려줍니다.
신경망의 훈련이 유전 알고리즘을 이용해 이루어지며, 각 단계는 논리적으로 일관되고, 신경망의 크기도 적당하여 최적화 과정이 합리적인 시간 내에 이루어집니다.
신경망 최적화 및 훈련 준비하기
신경망 최적화와 훈련을 시작하기 전에 몇 가지 준비를 해야 합니다. 먼저, 테스터에서 초기 입금을 $100으로 설정하세요. 이는 최적화 중 인위적인 마진 콜을 방지하기 위함입니다.
EA 속성의 Inputs 탭으로 이동하여 lots ID의 값을 0.01로 설정합니다. 최적화는 Open prices only 모델에 따라 수행되며, 이 방법은 속도가 빠르기 때문에 선택되었습니다.
최적화 단계
첫 번째 단계: BTS 최적화
- pass를 1로 설정합니다.
- 첫 번째 단계에 해당하는 입력만 최적화 마크를 설정하고 나머지는 제거합니다.
- tp1 - BTS 테이크 프로핏: 100에서 1000까지 10씩 설정
- sl1 - BTS 스톱 로스: 100에서 1000까지 10씩 설정
- p1 - BTS에 적용되는 CCI 오실레이터 기간: 3에서 100까지 1씩 설정
유전 알고리즘 최적화를 통해 훈련을 시작합니다.
두 번째 단계: 숏 포지션을 위한 퍼셉트론 훈련
- pass 입력을 2로 설정합니다.
- 이전 단계에서 설정한 최적화 마크를 제거합니다.
- 두 번째 단계의 매개변수에 대해 최적화 마크를 설정합니다.
- x12, x22, x32, x42 - 숏 포지션을 인식하는 퍼셉트론의 가중치 비율: 0에서 200까지 1씩 설정
- tp2 - 퍼셉트론이 열어놓은 포지션의 테이크 프로핏: 100에서 1000까지 10씩 설정
- sl2 - 퍼셉트론이 열어놓은 포지션의 스톱 로스: 100에서 1000까지 10씩 설정
- p2 - 퍼셉트론이 분석하는 가격 차이의 기간: 3에서 100까지 1씩 설정
유전 알고리즘 최적화를 통해 훈련을 시작합니다.
세 번째 단계: 롱 포지션을 위한 퍼셉트론 훈련
- pass 입력을 3으로 설정합니다.
- 이전 단계에서 설정한 최적화 마크를 제거합니다.
- 세 번째 단계의 매개변수에 대해 최적화 마크를 설정합니다.
- x13, x23, x33, x43 - 롱 포지션을 인식하는 퍼셉트론의 가중치 비율: 0에서 200까지 1씩 설정
- tp3 - 퍼셉트론이 열어놓은 포지션의 테이크 프로핏: 100에서 1000까지 10씩 설정
- sl3 - 퍼셉트론이 열어놓은 포지션의 스톱 로스: 100에서 1000까지 10씩 설정
- p3 - 퍼셉트론이 분석하는 가격 차이의 기간: 3에서 100까지 1씩 설정
유전 알고리즘 최적화를 통해 훈련을 시작합니다.
마지막 단계: 첫 번째 레이어 훈련
- pass 입력을 4로 설정합니다.
- 이전 단계에서 설정한 최적화 마크를 제거합니다.
- 네 번째 단계의 매개변수에 대해 최적화 마크를 설정합니다.
- x14, x24, x34, x44 - 첫 번째 레이어 퍼셉트론의 가중치 비율: 0에서 200까지 1씩 설정
- p4 - 퍼셉트론이 분석하는 가격 차이의 기간: 3에서 100까지 1씩 설정
유전 알고리즘 최적화를 통해 훈련을 시작합니다.
이로써 신경망 훈련이 완료되었습니다!
EA는 다른 EA나 수동으로 열어놓은 주문들과 구별할 수 있는 고유한 매직 넘버를 가진 'mn' 입력도 포함되어 있습니다. 이 매직 넘버는 반드시 유일해야 합니다.
P.S.
- 초기 입금은 절대 드로우다운의 두 배로 설정됩니다.
- EA의 소스 코드는 최적화되지 않았습니다.
- 기본TradingSystem() 함수의 내용을 변경하여 다른 거래 시스템의 알고리즘으로 교체할 수 있습니다.
- 이전 주의 결과가 손실이었을 경우 주말에 EA를 다시 최적화하세요. 손실은 시장 변화의 신호이며, 재최적화의 필요성을 나타냅니다. EA가 수익을 내고 있다면, 시장 패턴을 잘 인식하고 있으므로 재최적화는 필요 없습니다.