В чем проблема с MarketInfo..?

 

После выполнении этой функции в начале работы советника 

      int LEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL);
      Print("STOPLEVEL для - ",Symbol()," равен =",LEVEL);

на паре EURUSD в журнале пишет: 

STOPLEVEL для - EURUSD равен =2

 

А вот на паре GBPUSD пишет:

STOPLEVEL для - GBPUSD равен =0    (хотя должен писать - 3)

 

В чем тут загвостка?

 
ALex2008 >>:

После выполнении этой функции в начале работы советника

на паре EURUSD в журнале пишет:

STOPLEVEL для - EURUSD равен =2


А вот на паре GBPUSD пишет:

STOPLEVEL для - GBPUSD равен =0 (хотя должен писать - 3)

В чем тут загвостка?


Я по Symbol() тоже глюки в 220 встречал. валюту определяет не так.

 

Я пробовал писать и так  вместо Symbol().. 

      double LEVEL=MarketInfo("EURUSD",MODE_STOPLEVEL);
      double LEVEL2=MarketInfo("GBPUSD",MODE_STOPLEVEL);
      double LEVEL3=MarketInfo("GBPJPY",MODE_STOPLEVEL);


      Print("STOPLEVEL для - ","EURUSD"," равен =",LEVEL);
      Print("STOPLEVEL для - ","GBPUSD"," равен =",LEVEL2);
      Print("STOPLEVEL для - ","GBPJPY"," равен =",LEVEL3);

STOPLEVEL для - EURUSD равен =2
STOPLEVEL для - GBPUSD равен =0
STOPLEVEL для - GBPJPY равен =0

не помогает!

 
Присутствуют ли в окне Обзор рынка (Market Watch) GBPUSD и GBPJPY?
 

Присутствуют все символы..

 

Проверьте кто-нить у себя! Может это только у меня так...

 

Проверил Ваш код у себя, все работает.

А может быть Вы в тестере хотите это увидеть?

 

Нет, на дэмо... прицепил советника.. вместо Print сделал Alert... И ничего не пойму, почему так?(

Можно ваш код посмотреть, как вы его написали у себя.. Может это из-за спец.функции int init()? В ней у меня MarketInfo проверяется

Три графика на экране... цепляю поочереди на любой, кроме EUR Везде результат - 0.

 
int start()
  {
//----
double LEVEL=MarketInfo("EURUSD",MODE_STOPLEVEL);
      double LEVEL2=MarketInfo("GBPUSD",MODE_STOPLEVEL);
      double LEVEL3=MarketInfo("GBPJPY",MODE_STOPLEVEL);


      Print("STOPLEVEL для - ","EURUSD"," равен =",LEVEL);
      Print("STOPLEVEL для - ","GBPUSD"," равен =",LEVEL2);
      Print("STOPLEVEL для - ","GBPJPY"," равен =",LEVEL3);   
//----
   return(0);
  }
Я тупо скопировал Ваш код в start() и запустил.
 

Сделал так же.. Результат один.. только у евры есть значение

Может так быть из-за каких-либо ограничений у ДЦ?

 

Чтоб не смотреть в журнал использую алерт и маркетинфо в теле пустого советника..

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                      Copyright © 2008, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
      double LEVEL=MarketInfo("EURUSD",MODE_STOPLEVEL);
      double LEVEL2=MarketInfo("GBPUSD",MODE_STOPLEVEL);
      double LEVEL3=MarketInfo("GBPJPY",MODE_STOPLEVEL);


      Alert("STOPLEVEL для - ","EURUSD"," равен =",LEVEL);
      Alert("STOPLEVEL для - ","GBPUSD"," равен =",LEVEL2);
      Alert("STOPLEVEL для - ","GBPJPY"," равен =",LEVEL3);   
//----
   return(0);
  }
//+------------------------------------------------------------------+



123

 
Попробуй перезагрузить терминал.
Причина обращения: