Советники: EMA_WMA

 

EMA_WMA:

EMA_WMA - советник MetaTrader 5. Пересечение двух iMA, MA.

Автор: Vladimir Karputov

 

Обязательно нужна строчка? Если я буду делать, например мультивалютный советник

m_symbol.Name(Symbol());                  // sets symbol name 

 

Если нужно получать информацию по нескольким символам, тогда нужно просто объявить несколько объектов класса CSymbolInfo:

#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>  
#include <Trade\AccountInfo.mqh>
CPositionInfo  m_position;                   // trade position object
CTrade         m_trade;                      // trading object
CSymbolInfo    m_symbol_EURUSD;              // symbol info object
CSymbolInfo    m_symbol_USDJPY;              // symbol info object
CSymbolInfo    m_symbol_AUDUSD;              // symbol info object

CAccountInfo   m_account;                    // account info wrapper
input int      period_EMA     = 28;
input int      period_WMA     = 8;

Дальше всё стандартно - инициализировать:

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   m_symbol_EURUSD.Name("EURUSD");           // sets symbol name
   m_symbol_USDJPY.Name("USDJPY");           // sets symbol name
   m_symbol_AUDUSD.Name("AUDUSD");           // sets symbol name
//---

И ещё нужно будет переписать функцию RefreshRates() - здесь два варианта:

  1. пытаться получать цены сразу по всем символам (в примере выше по "EURUSD", USDJPY" и "AUDUSD")
  2. или по каждому символу, по отдельности.

Причина обращения: