Ошибки, баги, вопросы - страница 413

 

Тогда скажите пожалуйста что вернет при успешном выполнении функции

а что при неудачном, а то в документации ничего не сказано про это...

как понимаю 1 - true

                     0 - false  так ???????????????

//-----------------------------------------//

Возвращает значение соответствующего свойства запущенной mql5-программы.

int  MQL5InfoInteger(
   int  property_id      // идентификатор свойства
   );

Параметры

property_id

[in]  Идентификатор свойства. Может быть одним из значений перечисления ENUM_MQL5_INFO_INTEGER.

Возвращаемое значение

Значение типа int.

//---------------------------------------//

 

Вот в этой конструкции

NormalizeDouble(p, SymbolInfoInteger(symbol,SYMBOL_DIGITS));

пишет ошибку несовпадения типов данных

possible loss of data due to type conversion


Может кто знает как это исправить = действительно ..?

Спасибо!

 
Im_hungry:

Тогда скажите пожалуйста что вернет при успешном выполнении функции

а что при неудачном

в доках нет ничего про "неудачное" выполнение MQL5InfoInteger. есть только удачное.

а для контроля удачи пользуйте GetLastError

 
Im_hungry:

Может кто знает как это исправить = действительно ..?

привести к требуемому типу.
 
sergeev:
привести к требуемому типу.

Не знаю как вы его приведете если из документации разработчиков явно видно

Что long в int не получится как вы пишите : "привести к требуемому типу"

 
sergeev:

в доках нет ничего про "неудачное" выполнение MQL5InfoInteger. есть только удачное.

а для контроля удачи пользуйте GetLastError

Я ваш скептический оптимизм понял,

спасибо за помощь, пиятного дня

 
Im_hungry:

Не знаю как вы его приведете если из документации разработчиков явно видно

Что long в int не получится как вы пишите : "привести к требуемому типу"

Примерно так

int OrdersLimit = (int)AccountInfoInteger(ACCOUNT_LIMIT_ORDERS);
 
Interesting:

Примерно так

Наконец=то первый ровнодышащий реальный чел появился за

сегодня, спс тебе ВСЕ РАБОТАЕТ. Удачи!

 

Не могу победить iCustom().

Как в четверке так теперь и в пятерке при извлечении значений индикатора в барах, в которых нет сигналов

iCustom() иногда выдает разные артефакты:

 

 Данные извлекаются следующим образом:

int OnInit()
  {
...
    IH=iCustom(Symbol(),PERIOD_CURRENT,"Indicator.ex5");
...
  }

void OnTick()
  {
...
      double IC=0;      
      double IB[];
      CopyBuffer(IH,1,WorkBar,1,IB);
      IC=IB[0];
      if(IC>0){Print(IC);}
...
  }

Значение переменной WorkBar=1 определяет номер бара, значение которого мы извлекаем из буфера.

В чем может быть проблема??? Нельзя использовать переменные?

Если за один тик пытаться извлекать данные из двух разных буферов, то иногда получается следующее:

 

 
MoneyJinn:

Не могу победить iCustom().

Как в четверке так теперь и в пятерке при извлечении значений индикатора в барах, в которых нет сигналов

iCustom() иногда выдает разные артефакты:

Всегда явно задавайте в индикаторах значения для всех баров. Почитайте статью Индикатор от индикатора в MQL5:

Необходимо устанавливать значение для каждого элемента индикаторного буфера, и если значение индикатора для данного бара не определено (не вычисляется, согласно заложенного в индикатор алгоритма), то для таких случаев необходимо явным образом устанавливать пустое значение. Например, значение индикаторного буфера вычисляется через операцию деления, и в какой-то момент может оказаться так, что делитель равен нулю.

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