Новая версия платформы MetaTrader 5 build 3091: Улучшения в работе - страница 18

 
Igor Makanu #:

если OnInit()/DeInit() запускаются, тогда возможно для анализа и вывода кода ошибки

если  OnInit()/DeInit()  не вызываются, тогда действительно не нужна, максимум для обеспечения совместимости кодов МТ4/МТ5

Да, не получится запустить. Возможно, просто забыли продумать.

 
fxsaber #:

Да, не получится запустить. Возможно, просто забыли продумать.

Странные вещи вы говорите…

/*******************Expert initialization function*******************/
int OnInit()
 {
    Print(__FUNCTION__, " ", (bool)MQLInfoInteger(MQL_DLLS_ALLOWED));
  return(INIT_SUCCEEDED);
 }/******************************************************************/

Запустил с отключенным разрешением использования dll

Затем включил и снова поставил советник на график.

2021.11.14 18:02:09.260 00 (EURUSD,M15) OnInit false
2021.11.14 18:02:24.395 00 (EURUSD,M15) OnInit true
 
Alexey Viktorov #:

Странные вещи вы говорите…

Запустил с отключенным разрешением использования dll

Затем включил и снова поставил советник на график.

А теперь подключите к советнику любую DLL и попробуйте получить false в журнал )

 
Andrey Khatimlianskii #:

А теперь подключите к советнику любую DLL и попробуйте получить false в журнал )

А зачем? Если я получил false — то уже надо ExpertRemove() и return:

Если я чего-то не так понял, дайте пример со стандартной dll'кой

зы: Теперь всё понял… Да, действительно не продуманное решение и абсолютно не нужное свойство…
 
В тестере5 возвращает больше баров. чем на графике. На целых 29 штук). Потому что не учитывает отступ справа.
Print(ChartGetInteger(0,CHART_VISIBLE_BARS));
Или это так хитро задумано? (Чтобы под тестер писать отдельно)
 
Почему скачет график? в 4 такого поведения нет.
Есть 2 графика.
на EURUSD установлен индикатор.
#property strict
#property indicator_chart_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
{
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
   return(rates_total);
}
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
{
     Print(Symbol()," ",ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0)," ---- ",ChartGetInteger(0,CHART_VISIBLE_BARS,0)); 
}

При переключении мышью между графиками (EURUSD и USDCAD) срабатывает Print.
Но вот цифры получаются разные) на фото 527 --- 528 это когда переходим на USDCAD. 783 --- 784 когда переходим на EURUSD
Мышь нажимает только в кнопку листа. Даже если печать срабатывает при уходе с графика, то цифры должны быть одинаковые. Индикатор то запущен на одном листе.
 
Andrey Khatimlianskii #:

А теперь подключите к советнику любую DLL и попробуйте получить false в журнал )

Советник может косвенно DLL использовать (например через пользовательский индикатор)

 
fxsaber #:

Да, не получится запустить. Возможно, просто забыли продумать.

Через шаблон не пробовал.

 
A100 #:

Советник может косвенно DLL использовать (например через пользовательский индикатор)

Да, точно.


fxsaber #:

Через шаблон не пробовал.

Вроде бы запрет наследуется, я проверял.

 
Почему в редакторе Алертов можно выбрать mp3 файл, но он не проигрывается, вместо него непонятный "пык-пык"?
Причина обращения: