안녕하세요, 트레이더 여러분! 오늘은 이동평균을 활용한 시스템 트레이딩 전략에 대해 알아보겠습니다. 이동평균을 이용하여 매매 신호를 형성하는 이 EA(Expert Advisor)는 단 하나의 이동평균을 사용해요. 최근에 형성된 바에서 이동평균과 가격이 만날 때 포지션을 열고 닫습니다.
이 EA는 이동평균과 시장 가격 차트를 분석합니다. CheckForOpen() 함수를 통해 확인하며, 이동평균이 바와 만나는 방식에 따라 매수 또는 매도 포지션을 엽니다. 예를 들어, 이동평균이 오픈 가격보다 높고 클로즈 가격보다 낮으면 매수 포지션을, 반대로 오픈 가격보다 낮고 클로즈 가격보다 높으면 매도 포지션을 엽니다.
또한, 이 EA의 자금 관리 방식은 간단하면서도 효과적입니다. 각 포지션의 거래량은 이전 거래 결과에 따라 조정됩니다. LotsOptimized() 함수가 이 알고리즘을 구현합니다. 기본 롯트 사이즈는 최대 허용 리스크를 기준으로 계산되는데, 계산식은 다음과 같습니다:
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
MaximumRisk 매개변수는 각 거래의 기본 리스크 비율을 나타냅니다. 보통 0.01(1%)에서 1(100%) 사이의 값을 갖습니다. 예를 들어, 자유 마진이 $20,500이고 자본 관리 규칙에 따라 2%의 리스크를 사용해야 한다면, 기본 롯트 사이즈는 20500 * 0.02 / 1000 = 0.41이 됩니다. 롯트 사이즈의 정확성을 관리하고 결과를 허용 가능한 값으로 정규화하는 것이 매우 중요합니다. 일반적으로 0.1의 스텝으로 분수 롯트가 허용됩니다. 따라서 0.41의 거래량은 수행되지 않으며, NormalizeDouble() 함수를 사용하여 소수점 아래 1자리까지 정규화합니다. 이 결과로 기본 롯트는 0.4가 됩니다. 자유 마진을 기반으로 한 기본 롯트 계산은 거래의 성공에 따라 거래량을 증가시킬 수 있는 장점을 제공합니다.
DecreaseFactor는 손실 거래 후 롯트 사이즈가 줄어드는 비율입니다. 정상적인 값은 2, 3, 4, 5입니다. 이전 거래가 손실이었을 경우, 다음 거래의 거래량은 DecreaseFactor에 따라 줄어들어 손실 기간을 견딜 수 있도록 합니다. 이 알고리즘은 손실 거래가 발생할 경우 리스크를 효과적으로 줄이는 데 도움을 줍니다.
마지막으로, 이 EA는 주로 일간 차트에서 작업하도록 설계되었으며, 테스트 모드에서는 종가에서 수행됩니다. 새로운 바의 오프닝에서만 거래를 하기 때문에 모든 틱 모델링 모드는 필요하지 않습니다.
이제 이동평균 전략을 통해 더욱 효과적으로 트레이딩을 해보세요! 궁금한 점이 있으면 댓글로 남겨주세요!