거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Facebook에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
조회수:
27
평가:
(9)
게시됨:
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

전문가 어드바이저 매개변수(입력)

EA는 사용자가 동작을 제어하기 위해 수정할 수 있는 몇 가지 외부 매개변수를 제공합니다:

일반 파라미터

파라미터 유형 설명
MagicNumber int EA의 거래에 대한 고유 식별자입니다.
InitialLot double 시리즈의 첫 번째 거래에 대한 시작 랏 크기입니다.
AllowBuy bool EA가 매수 거래(이니셜 및 마틴게일)를 열 수 있도록 허용하는 플래그입니다.
AllowSell bool EA가 매도 거래(이니셜 및 마틴게일)를 열 수 있도록 허용하는지 플래그.
TakeProfit int 지정가 주문을 할 때 사용되는 포인트/핍 단위의 고정 테이크프로핏입니다(시장가 체결용은 아님).
FindHighLowBackBars int 초기 지정가 주문의 최고 고점과 최저 저점을 결정하기 위해 되돌아볼 이전 바의 수입니다.
ResetAfterBars int 초기 지정가 주문이 삭제되고 재평가되는 바의 수입니다(미체결 포지션이 없는 경우).

마틴게일 전략

파라미터 유형 설명
리버스 마틴게일 bool 참이면 후속 마틴게일 거래는 시리즈의 마지막 거래와 반대 방향으로 진행됩니다(일반적으로 안티 마틴게일 또는 헤징 접근 방식이지만 거짓이면 코드가 같은 방향으로 열립니다 ). 현재 로직은 ReverseMartingale이 거짓인 경우 같은 방향으로 개장하도록 제안합니다.
LotMultiplier double 손실 발생 시리즈의 다음 거래에 대해 랏 크기를 곱하는 계수(예: 2 .0은 랏을 두 배로 늘린다는 의미).
SecureProfitMartingaleTarget double 전체 오픈 거래 시리즈가 청산되는 총 유동 수익 (계좌 통화 기준)입니다.
거리 마틴게일 핍 int 새 마틴게일 거래가 개시되기 전에 가격이 마지막 거래의 시가와 비교하여 이동해야 하는 거리(핍 단위)입니다.
시리즈 내 최대 거래 int 단일 마틴게일 시리즈에서 허용되는 최대 거래 횟수입니다.

시간 전략

파라미터 유형 설명
AllowMonday... AllowFriday bool 특정 요일에 거래를 활성화 또는 비활성화할지 여부를 플래그합니다.
ForbiddenDates 문자열 거래가 금지된 날짜의 쉼표로 구분된 목록(형식: YYYY.MM.DD)입니다.

핵심 함수 개요

OnInit() (초기화)

EA의 매직넘버, 마진 모드, 편차를 설정합니다. 마틴게일 상태 변수(s_currentLot , s_totalTradesInSeries 등)를 초기값으로 재설정하여 새로운 시작을 준비합니다.

OnDeinit() (초기화)

EA가 중지되거나 제거될 때 메시지를 출력하는 간단한 정리 함수입니다.

IsTradingDateAllowed() 및 IsTradingDayAllowed() (거래 필터)

이 함수는 현재 요일과 날짜를 사용자 정의 입력(AllowMonday ~ AllowFriday 및 ForbiddenDates)과 비교하여 거래가 허용되는지 여부를 확인합니다.

OpenTradeLogic(ENUM_ORDER_TYPE 유형, 문자열 tradeComment) (시장가 체결)

이 함수는 새 시장가 포지션(매수 또는 매도) 개설을 처리합니다.

  1. 브로커의 최소, 최대, 스텝 사이즈에 대해 랏 크기를 검증하고 정규화합니다.

  2. CheckMargin()을 사용하여 충분한 여유 마진이 있는지 확인합니다.

  3. 고정된 테이크프로핏 또는 스톱로스 없이 거래를 체결합니다(tp_calculated는 0).

  4. 글로벌 마틴게일 상태 변수를 업데이트합니다: s_currentLot , s_lastOpenPrice , s_seriesType , 및 s_totalTradesInSeries .

CloseAllPositions()

현재 개설된 모든 포지션을 반복하여 이 EA가 개설한 모든 포지션(매직넘버와 일치)을 청산합니다.

PendingOrders(ENUM_ORDER_TYPE 유형, 더블 가격, 더블 lotSize, 문자열 코멘트) (지정가 주문)

이 함수는 매수 지정가 또는 매도 지정가 주문을 접수합니다:

  1. 랏 크기를 검증하고 충분한 증거금을 확인합니다.

  2. 브로커의 최소 거리(SYMBOL_TRADE_STOPS_LEVEL)에 대해 진입가를 검증합니다.

  3. 테이크프로핏 입력값에 따라 고정 테이크프로핏(tp)을 계산합니다.

  4. 거래 요청을 전송합니다. 참고: UpdateHighLowAndOrders 함수는 이 함수를 호출하여 초기 매수 제한 및 매도 제한 주문을 설정합니다.

UpdateHighLowAndOrders() (초기 진입 로직)

오픈 포지션이 없을 때 초기 진입 메커니즘입니다:

  1. FindHighLowBackBars를 되돌려 최고 고점과 최저 저점을 찾습니다.

  2. 가격 매도 제한(최고 고가 + 1틱)과 가격 매수 제한(최저 저가 - 1틱)을 계산합니다.

  3. EA의 매직넘버로 매수제한 및 매도제한 주문이 이미 존재하는지 확인합니다.

  4. 최근 최고 고점 바로 위에 초기 매도 제한 주문을, 최근 최저 저점 바로 아래에 매수 제한 주문을 각각 InitialLot 을 사용하여 설정합니다.

OnTick() (주요 로직)

EA의 실행 로직의 핵심입니다:

  1. 시간 확인: 동일한 틱에서 중복 계산을 방지합니다.

  2. 필터 확인: 요일/날짜별로 거래가 허용되지 않는 경우 보류 중인 주문을 모두 삭제합니다.

  3. 수익 목표 확인(시리즈 종료): eaHasOpenPositions가 참이고 totalFloatingProfit이 SecureProfitMartingaleTarget인 경우 CloseAllPositions()를 호출하고 모든 마틴게일 상태 변수를 재설정하여 새 시리즈를 시작합니다.

  4. 초기 주문 배치:!.eaHasOpenPositions가 있고 거래가 허용되면 마틴게일 상태를 재설정하고 새 막대가 형성되었는지 확인합니다.

    • 새 바가 형성된 경우, 바 카운트가 ResetAfterBars인지 확인합니다. 그렇다면 보류 중인 주문을 삭제하고 UpdateHighLowAndOrders()를 호출하여 새로운 초기 주문을 넣습니다. 그렇지 않으면 UpdateHighLowAndOrders()만 호출합니다.

  5. 마틴게일 단계 로직: eaHasOpenPositions가 참이고 s_totalTradesInSeries가 $< MaxTradesInSeries`인 경우:

    • 총 플로팅 수익이 음수이고 가격이 마지막 미체결 거래 대비 최소 DistanceMartingalePips만큼 이동했는지 확인합니다.

    • 두 조건이 모두 충족되면 s_currentLot에 LotMultiplier 를 곱하여 다음Lot을 계산합니다.

    • 주문 개시 방향(계열과 같은 방향 또는 ReverseMartingale에 따라 반대 방향)을 결정합니다.

    • OpenTradeLogic()을 호출하여 곱해진 새 포지션을 열어 마틴게일 시리즈를 이어갑니다.


전략 요약

"바비 엔게펫" EA는 위험하지만 잠재적으로 높은 수익을 낼 수 있는 마틴게일 전략을 브레이크아웃/레인지 반전 초기 진입과 결합하여 구현합니다:

  1. 초기 진입: EA는 초기 매수 제한 (최근 저점 아래)과 매도 제한 (최근 고점 위)을 설정합니다. 이는 가격이 저점까지 하락하면 매수, 고점까지 상승하면 매도를 진입하는 등 박스권 움직임 에 대한 초기 가정을 제시합니다.

  2. 거래 관리: 초기 거래 중 하나가 트리거되고 포지션이 총 손실(마이너스 변동 이익)로 전환되고 가격이 정의된 거리만큼 오픈 포지션에 대해 계속 움직이면 EA는 더 큰 랏 크기로 같은 방향으로 새 포지션을 엽니다(마틴 게일).

  3. 종료 전략: 일련의 거래는 시리즈의 모든 거래의 총 부동 수익이 SecureProfitMartingaleTarget에 도달할 때까지 계속해서 랏 크기를 늘리고, 이 시점에서 모든 포지션이 청산되고 EA는 새로운 시리즈로 재설정됩니다.

경고: 마틴게일 전략은 손실이 발생할 때마다 로트 크기가 증가하기 때문에 손실이 크고 원금 손실 위험이 높은 것으로 알려져 있습니다.


MetaQuotes Ltd에서 영어로 번역함.
원본 코드: https://www.mql5.com/en/code/64444

UtterFractals UtterFractals

이 지표는 표준 "프랙탈" 및 모든 종류의 지그재그와 달리 "내부 시장 구조"를 가능한 한 실제 시장 구조에 가깝게 보여줍니다.

이퀼리브리엄-2011 이퀼리브리엄-2011

위험 제한이 있는 다중 통화 "그리더"(자동매매 챔피언십 2011에서 발표되고 업데이트된 버전).

확률 이론 전문가 외환 트레이딩 어드바이저 확률 이론 전문가 외환 트레이딩 어드바이저

확률 이론 어드바이저

프랙탈 레벨 프랙탈 레벨

프랙탈 레벨 표시기는 프랙탈을 사용하여 만든 채널을 표시합니다.