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

닛케이 225 갭 지속형 Expert Advisor

닛케이 225 갭 지속 EA는 MetaTrader 5용 교육용 Expert Advisor입니다. 이 EA는 닛케이 225 현물 시장의 시가 갭을 분석하고, 초기 가격 범위가 형성된 후 지속 매매 기회를 탐색합니다. 이 전략은 상승 갭과 하락 갭 모두를 처리할 수 있으며, 세션 VWAP를 추가 확인 필터로 사용합니다.

이 프로그램에는 자동 포지션 사이즈 조정, 스프레드 보호, 부분 익절, 손익분기점 관리 및 시간 기반 안전 청산 기능이 포함되어 있습니다. 네팅 및 헤징 계좌를 모두 지원합니다. 모든 중요한 결정 사항은 차트에 표시될 수 있으며, 분석을 위해 전문가 자문 로그에 기록됩니다.


전략 개요

매 거래일 시작 시, EA는 유효한 현물 세션 일정을 계산합니다. 자동 모드에서는 일본 표준시(JST)가 Darwinex 서버 시간으로 변환되며, 여기에는 서버의 일광 절약 시간 조정도 포함됩니다. 다른 브로커를 위한 수동 서버 시간 모드도 사용할 수 있습니다.

이 EA는 이전 현금 세션의 종가를 가져와 현재 세션의 시가와 비교합니다. 절대 시가 갭이 설정된 임계값보다 작으면 세팅이 생성되지 않습니다. 상승 갭은 매수(BUY) 세팅을, 하락 갭은 매도(SELL) 세팅을 활성화할 수 있습니다.

세션이 개장한 후, EA는 1분 봉을 기반으로 개장 범위를 구축합니다. 또한 가능한 경우 실제 거래량을, 그렇지 않을 경우 틱 거래량을 사용하여 세션 VWAP를 계산합니다. 진입 전에 초기 개장 갭의 절반 이상이 메워지면 세팅이 취소됩니다.

nikkei225_갭_연속_워크플로우

그림 1. Expert Advisor가 사용하는 의사결정 과정.

진입 조건

매수(BUY) 거래의 경우, 세션이 적격 강세 갭으로 시작되어야 합니다. 이후 가격은 개장 범위 고점을 상향 돌파하고 현재 세션의 VWAP 이상으로 유지되어야 합니다. 손절매(stop-loss)는 선택적 스톱 버퍼와 브로커의 최소 스톱 거리를 포함하여 개장 범위 저점 아래에 설정됩니다.

매도(SELL) 거래의 경우, 세션이 적격 강세 갭으로 시작되어야 합니다. 가격은 개장 범위 최저가를 하향 돌파한 후 VWAP 아래에 머물러야 합니다. 손절매 주문은 개장 범위 최고가 위에 설정됩니다. 거래일당 하나의 전략 진입만 허용됩니다.

  • 강세 갭: 개장 범위와 VWAP을 상향 돌파할 때 매수 진입.
  • 하락 갭: 개장 범위 및 VWAP을 하향 돌파 시 매도.
  • 진입 전 갭의 메움 비율이 50% 미만이어야 합니다.
  • 스프레드는 설정된 두 가지 스프레드 필터를 모두 통과해야 합니다.
  • 돌파는 진입 마감 시간 전에 발생해야 합니다.

nikkei225_갭_추세연장_매매_사례

그림 2. 매도 진입 및 청산이 포함된 약세 갭 지속 패턴의 예시.

위험 및 포지션 관리

기본적으로 포지션 규모는 계좌 자산, 선택한 위험 비율, 진입가와 손절가 간의 가격 차이를 바탕으로 계산됩니다. EA는 OrderCalcProfit 함수를 호출하여 랏당 예상 손실을 계좌 통화로 표시합니다. 이는 브로커마다 틱 값과 호가 통화가 다를 수 있는 지수 CFD 거래에 유용합니다.

위험 기반 규모 설정 대신 고정 롯 크기를 선택할 수 있습니다. 계산된 거래량은 항상 브로커의 거래량 단위로 반올림되며, 최소 및 최대 거래량 범위 내에서 허용되는지 확인됩니다. 브로커의 최소 롯 크기가 허용된 위험 한도를 초과할 경우, 당일 설정은 취소됩니다.

가격이 부분 목표가에 도달하면, EA는 설정된 비율만큼 포지션을 청산합니다. 그런 다음 손절가를 진입 가격으로 이동시킬 수 있습니다. 남은 포지션은 최종 R-배수 목표가를 향해 관리되거나, 현물 거래 세션이 종료되기 전에 청산됩니다.

주요 입력 그룹

입력 그룹 목적
현물 세션 세션 시간 모드, 현물 거래 시간, 개장 범위 지속 시간, 진입 마감 시간 및 강제 청산.
매수(BUY) - 강세 갭 매수(BUY) 설정을 활성화하고 최소 강세 개장 갭을 정의합니다.
매도 - 약세 갭 매도(SELL) 설정을 활성화하고 최소 약세 개장 갭을 정의합니다.
일반적인 신호 필터 거래량 출처, 최대 스프레드, 동적 스프레드-스톱 필터 및 스톱 버퍼.
매수 리스크 / 매도 리스크 별도의 자산 위험 설정 및 작은 하락 갭에 대한 선택적 위험 감소 기능.
거래량 및 청산 고정 랏, 최대 랏, 부분 청산, R-배수 목표가 및 손익분기점 관리.
체결 매직 넘버, 슬리피지, 차트 상태 및 진단 로그 옵션.

코드 예시: 개장 갭 계산

개장 갭은 이전 현물 세션 종가의 백분율로 측정됩니다. 결과의 부호에 따라 EA가 매수(BUY) 분기 또는 매도(SELL) 분기를 평가할지 결정됩니다.

g_gap_percent=(g_session_open_px/g_previous_close-1.0)*100.0; double minimum_gap=(g_gap_percent>0.0 ? InpMinimumBuyGapPercent : InpMinimumSellGapPercent); if(MathAbs(g_gap_percent)<minimum_gap) { g_cancelled=true; return(false); }

코드 예시: 브레이크아웃 및 VWAP 확인

방향별 진입 필터는 가격이 VWAP의 올바른 쪽에 머무르면서 개장 범위의 해당 쪽을 돌파해야 합니다.

// BUY confirmation if(!(tick.bid>g_range_high && tick.bid>g_vwap)) return; // SELL confirmation if(!(tick.ask<g_range_low && tick.ask<g_vwap)) return;

코드 예시: 위험 기반 거래량

요청된 금전적 리스크를 롯당 예상 손실로 나눕니다. 그 결과는 해당 종목의 거래량 단위로 정규화되며, 선택 사항인 최대 롯 수 설정에 따라 제한됩니다.

double risk_money=AccountInfoDouble(ACCOUNT_EQUITY)*risk_percent/100.0; if(OrderCalcProfit(order_type,_Symbol,1.0,entry,stop,calculated_profit)) loss_per_lot=MathAbs(calculated_profit); g_last_raw_volume=risk_money/loss_per_lot; if(InpMaxLots>0.0) g_last_raw_volume=MathMin(g_last_raw_volume,InpMaxLots); return(NormalizeVolumeDown(g_last_raw_volume));

설치 및 사용

  1. MQ5 파일을 MQL5\Experts 디렉터리에 복사합니다.
  2. MetaEditor에서 파일을 열고, Styler를 실행한 후 컴파일합니다.
  3. 니케이 225 지수를 나타내는 브로커 심볼에 EA를 연결합니다.
  4. 제공된 기본 설정에서는 M5 시간대를 사용하십시오.
  5. 심볼의 계약 사양과 현금 거래 시간을 확인하십시오.
  6. 자동 JST 변환을 선택하거나 서버 시간을 수동으로 설정하십시오.
  7. 위험, 거래량, 스프레드 및 청산 매개변수를 검토하십시오.
  8. 알고리즘 거래를 활성화하고 전략 테스터에서 설정을 테스트하십시오.

브로커 및 테스트 시 고려 사항

닛케이 225 심볼명, 호가 정밀도, 틱 값, 최소 거래량 및 거래 세션은 브로커마다 다릅니다. 기본 자동 세션 변환 기능은 Darwinex 서버 일정에 맞춰 설계되었습니다. 다른 브로커를 이용하는 사용자는 테스트를 실행하기 전에 수동 세션 설정을 확인해야 합니다.

이 EA는 동일한 종목에 이미 다른 포지션이 존재할 경우 신규 진입을 방지합니다. 또한 터미널 전역 변수에 필수적인 포지션 관리 데이터를 저장하여, 재연결 또는 터미널 재시작 후에도 부분 청산 및 손익분기점 관리를 복원할 수 있도록 합니다.

백테스트 결과는 데이터 품질, 스프레드 가정, 계약 사양 및 세션 정의에 민감하게 반응합니다. 백테스트 결과는 향후 성과를 보장하지 않습니다. 이 소스 코드는 교육 및 연구 목적으로 제공되며, 모든 사용자는 자신의 거래 조건에 따라 이를 검증할 책임이 있습니다.

저자

Francesc Jordi Mallol Nolden이 개발했습니다. 이 소스 코드는 MetaTrader 5용 세션 기반 개장 갭 전략의 완전한 교육용 예제로 공개되었습니다.

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

Draw On Liquidity + Kill Zone Draw On Liquidity + Kill Zone

DOL(Draw On Liquidity) 지표는 차트에 이러한 핵심 수준을 자동으로 표시하고, 세션 킬 존을 통해 성공 확률이 높은 거래 기회를 강조해 줍니다. 다양한 맞춤 설정 옵션을 통해 깔끔하고 전문적이며 정보가 풍부한 화면을 제공하여, 여러분의 거래 결정을 뒷받침합니다.

BlueMoon BlueMoon

BlueMoon EA는 EMA 엔벨로프 진입 전략을 적응형 바스켓 관리, 점진적 포지션 크기 조정, 스프레드 필터링, 손실 제한 기능, 그리고 헤징 계정을 위한 자동 거래 복구 기능과 결합한 MT5 전문가 자문가(EA)입니다.

Asian Session Breakout / BhanuCodeLab Asian Session Breakout / BhanuCodeLab

‘아시아 세션 브레이크아웃’은 아시아 거래 세션 동안 형성된 가격 범위를 파악하고, 해당 세션이 종료된 후 가격의 움직임을 모니터링합니다. ‘아시아 고가’와 ‘아시아 저가’는 브로커의 거래일이 끝날 때까지 유효합니다. 따라서 이 가격 범위는 유럽 및 미국 세션 동안 일중 지지선 및 저항선으로 유용하게 활용될 수 있습니다. 간결한 대시보드에는 현재 범위 값, 설정된 세션 시간, 돌파 상태, 돌파 확인 방법 및 확인 시간대가 표시됩니다. 이 지표는 매매를 개시하거나 관리하지 않습니다. 재량 거래나 EA 개발을 위해 시장 구조 및 돌파 정보를 제공합니다.

Basket Protective Close Basket Protective Close

Closes a basket of positions when its floating loss reaches a limit set as fixed money, a percent of balance, or a percent of equity. Scope filters by symbol or magic numbers, optional profit target, safe non blocking retries.