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

Aleksei Kuznetsov # :

Старый баг, просто ни кто не пользовался и не обнаружил.

CCheckGroup из standardlibrary позволяет размещать и расчитывать до 64 чекбоксов в элементе. Но отметить из кода можно только столько, сколько их видно. В коде ниже видно только 5.


Но создал я не 5, как в примере, а 64 чекбокса. Они появятся при прокрутке. Но отметить их можно только вручную, но не командой m_check_group.Check(i,(long)1<<i).
После того, как отметится последний видимый чекбокс, то появится ошибка о выходе за пределы массива видимых элементов, ведь его длина =5.

Немного измененный пример эксперта из документации https://www.mql5.com/ru/docs/standardlibrary/controls/ccheckgroup

Изменения выделены зеленым .

После поиска решения проблемы изменил функцию bool CCheckGroup::Check(const int idx,const long value) в MQL5\Include\Controls\CheckGroup.mqh таким образом:

После этого программа отметила все 64 чекбокса


Но были ошибки в расчете Value() - после 32 чекбокса Value начинался снова с 0. Эти значения видно в Comment при клике по любому чекбоксу.
Причина в  паре функций которые вместо long использовали int.  И массив m_states поменял на long

После этого и расчеты стали правильными.

Правильно работающий MQL5\Include\Controls\CheckGroup.mqh прикладываю.Компаратором увидите, где правки.

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

Коментарий для тех  кто будет использовать: Можно генерировать и больше 64 чекбоксов, но с 65 элемента Value начнется с 0, т.к. не хватает разрядности long 8 байт (64 бита) . Я попробовал 100. Отрисовались, но в Value были ошибки.

Проблема решена. Проверено с помощью B6194.

Есть большой массив простых структур.
struct DATA
{
  int i;
  double d;
  
  long l;    
};

Периодически и довольно часто при расчетах нужно в этом массиве обнулять (последнее) поле.


Хотелось бы, чтобы была возможность это делать быстро (см. ArrayInitialize).

Рисую линию на холсте черного цвета. Именованные константы карты цветов перепутаны, синяя линяя рисуется как красная.

Добрый день. Подскажите, возникла проблема! В терминале МТ5 При тестировании DarcCloudPercingLINE RSI тестер стратегий  завис. И больше, кроме этого советника никого не тестирует.

Пробовал по разному отменять, перезагружать. В конце переустановил МТ5, а проблема осталась. Подскажите как ее решить?

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии ( советники ) перед началом использования их в реальной торговле. При...

В Сигналах одинаковые графики прибыли на разных счетах.


При загрузке .ini файлов тестером (ПКМ на вкладке Настройки тестера -> Загрузить настройки), настройка Deposit=1000, при установленном депозите 10000 в самом тестере стратегий в этот момент, не меняет значение стартового депозита.

Оказывается, значение Deposit= в .ini поставляется буквально в значение депозита, заменяя буквы находящегося там значения. То есть не стирая сначала предыдущее значение. Потому что Deposit=2000, 1000.0 и 100000 успешно заменяют старую установку 10000, а 1000 - нет.

Я бы никогда не догадался, но ИИ раскусил проблему сразу 😹

Ilya Malev #:

При загрузке .ini файлов тестером (ПКМ на вкладке Настройки тестера -> Загрузить настройки), настройка Deposit=1000, при установленном депозите 10000 в самом тестере стратегий в этот момент, не меняет значение стартового депозита.

MQ в курсе.

Всех приветствую! у меня вопросик я сделал сеточного советника, он открывает ордера на открытии новой свечи и у меня проблема в том что иногда сетка или сделка чуть дальше от открытия свечи а иногда и на открытии свечи это норма для МТ4 если что сетка работает на XAUUSD M1 

Добрый день ! После обновления МТ5 точки  примагничивания  наклонных  линий уходят в сторону от баров .
Файлы:
Дайкон #:
Добрый день ! После обновления МТ5 точки  примагничивания  наклонных  линий уходят в сторону от баров .
Проверьте в настройках >>"Точная шкала времени"