주문을 넣고 갑자기 자리를 비워야 한다면, 당황하지 마세요! 이 EA는 초기 손절매를 설정해주며 (아직 설정하지 않았다면), 여러분의 포지션이 설정한 수익 임계값에 도달하면 TradeProtector가 비례적 트레일링 스탑을 적용하기 시작합니다.
이 EA의 아이디어는 다음과 같은 상황에서 떠올랐습니다: 포지션을 열었는데 갑자기 자리를 비워야 했습니다. 적당한 SL을 설정했지만, 그 사이에 제 포지션이 40 핍의 수익을 기록한 후 시장이 반전되면서 초기 SL이 걸려 소소한 - 하지만 불필요한 손실을 보게 되었습니다.
저는 트레일링 스탑을 좋아하지 않는데요, 왜냐하면 추세가 좋을 때, 예를 들어 몇 시간 후에 120 핍의 수익이 발생했을 때, 초기에는 합리적이었던 35 핍의 트레일링 스탑이 38%의 조정이 들어오면 좋은 거래를 망칠 수 있기 때문입니다.
그래서 저는 비례적 트레일링 스탑을 선호합니다. 이는 다음의 공식을 통해 계산됩니다:
ProportionalSL = | 현재가 - 주문열린가 | x 비율 - 스프레드
예를 들어 비율을 55%로 설정한다고 가정해봅시다. 위의 예시에서는 약 15 핍의 수익을 보장받게 되는데, 이는 아무것도 없는 것보다 낫습니다. 하지만 추세가 계속된다면 40% 조정(0.38 피보나치)에서도 제 거래는 멈추지 않을 것입니다.
또한 제가 확신하지 못하는 부분이 있지만, 기본적으로는 꺼져 있습니다. 이를 '탈출(Escape)'이라고 부르며, 여러분의 거래가 상당한 손실에 도달했을 때, 아주 작은 수익이나 그보다 적은 손실로 종료하고 싶을 것입니다. 이 기능을 활성화하고 싶은 손실 수준을 설정할 수 있으며, 이후에는 여러분이 기꺼이 거래를 종료하고 싶은 수익 또는 손실을 설정할 수 있습니다. 대부분의 경우, 손절매가 적절하게 설정되어 있다면 이 기능은 필요하지 않겠지만, 혹시 모를 상황을 대비해 코드에 남겨두었습니다.
자, 이제 시작해봅시다:
이 EA를 M1 또는 M5 차트에 적용하세요.
설정 사항:
- logging=1 - MQL4\Files 디렉토리에 로그를 남기고 싶다면;
- nTrailingStop [핍] - 초기 트레일링 스탑입니다. 여러분의 거래가 nPropSLThreshold에 도달할 때까지 사용됩니다;
- nPropSLThreshold [핍] - 이익에 도달한 후 비례적 트레일링 스탑이 사용됩니다;
- dPropSLRatio [소수] - 배수 계수 (PropSL = 이익 * dPropSLRatio - 스프레드);
- nUseEscape [1 또는 0] - 잘못된 거래를 최소한의 이익에 도달하는 즉시 탈출합니다;
- nEscapeLevel [핍] - 다음 고점에 도달하면 거래를 종료하고 싶은 손실 수준;
- nEscapeTP [핍] - 핍 단위의 이익 목표 수준 (부정적인 값을 설정하면, 상당한 부정적 핍 값에 도달했을 때 기꺼이 받을 수 있는 손실이 됩니다).
댓글 0