당사 팬 페이지에 가입하십시오
- 조회수:
- 71
- 평가:
- 게시됨:
- 2025.06.06 11:53
-
이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동
XAUUSD (금)은 높은 변동성과 수익 잠재력으로 인해 외환 시장에서 인기 있는 거래 상품입니다. 그러나 비농업 고용, 연준 금리 결정, 유럽중앙은행 발표 등 주요 경제 뉴스 이벤트는 가격 급등을 유발하여 자동매매 전략에 위험을 초래할 수 있습니다. 이러한 위험을 관리하기 위해 EA(Expert Advisor)의 뉴스 필터는 영향력이 큰 뉴스 기간 동안 거래를 일시 중지할 수 있습니다. 이 글에서는 MT5에서 XAUUSD 거래를 위한 간단한 뉴스 필터를 만드는 방법을 설명하고 시작하기 위한 실용적인 코드 예제를 공유합니다.
XAUUSD 거래에 뉴스 필터를 사용하는 이유는?
USD, GBP 또는 EUR와 관련된 뉴스 이벤트는 종종 XAUUSD 가격의 급격한 변동으로 이어집니다. 예를 들어 연준의 금리 인상 발표로 금값이 급락하여 자동매매 시스템에서 손절 또는 예기치 않은 손실이 발생할 수 있습니다. 뉴스 필터가 도움이 됩니다:
- 트레이딩 일시 중지: 주요 뉴스 이벤트 전후에 일시적으로 거래를 중단하여 변동성을 피할 수 있습니다.
- 위험 감소: 급격한 시장 변동으로부터 계좌를 보호합니다.
- 일관성 향상: 안정적인 시장 상황에서만 EA가 거래되도록 보장합니다.
다음 섹션에서는 XAUUSD 거래 전략에 뉴스 필터를 구현하는 간단한 MQL5 코드 스니펫을 제공하겠습니다.
//+------------------------------------------------------------------+ //| XAUUSD 거래를 위한 간단한 뉴스 필터| //+------------------------------------------------------------------+ #property copyright "Duy Van NGUY" #property link " https://www.mql5.com/ko/users/wazatrader" #property version "1.00" input int MinutesBeforeNews = 15; // 거래 일시정지 뉴스 몇 분 전 input int MinutesAfterNews = 15; // 거래 재개 소식 몇 분 후 // 시뮬레이션된 뉴스 시간(데모 목적으로 실제 뉴스 데이터 소스로 대체) datetime newsTimes[] = {D'2025.05.07 14:30:00'}; // 예시: 예: 2025년 5월 7일 14:30 뉴스 //+------------------------------------------------------------------+ //| 뉴스 때문에 트레이딩을 일시 중지해야 하는지 확인하기 || //+------------------------------------------------------------------+ bool IsNewsTime() { datetime currentTime = TimeCurrent(); for(int i = 0; i < ArraySize(newsTimes); i++) { datetime newsTime = newsTimes[i]; datetime startPause = newsTime - MinutesBeforeNews * 60; // 뉴스 시작 X분 전 일시정지 datetime endPause = newsTime + MinutesAfterNews * 60; // 뉴스 후 X분 후에 재개 if(currentTime >= startPause && currentTime <= endPause) { Print("News Filter: Trading paused due to upcoming news at ", newsTime); return true; // 거래 일시 중지 } } return false; // 안전한 거래 } //+------------------------------------------------------------------+ //| 전문가 초기화 기능| //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| 전문가 틱 기능| //+------------------------------------------------------------------+ void OnTick() { if(IsNewsTime()) { return; // 뉴스 시간 동안 거래 건너뛰기 } // 여기에 XAUUSD 거래 로직을 추가하세요. Print("Safe to trade XAUUSD"); } //+------------------------------------------------------------------+ //| 전문가 초기화 기능| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { // 필요한 경우 코드 정리 } //+------------------------------------------------------------------+
코드 설명
- 입력: MinutesBeforeNews 및 MinutesAfterNews를 사용하면 뉴스 이벤트 전후에 거래를 일시 중지할 시간 창(분 단위)을 정의할 수 있습니다.
- 뉴스 시간: 뉴스 시간 배열에는 미리 정의된 뉴스 이벤트 시간(예: 2025년 5월 7일 14:30)이 포함됩니다. 실제로는 경제 캘린더 API의 실제 뉴스 피드로 대체할 수 있습니다.
- 로직: IsNewsTime() 함수는 현재 시간(TimeCurrent())과 뉴스 이벤트 시간을 비교합니다. 현재 시간이 일시정지 기간에 속하면 거래가 일시정지됩니다.
- 사용법: 거래를 실행하기 전에 OnTick() 함수에서 IsNewsTime()을 호출하여 이 필터를 EA에 통합하세요.
XAU 원샷 EA MT5로 XAUUSD 거래 개선하기
위의 코드는 기본적인 뉴스 필터를 제공하지만 XAUUSD 거래를 위해 더 강력한 솔루션을 원할 수 있습니다. 그래서 저는 고급 위험 관리 기능을 갖춘 금 거래를 위해 특별히 설계된 전문가용 어드바이저인 XAU OneShot EA MT5를 개발했습니다. 여기에는 다음이 포함됩니다:
- 주요 USD/GBP/EUR 뉴스 이벤트 전후 15분간 거래를 일시 중지하는 내장 뉴스 필터.
- 자동 손익분기점 및 추적손절매로 수익을 고정합니다.
- 부분 테이크프로핏(포지션의 50% 청산)으로 수익을 확보하고 나머지는 그대로 둡니다.
- 일일 손실 한도는 과도한 손실로부터 계좌를 보호합니다.
결론
뉴스 필터를 XAUUSD 거래 전략에 통합하는 것은 변동성이 큰 뉴스 기간 동안 위험을 관리하는 간단하면서도 효과적인 방법입니다. 이 글에서 제공된 코드는 EA 개발의 출발점이 될 수 있습니다. 보다 종합적인 솔루션을 원하시면 XAU OneShot EA MT5를 사용해 금 트레이딩을 한 단계 업그레이드하세요. 행복한 거래 되세요!
MetaQuotes Ltd에서 영어로 번역함.
원본 코드: https://www.mql5.com/en/code/59130

시장의 추세, 지지 및 저항 수준을 결정하는 데 사용되는 지표입니다. 거래량 데이터를 사용할 수 있는 경우 MFI를 사용하여 계산하고, 그렇지 않은 경우 RSI를 사용하여 계산합니다. 모멘텀: RSI 및 MFI 변동성: ATR

이 지표는 최근 가격이 더 큰 가중치를 갖는 가중 상관 계수를 사용하여 가장 가까운 이웃을 찾습니다. 가중치는 가격 패턴 내에서 최신 가격에서 이전 가격으로 선형적으로 감소합니다.

The indicator displaying multi level of ATR Channel.

볼린저 밴드 + -3 시그마. 주기 및 시그마 비율을 변경할 수 있습니다(적절한 편차 크기는 0.5~1.0입니다).