MetaTrader 5 / 라이브러리

MQL5용 StopLoss 후행 클래스 라이브러리 - MetaTrader 5용 라이브러리

78
(5)

트레이딩 로봇에서 다양한 스톱로스 추적 전략을 구현하기 위한 범용 클래스 라이브러리. 이 라이브러리를 사용하면 가격과의 고정 거리뿐만 아니라 인기 지표인 파라볼 릭 SAR, AMA, DEMA, FRAMA, MA, TEMA, VIDYA 및 임의의 레벨 값으로 오픈 포지션의 손절매를 유연하게 관리할 수 있습니다.

이 라이브러리는 여러 유형의 다양한 손절매 추적손실을 MQL5 Expert Advisor에 추가할 수 있는 편리한 방법을 제공합니다. 필요한 클래스를 연결하고 매개변수를 구성한 다음 OnTick()에서 Run() 메서드를 호출하기만 하면 됩니다.

헤더

#include <Trailings\Trailings.mqh>

클래스 구조

클래스 목적 사용 예제
CSimpleTrailing 가격 후행의 베이스 클래스(단순 후행)
//--- 연결  #include <Trailings\Trailings.mqh> //--- 전 세계 CSimpleTrailing trail; //--- In OnInit(): trail.SetSymbol(_Symbol); trail.SetMagicNumber(123); trail.SetStopLossOffset(100); trail.SetActive(true); //--- In OnTick(): trail.Run();

CTrailingByInd 인디케이터별 후행의 베이스 클래스 상속된 클래스에서 사용
CTrailingBySAR 파라볼릭 SAR 인디케이터에 의한 후행
//--- 연결  #include <Trailings\Trailings.mqh> //--- 전 세계 CTrailingBySAR trailSAR; //--- In OnInit(): trailSAR.Initialize(_Symbol, PERIOD_M15, 0.02, 0.2); trailSAR.SetActive(true); //--- In OnTick(): trailSAR.Run();

CTrailingByAMA 적응 이동 평균에 의한 후행
//--- 연결  #include <Trailings\Trailings.mqh> //--- 전 세계 CTrailingByAMA trailAMA; //--- In OnInit(): trailAMA.Initialize(_Symbol, PERIOD_H1, 9, 2, 30, 0, PRICE_CLOSE); trailAMA.SetActive(true); //--- In OnTick(): trailAMA.Run();

CTrailingByDEMA 이중 지수 이동 평균 후행
//--- 연결  #include <Trailings\Trailings.mqh> //--- 전 세계 CTrailingByDEMA trailDEMA; //--- In OnInit(): trailDEMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE); trailDEMA.SetActive(true); //--- In OnTick(): trailDEMA.Run();

CTrailingByFRAMA 프랙탈 적응 이동 평균 후행
//--- 연결  #include <Trailings\Trailings.mqh> //--- 전 세계 CTrailingByFRAMA trailFRAMA; //--- In OnInit(): trailFRAMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE); trailFRAMA.SetActive(true); //--- In OnTick(): trailFRAMA.Run();

CTrailingByMA 후행 이동 평균
//--- 연결  #include <Trailings\Trailings.mqh> //--- 전 세계 CTrailingByMA trailMA; //--- In OnInit(): trailMA.Initialize(_Symbol, PERIOD_H1, 20, 0, MODE_EMA, PRICE_CLOSE); trailMA.SetActive(true); //--- In OnTick(): trailMA.Run();

CTrailingByTEMA 후행 삼중 지수 이동 평균
//--- 연결  #include <Trailings\Trailings.mqh> //--- 전 세계 CTrailingByTEMA trailTEMA; //--- In OnInit(): trailTEMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE); trailTEMA.SetActive(true); //--- In OnTick(): trailTEMA.Run();

CTrailingByVIDYA 후행 변수 인덱스 동적 평균
//--- 연결  #include <Trailings\Trailings.mqh> //--- 전 세계 CTrailingByVIDYA trailVIDYA; //--- In OnInit(): trailVIDYA.Initialize(_Symbol, PERIOD_H1, 9, 12, 0, PRICE_CLOSE); trailVIDYA.SetActive(true); //--- In OnTick(): trailVIDYA.Run();

CTrailingByValue 지정된 레벨의 후행
//--- 연결  #include <Trailings\Trailings.mqh> //--- 전 세계 CTrailingByValue trailValue; //--- In OnInit(): trailValue.SetSymbol(_Symbol); trailValue.SetActive(true); //--- In OnTick(): trailValue.Run(customSLBuy, customSLSell);


파라미터 설정

  • SetSymbol(심볼) - 트레이딩 심볼 설정;
  • SetMagicNumber(magic) - 매직넘버 설정;
  • SetStopLossOffset(오프셋) - 가격/지표에서 스톱로스 오프셋을 설정합니다;
  • SetTrailingStart(시작) - 추적손절매 활성화를 위한 최소 수익 설정;
  • SetTrailingStep(step) - 스톱로스 이동 단계 설정;
  • SetSpreadMultiplier(value) - 스톱레벨의 스프레드 배율 설정;
  • SetActive(flag) - 트레일링 활성화/비활성화.

인디케이터 클래스의 경우 - 추가 인디케이터 매개변수(기간, 가격 유형, 방법 등).

다음은 연결된 파라볼릭 SAR 트롤이 표준 Expert Advisor \MQL5\Experts\Advisors\ExpertMACD.mq5와 함께 작동하는 예시입니다:


이 트롤에 대한 자세한 내용은 다음 문서에서 확인할 수 있습니다.

  1. 파라볼릭 SAR 인디케이터에 추적손절 추가하는 방법
  2. 모든 유형의 트레일링 스톱을 만들고 전문가 어드바이저에 연결하는 방법

Trailings.mqh는 MQL5 Expert Advisor에 추적 손절매를 추가하는 쉬운 방법입니다.
필요한 클래스를 연결하고 매개변수를 구성한 다음 OnTick에서 *.Run()을 호출합니다.

EA에 포지션을 열거하는 주기가 있는 경우 선택한 포지션의 티켓으로 후행의 Run() 메서드를 호출할 수 있습니다:

Run(const ulong pos_ticket);

일반적인 간단한 경우에는 OnTick() 핸들러에서 그렇게 할 수 있습니다:

for(int i=PositionsTotal()-1; i>=0; i--)   {    trailing_simple.Run(PositionGetTicket(i));   } 



MetaQuotes Ltd에서 러시아어로 번역함.
원본 코드: https://www.mql5.com/ru/code/63926