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

 
Konstantin Efremov:

Подскажите, разработчики терминала Метатрейдер 5 сломали в последнем обновлении индикаторные буферы? Или это у меня уже что-то с головой?

Смысл в том, что все стрелочные индикаторы, у которых нет полного пересчета на новом баре, начали выдавать одинаковый глюк. Стрелки начинают плодится как кролики на соседних от сигнального барах на новом баре. Пример прилагаю.

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


Замените вот этот бред

//--- инициализация индикаторного буфера  
     if(FirstStartFlag) 
      {
//--- обнулим все буферы стрелок и времени от мусора                                                             
         for(int x=cnt_bars; x>=0 && !IsStopped(); x--) Arrows[x] = EMPTY_VALUE;
         FirstStartFlag = false;
         ChartRedraw(0);
      }

таким бредом

  if(prev_calculated == 0)
    ArrayInitialize(Arrows, 0.0);
 

>>На виртуальной машине стоит два терминала МТ5. Один работает с брокером А, другой с брокером Б. На обоих терминалах работает >>один и тот же бот. Все было отлично до вчерашнего дня, пока не обновился до версии  2615.


Вернул версию 2560, все работает отлично, ни каких зависаний и деад - локов.

Разработчики вообще реагируют на сообщения?

Виртуальный хостинг для MetaTrader 5
Виртуальный хостинг для MetaTrader 5
  • www.mql5.com
Виртуальный хостинг для MetaTrader 4/5 является лучшим VPS-решением для Форекса. Оно не требует настройки, дает минимальные задержки до сервера и отличается низкими ценами. Всего за 15 USD в месяц вы получите виртуальную платформу, которая работает круглые сутки, экономит вашу прибыль и даже окупает себя. Создать удаленную копию приложения...
 
elavr:

>>На виртуальной машине стоит два терминала МТ5. Один работает с брокером А, другой с брокером Б. На обоих терминалах работает >>один и тот же бот. Все было отлично до вчерашнего дня, пока не обновился до версии  2615.


Вернул версию 2560, все работает отлично, ни каких зависаний и деад - локов.

Разработчики вообще реагируют на сообщения?

А разве вы сообщили какие-либо технические детали, чтобы можно было понять или воспроизвести?

Вопросы без деталей практически всегда остаются без нашего внимания.

 
Renat Fatkhullin:

А разве вы сообщили какие-либо технические детали, чтобы можно было понять или воспроизвести?

Вопросы без деталей практически всегда остаются без нашего внимания.

Ренат, можно вопрос по индикатору? Индикатор при первом проходе (prev_calculate==0) обязан грузить историю без дыр между барами? 

Сейчас часто ловлю ситуацию, когда при последующем проходе в правую часть графика догружаются бары. Грубо говоря - при первом проходе в индикаторе в массиве time из OnCalcvulate самая свежая дата 2020.09.16, а на втором тике уже сегодняшняя дата.

 
Vladimir Karputov:

Ренат, можно вопрос по индикатору? Индикатор при первом проходе (prev_calculate==0) обязан грузить историю без дыр между барами? 

Сейчас часто ловлю ситуацию, когда при последующем проходе в правую часть графика догружаются бары. Грубо говоря - при первом проходе в индикаторе в массиве time из OnCalcvulate самая свежая дата 2020.09.16, а на втором тике уже сегодняшняя дата.

Что значит "обязан грузить"? Инициировать процесс синхронизации данных по запросу - да, должен. Подготовить даннные ДО "первого прохода" - нет.

Читайте справку:

https://www.mql5.com/ru/docs/series/timeseries_access

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Прежде чем ценовые данные будут доступны в терминале MetaTrader 5, их необходимо получить и обработать. Для получения данных требуется подключение к торговому серверу MetaTrader 5. Данные поступают с сервера по запросу терминала в виде экономно упакованных блоков минутных баров. Механизм обращения к серверу за данными не зависит от того, каким...
 
Alexey Viktorov:

Замените вот этот бред

таким бредом

Это к вопросу вообще не относится. А если вы уж решили поумничать, то у меня к вам 2 вопроса Зачем мне в индикаторном буфере нули? Мой способ надежнее, проверено, зачем мне использовать ваш с негарантированными результатами?

 

Можно ли как-то директивами #define, #ifndef и остальными,  сделать   любое количество входных параметров в программе или любое количество перечислений в enum


тип такого 

#define TOTAL_PARAMS = 10;
#define MAKE_ENUM ( )   ABRAKADABRA


и при компиляции создается 

enum E{

param1, //text 1
 
param2, //text 2

param3, //text 3

...

param9 //text 9

};
 
Konstantin Efremov:

Это к вопросу вообще не относится. А если вы уж решили поумничать, то у меня к вам 2 вопроса Зачем мне в индикаторном буфере нули? Мой способ надежнее, проверено, зачем мне использовать ваш с негарантированными результатами?

Тогда замените вот таким

  if(prev_calculated == 0)
    ArrayInitialize(Arrows, EMPTY_VALUE);

я думал сами догадаетесь заменить нули.

Это относится именно к вопросу. Во-первых, ваш цикл катастрофически тормозит. Во-вторых, ваше условие не всегда выполнено когда надо. Замените и увидите результат. А потом я поумничаю.

 

В статистике Сигналов на графике Прирост (с запозданием в несколько часов) отсутствуют данные о снятии/пополнении. При этом на графиках Баланс/Средства эти данные отражены.

Хотелось бы синхронности.

 

Если в одном сообщении на форуме выставлено несколько картинок, то для просмотра полноэкранных картинок нужно на каждую тыкать мышкой.

Удонее было бы, если между ними можно было переключаться ВЛЕВО/ВПРАВО. В первую очередь, когда нужно сравнить картинки между собой.