Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Старый баг, просто ни кто не пользовался и не обнаружил.
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.
Периодически и довольно часто при расчетах нужно в этом массиве обнулять (последнее) поле.
Хотелось бы, чтобы была возможность это делать быстро (см. ArrayInitialize).
Добрый день. Подскажите, возникла проблема! В терминале МТ5 При тестировании DarcCloudPercingLINE RSI тестер стратегий завис. И больше, кроме этого советника никого не тестирует.
Пробовал по разному отменять, перезагружать. В конце переустановил МТ5, а проблема осталась. Подскажите как ее решить?
В Сигналах одинаковые графики прибыли на разных счетах.
При загрузке .ini файлов тестером (ПКМ на вкладке Настройки тестера -> Загрузить настройки), настройка Deposit=1000, при установленном депозите 10000 в самом тестере стратегий в этот момент, не меняет значение стартового депозита.
Оказывается, значение Deposit= в .ini поставляется буквально в значение депозита, заменяя буквы находящегося там значения. То есть не стирая сначала предыдущее значение. Потому что Deposit=2000, 1000.0 и 100000 успешно заменяют старую установку 10000, а 1000 - нет.
Я бы никогда не догадался, но ИИ раскусил проблему сразу 😹
При загрузке .ini файлов тестером (ПКМ на вкладке Настройки тестера -> Загрузить настройки), настройка Deposit=1000, при установленном депозите 10000 в самом тестере стратегий в этот момент, не меняет значение стартового депозита.
Всех приветствую! у меня вопросик я сделал сеточного советника, он открывает ордера на открытии новой свечи и у меня проблема в том что иногда сетка или сделка чуть дальше от открытия свечи а иногда и на открытии свечи это норма для МТ4 если что сетка работает на XAUUSD M1
Добрый день ! После обновления МТ5 точки примагничивания наклонных линий уходят в сторону от баров .