Как получить рыночную инфу по другому символу в тестере/оптимизаторе?

 

Пишем простенький код:

int OnInit()
{
        symbol=Symbol();
        return(0);
};

void OnTick()
{
        Print("SYMBOL_TRADE_TICK_VALUE - ",SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_VALUE),", SYMBOL_VOLUME_STEP - ",SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP));
};

Включаем тестер, выбираем символ (у меня - акции 3М), запускаем тестирование, в логах видим:

21:08:15 2012.04.11 00:00  main 3M_Company,Daily: SYMBOL_TRADE_TICK_VALUE - 10.0, SYMBOL_VOLUME_STEP - 0.01


Усложняем код с целью получить доступ к другому символу при выбранном 3М:

enum                SYMBOLS{
                            MMM=1,
                            AIG,
                            AMD,
                            ATT,
                            Activision
                           };

input               SYMBOLS             selected_symbol;                        // Символ

int OnInit()
{
        if((MQLInfoInteger(MQL_TESTER)==true)||(MQLInfoInteger(MQL_OPTIMIZATION)==true))
                 SelectSymbol();
        else
                symbol=Symbol();
        return(0);
};

void SelectSymbol()
{
        switch(selected_symbol)
        {
                case  1: symbol="3M_Company"; break;
                case  2: symbol="AIG_Inc";    break;
                case  3: symbol="AMD";        break;
                case  4: symbol="AT&T_Corp";  break;
                case  5: symbol="Activision"; break;
                default: symbol="3M_Company"; break;
        };
};

void OnTick()
{
        Print("SYMBOL_TRADE_TICK_VALUE - ",SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_VALUE),", SYMBOL_VOLUME_STEP - ",SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP));
};

Включаем тестер, выбираем символ 3М, в свойствах эксперта также выбираем 3М, запускаем тестирование, в логах видим:

21:30:09 2012.04.11 00:00  main 3M_Company,Daily: SYMBOL_TRADE_TICK_VALUE - 10.0, SYMBOL_VOLUME_STEP - 0.01


А теперь - сладкое. Выбираем в настройках символ 3М, в свойствах эксперта AIG_Inc, запускаем тестирование, в логах видим:

21:34:51 2012.03.07 00:00  main 3M_Company,Daily: SYMBOL_TRADE_TICK_VALUE - 0.0, SYMBOL_VOLUME_STEP - 0.0


Тестер не моделирует рыночное окружение для символов, не выбранных в настройках?!

Как получить информацию о рыночном окружении для символов не из настроек?

 

в мт4 если Вы выбрали один символ при тестировании - получить данные с другого символа возможно

но получать будете только БАРЫ... в тиковом режиме ничего не получите - поэтому при тестрировании нужно выбирать модель ПО ЦЕНАМ ОТКРЫТИЯ

при этом предварительно вы должны создать на этом инструменте файл { ..\tester\history\EURUSD5_0.fxt }  ( пример для евро м5 ) в режиме по тикам

далее уходите например на GBPUSD

и в советнике можно обращаться как к текущему инструементу в данном случае это фунт так и к ЕВРО

в обзоре рынка должны быть отрыты эти инструменты


---

 ТИКИ  НЕ МОДЕЛИРУЮТСЯ  по инструменту  который не являются основным - ( выбранном  при тестированнии )