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

 
fxsaber:

input - нельзя.


Спасибо. Значит альтернативного выхода нет. Придется убрать input.   

 
fxsaber:

Пока есть исходник. Но задался вопросом, что делать, если бы не было? По-моему, очень красивое решение с возможность изменения хэндла.

Просить автора сделать паузу?

Очень специфическая задача, чтобы искать универсальное решение, как по мне. Ну, и всегда можно скопировать все содержимое чарта на новый.

 
Andrey Khatimlianskii:

всегда можно скопировать все содержимое чарта на новый.

Да, CloneChart не тривиальный.

 

Копирую в Indicators\ ex5-индикатор, а iCustom не видит его. Оказалось, что надо в терминале в списке индикаторов нажимать "Обновить", только тогда iCustom начинает его видеть.

Так задумано?

 

Тект варнинга правильный?

struct STRUCT
{
  const int i;
};

void OnStart()
{
  STRUCT a, b;
  
  a = b; // '=' - not allowed for objects with protected members or inheritance
}
 
В личных сообщения жмешь по миниатюре картинки, и вместо открытия в новой вкладке она сохраняется на диск.
 

Подскажите, а есть рабочий демо-сервер МТ4 и МТ5 с котировками в выходные?

 
Kirill Belousov:

Подскажите, а есть рабочий демо-сервер МТ4 и МТ5 с котировками в выходные?

Демо сервер на то и демо что торговля ведётся на не реальные деньги а на "демо" :), а всё остальное (также и время поступление котировок) почти как в реале.

 
Kirill Belousov:

Подскажите, а есть рабочий демо-сервер МТ4 и МТ5 с котировками в выходные?

В выходные котировок нет. 
Можете эмулировать поступление котировок. 
 

Выводим MT5 в оффлайн (левый прокси, например) и запускаем такой советник

void OnInit()
{
  Print("Hello World!");
}

Распечатка в логе будет только через пять секунд после запуска советника - БАГ.


Запускаем такой индикатор в оффлайне

#property indicator_chart_window

#property indicator_buffers 0
#property indicator_plots 0

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);
}

void OnInit()
{
  const datetime LastBar = (datetime)SeriesInfoInteger(_Symbol, PERIOD_CURRENT, SERIES_LASTBAR_DATE);

  Print(LastBar);
  Print(Bars(_Symbol, PERIOD_CURRENT, LastBar - 24 * 3600, LastBar)); // 0
  Print(GetLastError());                                              // ERR_HISTORY_NOT_FOUND
}

Получаем облом в Bars. Причем тот же облом будет и при повторных вызовах, например, в OnTimer. А если Bars вызывать в советнике - все будет работать. В случае с индикатором явный баг.

2017.10.22 23:35:40.678 Terminal        Alpari Limited MT5 x64 build 1653 started (Alpari Limited)
2017.10.22 23:35:40.678 Terminal        Windows 7 Ultimate (x64 based PC), IE 09.00, Intel Core i7-2700K  @ 3.50GHz, RAM: 11310 / 16301 Mb, HDD: 827 / 30000 Mb, GMT+02:00
ЗЫ Пояснение в Документации ничего не объясняет

Если данные для таймсерии с указанными параметрами при вызове функции Bars() еще не сформированы в терминале, или данные таймсерии в момент вызова функции не синхронизированы с торговым сервером, то функция вернет нулевое значение.

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