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

 

@Renat Fatkhullin

Формула синтетического инструмента, ограничивает ввод символов.
В данном примере символ 1 больше не добавляется.

ci

С учётом математических функций, таких как fmax(число1, число2) и т.д.
невозможно ввести формулу полностью.

Прошу расширить количество вводимых символов, чем больше тем лучше.
Так как формулы могут быть достаточно большими.

 

период=месячный  при тестировании индикатора функция ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0) и  ChartGetInteger(0,CHART_VISIBLE_BARS,0)    возвращают нули, тогда как видимых баров 127(на других периодах выдает)
по-видимому когда на месячном периоде не получается набрать 127 баров она это и выдает.   если сдвинуть "смещение графика" влево,чтобы хватало набрать бары как на других таймфреймах, то все ОК.  GetLastError()=4109.

ВООБЩЕ ТО это неправильно.

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Свойства графиков - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Последняя релизная версия MT5 3550, но баг был и на более старых.

Есть скрипт xxx.mq5 следующего содержания

#define input
#include "yyy.mq5"

void OnStart()
{
}

И в той же папке лежит yyy.mq5 следующего содержания

//bool a=true;
input bool b=true;

Если раскомментировать первую строку в yyy.mq5, то сборка xxx.mq5 проходит успешно. При попытке собрать xxx.mq5 в текущем виде будет

'bool' - unexpected token       yyy.mq5

Почему? Если баг, просьба пофиксить. Спасибо.

 
Roman #:

@Renat Fatkhullin

Формула синтетического инструмента, ограничивает ввод символов.
В данном примере символ 1 больше не добавляется.


С учётом математических функций, таких как fmax(число1, число2) и т.д.
невозможно ввести формулу полностью.

Прошу расширить количество вводимых символов, чем больше тем лучше.
Так как формулы могут быть достаточно большими.

И так же плиз добавьте в настройки кастомарных символов параметр для задания глубины пересчета истории символа при изменении форумулы - часто совершенно не требуется чтобы система пересчитывала последние 3 месяца, как это происходит сейчас. Более того для ведения кастомарных склеенных фьючерсов такой неуправляюемый системный пересчет крайне вреден, так как он уничтожает данные предыдущего фьючерса.

 


Отсутствует метод Sort

s

'Sort' is not a member of 'vector' type
Документация по MQL5: Методы матриц и векторов / Манипуляции / Sort
Документация по MQL5: Методы матриц и векторов / Манипуляции / Sort
  • www.mql5.com
Sort - Манипуляции - Методы матриц и векторов - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

В тестере показаны снятия после применения TesterWithdrawal

Хорошо бы показать и пополнения после TesterDeposit, например в той же строке. В данном проходе было пополнение из этих снятий. Такая информация помогла бы не искать эти операции в логах.

Пример одного из пополнений:

2023.01.23 00:02:21.945    Core 1    2018.01.25 15:50:00   deal #145 balance 5088.62 [deposit] done


Добавление:

Да и сразу хорошо бы показать сумму пополнений и снятий, чтобы был общий баланс снятых денег. В 3-м столбце подходящее место.

2023.01.23 00:02:21.945    Core 1    2018.01.25 15:50:00   deal #145 balance 5088.62 [deposit] done
2023.01.23 00:02:21.945    Core 1    2019.01.11 16:55:00   deal #1337 balance -10445.44 [withdrawal] done
2023.01.23 00:02:21.945    Core 1    2019.06.13 17:00:00   deal #1613 balance -21636.23 [withdrawal] done

Итого пополнений на 5088.62
Снятий на 32081.67

Итоговая сумма 26993.05
 
Alexandr Nikolaev #:

Баг в функции iBarShift, не работает параметр exact, работает всегда как exact=false.

Вот скрипт для проверки:

Результат на Н1:


 iBarShift возвращает номер бара, которому принадлежит заданное время.

В примере нет обращения к отсутствующим барам, так что продемонстрированный результат работы iBarShift корректен.

 
PapaYozh #:

 iBarShift возвращает номер бара, которому принадлежит заданное время.

В примере нет обращения к отсутствующим барам, так что продемонстрированный результат работы iBarShift корректен.

Вы правы, я думал функция ищет бар, у которого время открытия ровно времени которое мы ищем, а не входит в диапазон времени всего бара.

 
Alexandr Nikolaev #:

Вы правы, я думал функция ищет бар, у которого время открытия ровно времени которое мы ищем, а не входит в диапазон времени всего бара.

Именно входит в диапазон времени бара. Если ТФ Н1, мы будем искать бар по времени 13:23, то функция должна вернуть номер бара соответствующего времени 13:00 

 

Буквально вчера хотел использовать функцию ArrayBsearch

но к сожалению, можно считать что её нет - от слова "совсем"

Что возвращает:

А где возврат -1, как узнать что элемент есть? Зачем нужен соседний, если мы ищем конкретный