당사 팬 페이지에 가입하십시오
- 조회수:
- 27
- 평가:
- 게시됨:
-
이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동
전문가 어드바이저 매개변수(입력)
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) (시장가 체결)
이 함수는 새 시장가 포지션(매수 또는 매도) 개설을 처리합니다.
-
브로커의 최소, 최대, 스텝 사이즈에 대해 랏 크기를 검증하고 정규화합니다.
-
CheckMargin()을 사용하여 충분한 여유 마진이 있는지 확인합니다.
-
고정된 테이크프로핏 또는 스톱로스 없이 거래를 체결합니다(tp_calculated는 0).
-
글로벌 마틴게일 상태 변수를 업데이트합니다: s_currentLot , s_lastOpenPrice , s_seriesType , 및 s_totalTradesInSeries .
CloseAllPositions()
현재 개설된 모든 포지션을 반복하여 이 EA가 개설한 모든 포지션(매직넘버와 일치)을 청산합니다.
PendingOrders(ENUM_ORDER_TYPE 유형, 더블 가격, 더블 lotSize, 문자열 코멘트) (지정가 주문)
이 함수는 매수 지정가 또는 매도 지정가 주문을 접수합니다:
-
랏 크기를 검증하고 충분한 증거금을 확인합니다.
-
브로커의 최소 거리(SYMBOL_TRADE_STOPS_LEVEL)에 대해 진입가를 검증합니다.
-
테이크프로핏 입력값에 따라 고정 테이크프로핏(tp)을 계산합니다.
-
거래 요청을 전송합니다. 참고: UpdateHighLowAndOrders 함수는 이 함수를 호출하여 초기 매수 제한 및 매도 제한 주문을 설정합니다.
UpdateHighLowAndOrders() (초기 진입 로직)
오픈 포지션이 없을 때 초기 진입 메커니즘입니다:
-
FindHighLowBackBars를 되돌려 최고 고점과 최저 저점을 찾습니다.
-
가격 매도 제한(최고 고가 + 1틱)과 가격 매수 제한(최저 저가 - 1틱)을 계산합니다.
-
EA의 매직넘버로 매수제한 및 매도제한 주문이 이미 존재하는지 확인합니다.
-
최근 최고 고점 바로 위에 초기 매도 제한 주문을, 최근 최저 저점 바로 아래에 매수 제한 주문을 각각 InitialLot 을 사용하여 설정합니다.
OnTick() (주요 로직)
EA의 실행 로직의 핵심입니다:
-
시간 확인: 동일한 틱에서 중복 계산을 방지합니다.
-
필터 확인: 요일/날짜별로 거래가 허용되지 않는 경우 보류 중인 주문을 모두 삭제합니다.
-
수익 목표 확인(시리즈 종료): eaHasOpenPositions가 참이고 totalFloatingProfit이 ≥ SecureProfitMartingaleTarget인 경우 CloseAllPositions()를 호출하고 모든 마틴게일 상태 변수를 재설정하여 새 시리즈를 시작합니다.
-
초기 주문 배치:!.eaHasOpenPositions가 있고 거래가 허용되면 마틴게일 상태를 재설정하고 새 막대가 형성되었는지 확인합니다.
-
새 바가 형성된 경우, 바 카운트가 ≥ ResetAfterBars인지 확인합니다. 그렇다면 보류 중인 주문을 삭제하고 UpdateHighLowAndOrders()를 호출하여 새로운 초기 주문을 넣습니다. 그렇지 않으면 UpdateHighLowAndOrders()만 호출합니다.
-
-
마틴게일 단계 로직: eaHasOpenPositions가 참이고 s_totalTradesInSeries가 $< MaxTradesInSeries`인 경우:
-
총 플로팅 수익이 음수이고 가격이 마지막 미체결 거래 대비 최소 DistanceMartingalePips만큼 이동했는지 확인합니다.
-
두 조건이 모두 충족되면 s_currentLot에 LotMultiplier 를 곱하여 다음Lot을 계산합니다.
-
주문 개시 방향(계열과 같은 방향 또는 ReverseMartingale에 따라 반대 방향)을 결정합니다.
-
OpenTradeLogic()을 호출하여 곱해진 새 포지션을 열어 마틴게일 시리즈를 이어갑니다.
-
전략 요약
"바비 엔게펫" EA는 위험하지만 잠재적으로 높은 수익을 낼 수 있는 마틴게일 전략을 브레이크아웃/레인지 반전 초기 진입과 결합하여 구현합니다:
-
초기 진입: EA는 초기 매수 제한 (최근 저점 아래)과 매도 제한 (최근 고점 위)을 설정합니다. 이는 가격이 저점까지 하락하면 매수, 고점까지 상승하면 매도를 진입하는 등 박스권 움직임 에 대한 초기 가정을 제시합니다.
-
거래 관리: 초기 거래 중 하나가 트리거되고 포지션이 총 손실(마이너스 변동 이익)로 전환되고 가격이 정의된 거리만큼 오픈 포지션에 대해 계속 움직이면 EA는 더 큰 랏 크기로 같은 방향으로 새 포지션을 엽니다(마틴 게일).
-
종료 전략: 일련의 거래는 시리즈의 모든 거래의 총 부동 수익이 SecureProfitMartingaleTarget에 도달할 때까지 계속해서 랏 크기를 늘리고, 이 시점에서 모든 포지션이 청산되고 EA는 새로운 시리즈로 재설정됩니다.
경고: 마틴게일 전략은 손실이 발생할 때마다 로트 크기가 증가하기 때문에 손실이 크고 원금 손실 위험이 높은 것으로 알려져 있습니다.
MetaQuotes Ltd에서 영어로 번역함.
원본 코드: https://www.mql5.com/en/code/64444
UtterFractals
이 지표는 표준 "프랙탈" 및 모든 종류의 지그재그와 달리 "내부 시장 구조"를 가능한 한 실제 시장 구조에 가깝게 보여줍니다.
이퀼리브리엄-2011
위험 제한이 있는 다중 통화 "그리더"(자동매매 챔피언십 2011에서 발표되고 업데이트된 버전).