거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Facebook에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
Experts

다중 통화 이벤트 핸들러 OnTick(문자열 기호) - MetaTrader 5용 expert

조회수:
17
평가:
(45)
게시됨:
onmultitick.zip (24.14 KB)
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

설명:

이것은 메타트레이더 5에서 전체 다중 통화 모드를 구성하는 방법의 또 다른 버전입니다. 표준 틱 핸들러인 OnTick(문자열 기호)으로 만들어졌습니다.

장점:

  • 데모 및 실제에서 진정한 다중 통화.
  • 간단한 설정.
  • OnTick(문자열 기호)에서 수신할 이벤트를 구성할 수 있습니다: NewTick 및/또는 NewBar.
  • "종합시세" 창 또는 심볼 목록에서 상품에 대한 이벤트를 수신하도록 구성할 수 있습니다.
  • 종합시세 창에서 심볼로 작업할 때 OnTick(문자열 심볼)에서 이벤트를 수신할 심볼을 즉석에서 제어할 수 있습니다.
  • 작동 방식에 대해 자세히 설명할 필요는 없습니다. 모든 코드는 인클루드 파일에 배치되어 있으므로 직접 작성할 때 방해가 되지 않습니다.
  • 테스터에서 작동합니다.

EA 템플릿은 다음과 같습니다:

//+------------------------------------------------------------------+
//|OnTick(문자열 기호).mq5 |
//|저작권 2010, Lizar |
//| https://www.mql5.com/ko/users/Lizar |
//+------------------------------------------------------------------+
#define VERSION       "1.00 Build 1 (01 Fab 2011)"

#property copyright   "Copyright 2010, Lizar"
#property link        "https://www.mql5.com/ko/users/Lizar"
#property version     VERSION
#property description "전문가 템플릿 사용 시"
#property description "OnTick(문자열 기호) 다중 통화 핸들러의"

//+------------------------------------------------------------------+
//| 다중 통화 모드 설정|
//| OnTick(문자열 심볼) 이벤트 핸들러의 경우 ||.
//||
//| 1.1 이벤트를 수신할 기호 목록: |
#define  SYMBOLS_TRADING    "EURUSD","GBPUSD","USDJPY","USDCHF"
//| 1.2 '마켓 워치' 창에서 모든 심볼에 대한 이벤트 수신: |
//#define SYMBOLS_TRADING "MARKET_WATCH"
//| 참고: 항목 1.1 또는 항목 1.2 중 하나를 선택해야 합니다.
//||
//| 2. OnTick(문자열 기호)에 대한 이벤트 유형: |
#define  CHART_EVENT_SYMBOL CHARTEVENT_TICK 
//| 참고: 이벤트 유형은 열거형 |와 일치해야 합니다.
//| enum_chart_event_symbol.|
//||
//| 3. 모든 기능이 포함된 플러그인 파일: |
#include <OnTick(string symbol).mqh>
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| 전문가 초기화 기능|
//| 이 함수는 전문가 코드에 있어야 합니다.
//| 비어 있어도|
//+------------------------------------------------------------------+
int OnInit()
  {
   //--- 여기 코드가 있습니다... 
   return(0);
  }
  
//+------------------------------------------------------------------+
//| 전문가 멀티 틱 기능|
//| 표준 OnTick() | 이 함수 대신 이 함수
//+------------------------------------------------------------------+
void OnTick(string symbol)
  {
   //--- 여기 코드가 있습니다...
   Print("기호별 새 이벤트: ",symbol);
  }
  
//+------------------------------------------------------------------+
//| 차트 이벤트 함수|
//| 이 함수는 전문가 코드에 있어야 합니다.
//| 비어 있어도|
//+------------------------------------------------------------------+
void OnChartEvent(const int id,         // 이벤트 식별자 
                  const long& lparam,   // 긴 타입의 이벤트 매개변수
                  const double& dparam, // 이중 유형의 이벤트 매개변수
                  const string& sparam) // 문자열 유형의 이벤트 매개 변수
  {
   //--- 여기 코드가 있습니다... 
  }
  
//+------------------------------------------------------------------+
//| 전문가 초기화 기능|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   //--- 여기 코드가 있습니다... 
  }

//+------------------------------ end -------------------------------+

일부 기능:

  1. 설정.
모든 설정은 #define 전처리기 지시어를 사용하여 이루어집니다. OnTick(문자열 심볼) 이 올바르게 작동하려면SYMBOLS_TRADING과 CHART_EVENT_SYMBOL 두 개의 매개변수만 설정해야 합니다 . SYMBOLS_TRADING 매개변수는 이벤트를 수신할 심볼을 설정합니다. CHART_EVENT_SYMBOL 매개변수는 모든 심볼에 대한 이벤트 유형을 지정합니다.

예를 들어SYMBOLS_TRADING은 심볼 목록으로 설정할 수 있습니다:

#define  SYMBOLS_TRADING    "EURUSD","GBPUSD","USDJPY","USDCHF"

목록은 쉼표로 구분된 문자열 상수 형식이어야 합니다. 목록은 한 줄의 끝으로 끝나며 다음 줄로 넘어갈 수 없습니다.

SYMBOLS_TRADING은 다음과 같이 설정할 수 있습니다:

#define  SYMBOLS_TRADING    "MARKET_WATCH"

이 방법은 목록 대신 종합시세 창의 기호를 사용한다는 의미입니다. 이 방법은 전문가 어드바이저가 작업하는 동안 OnTick(문자열 심볼) 에서 수신할 이벤트를 즉석에서 심볼을 변경할 수 있어 편리합니다. 이렇게 하려면 "종합시세" 창에서 트레이딩 상품을 추가하거나 삭제하는 것으로 충분합니다.

차트 이벤트 유형은 ENUM_CHART_EVENT_SYMBOL 열거형에서 플래그 또는 플래그 조합으로 지정됩니다. 이 열거형에 대한 자세한 내용은 여기에서 확인할 수 있습니다. 이벤트 유형 설정의 예

//--- 예제 1. 이벤트는 틱마다 수신됩니다:
#define  CHART_EVENT_SYMBOL CHARTEVENT_TICK 
//--- 예제 2. 캐릭터에 대한 이벤트가 매분 및 매시간 도착합니다:
#define  CHART_EVENT_SYMBOL CHARTEVENT_NEWBAR_H1|CHARTEVENT_NEWBAR_M1

2. 파일 포함.

OnTick(문자열 기호) 함수에 대한 모든 기능이 포함된 OnTick(문자열 기호).mqh 파일이 포함된 #include 지시문은 설정 뒤와 다른 표준 이벤트 핸들러 앞에 배치해야 합니다. 이 파일은 OnTick(문자열 심볼) 에 대한 모든 서빙 코드가 보이지 않도록 배열되어 있습니다. 따라서 위 템플릿에서 일부 표준 함수의 존재는 필수로 표시되어 있습니다.

3. 테스터.

아시다시피, 게시 시점에 테스터는 OnChartEvent 이벤트 핸들러를 지원하지 않습니다. 전문가 어드바이저를 테스트할 수 있도록 코드에는 터미널의 전역 변수를 통한 이벤트 전달이 포함되어 있습니다. 이는 전략 테스터를 위해 독점적으로 수행되며 실제 및 데모 전략 이벤트는 OnChartEvent를 통해 전달됩니다. 물론 이러한 추가 사항으로 인해 코드가 그다지 아름답지는 않지만 이제 테스터를 사용할 수 있습니다.

한 가지 뉘앙스. 테스터에서 OnTick(문자열 심볼)은 테스터 설정에서 설정된 심볼의 틱에 대해 작동합니다. 일반적으로 OnTick()과 거의 비슷하게 작동하며 선택한 트레이딩 상품에서 각 틱에 대한 이벤트만 수신합니다. 테스터에서 작동하려면 SYMBOLS_TRADING매개변수의 심볼을 목록으로 설정해야 합니다.

4. 스파이.

스파이 표시기가 사용됩니다. 따라서 카탈로그 \MQL5\Indicators\에 스파이 제어판 MCM.ex5가 있는지 여부가 중요합니다. 첨부된 파일에는 스파이 제어판 MCM.mq5의 새 빌드가 있습니다. 여기에는 테스터를 위해 전역 변수를 통한 이벤트 전송이 추가되었습니다.

5. 첨부된 아카이브의 압축을 \MQL5 디렉토리에 풀어야 합니다. 파일은 다음과 같이 배치됩니다:

    • /mql5/experts/OnTick(문자열 기호).mq5 - 전문가 예제, 템플릿 소스;
    • /mql5/experts/OnTick(문자열 기호).ex5 - 전문가 예제, 실행 파일;
    • /mql5/indicators/Spy 제어판 MCM.mq5 - 지표 - 에이전트, 소스 파일;
    • /mql5/indicators/Spy 제어판 MCM.ex5 - 표시기 - 에이전트, 실행 파일;
    • /mql5/include/OnTick(문자열 기호).mqh - 모든 OnTick(문자열 기호) 기능이 포함된 파일 포함.

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

비모수적 지그재그, 클라이드 리 패턴 비교 비모수적 지그재그, 클라이드 리 패턴 비교

클라이드 리 패턴을 기반으로 한 비모수적 지그재그입니다.

Round Levels MT5 Round Levels MT5

라운드 레벨 메타트레이더 인디케이터 - 구성에 따라 라운드 레벨과 그 부근의 영역을 표시할 수 있는 MT4/MT5 인디케이터입니다. 자연스러운 심리적 지지 및 저항 구간을 거래할 때 유용할 수 있습니다. 또한 가격이 지지 또는 저항 영역에 있을 때 알림을 보낼 수 있습니다.

e키보드 트레이더 e키보드 트레이더

전문가 어드바이저를 통해 키보드에서 기본적인 트레이딩 작업을 수행할 수 있습니다.

Recent High/Low Alert MT5 Recent High/Low Alert MT5

최근 고점/저점 알림 메타트레이더 인디케이터 - 최근 N 캔들에서 최대 및 최소 레벨의 두 밴드를 표시합니다. 기본적으로 최대 밴드는 파란색 선으로 표시되고 최소 밴드는 노란색 선으로 표시됩니다. 또한 현재 가격(입찰가)이 최근 고가 또는 저가 수준을 돌파하면 팝업 알림을 호출하거나 이메일 알림을 보내거나 알림 알림을 발행할 수 있습니다. 모든 알림은 끌 수 있습니다. 이메일 알림 기능을 사용하는 경우 메타트레이더 플랫폼의 옵션 창에서 이메일 설정을 잊지 마세요. 푸시 알림도 마찬가지입니다. 이 인디케이터는 MT4와 MT5 모두에서 사용할 수 있습니다.