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

 

Появилось подозрение, что тестер не прописывает в историю ордер, который закрывает позицию по причине окончания тестирования.

В результате программно при деинициализации эксперта невозможно получить данные профита самой последней сделки. Позиция закрыта, ордера с типом OUT нет. 

Как решить проблему? 

 
Спасибо, проверим учет последней сделки.
 
MoneyJinn:

Появилось подозрение, что тестер не прописывает в историю ордер, который закрывает позицию по причине окончания тестирования.

В результате программно при деинициализации эксперта невозможно получить данные профита самой последней сделки. Позиция закрыта, ордера с типом OUT нет. 

Как решить проблему? 

В историю и ордера и сделки по концу теста записываются с комментом 'end of test', Вы можете их посмотреть на вкладке "История". Данные по ним в можно получить в де-ините только анализируя 'Comment' ордера или сделки. Почему так ? По-видимому, считается, что они выполнены уже после окончания интервала тестирования и не являются торговыми операциями в полном смысле.

P.S. Извиняюсь, на вкладке 'Результаты' тестера стратегий.

 

Разработчикам

Сделайте плиз так чтобы список функций эксперта / библиотеки формировался при открытии файлов *.mq5 и *.mqh.

Еще хочется отдельно получить список объектных классов, так чтобы появилась возможность перемещаться к объявлению класса.

PS

И вообще, формирование списка функций по хорошему не стоит привязывать к компиляции, нажимаем Alt+M и получаем список функций (файл при этом может лежать где угодно).

 

Скажите пожалуйста почему в скрипте выдается ошибка "array out of range"

int aray[];
aray[0]=1; 

 
Valmars:

В историю и ордера и сделки по концу теста записываются с комментом 'end of test', Вы можете их посмотреть на вкладке "История". Данные по ним в можно получить в де-ините только анализируя 'Comment' ордера или сделки. Почему так ? По-видимому, считается, что они выполнены уже после окончания интервала тестирования и не являются торговыми операциями в полном смысле.

P.S. Извиняюсь, на вкладке 'Результаты' тестера стратегий.

К сожалению, проблема в том, что ордер на закрытие позиции с комментарием терминал публикует только во вкладке "Результаты".

В список HistoryDealsTotal() соответствующий ордер не заносится.

В общем списке ордеров HistoryOrdersTotal() ордера также нет, даже если период выбирать с запасом.

 
220Volt:

Скажите пожалуйста почему в скрипте выдается ошибка "array out of range"

int aray[];
aray[0]=1; 

Вы забыли распределить/выделить место в массиве.

Для динамических массивов нужно использовать ArrayResize

 
220Volt:

Скажите пожалуйста почему в скрипте выдается ошибка "array out of range"

int aray[];
aray[0]=1; 

А где указание размерности массива?

Что-то вроде этого нужно

int ArrDemo[];
int Index = 1;

ArrayResize(ArrDemo,Index);
ArrDemo[Index-1]=1;
Документация по MQL5: Операции с массивами / ArrayRange
Документация по MQL5: Операции с массивами / ArrayRange
  • www.mql5.com
Операции с массивами / ArrayRange - Документация по MQL5
 
220Volt:

Скажите пожалуйста почему в скрипте выдается ошибка "array out of range"

int aray[];
aray[0]=1; 

Потому что вы ленитесь читать документацию.
 
MetaDriver:
Потому что вы ленитесь читать документацию.
Самый правильный ответ :)
Причина обращения: