Библиотеки: BestInterval - страница 3

 
fxsaber:

Не удивлюсь, если на Неттинге запускали. Там CloseBy не пашет.

Делайте на хедже. Для неттинга не заморачивался, т.к. MT4-советник не предполагался запускаться в таком режиме, конечно.

Да вроде как хедж. Или в MT5 ещё где-то настраивается?

Тип счёта

 
Mikola_2:

Да вроде как хедж. Или в MT5 ещё где-то настраивается?

На штатных символах MT5 не запускал Тестер уже несколько месяцев. Возможно, что-то не учел.

Напишите название торгового сервера, проверю.

 
fxsaber:

На штатных символах MT5 не запускал Тестер уже несколько месяцев. Возможно, что-то не учел.

Напишите название торгового сервера, проверю.

     AlpariEvrasia-MT5-Demo
 
Mikola_2:
     AlpariEvrasia-MT5-Demo

Сервер не поддерживает CloseBy

Forum on trading, automated trading systems and testing trading strategies

PositionCloseBy not working in real accounts

fxsaber, 2018.07.24 16:42

bool IsCloseBy( const string Symb )
{
  return(SymbolInfoInteger(Symb, SYMBOL_ORDER_MODE) & SYMBOL_ORDER_CLOSEBY);
}


ЗЫ Обновил Sync.mqh. Больше CloseBy не используется. Анализ истории в отчетах и на чартах проводить стало проще. Спасибо за репорт!

Так на чарте Тестера выглядят сделки и выкинутый интервал

 

На данных MQ демо-сервера всегда убыток -1127 с 10К начальных. 

На FxChoice лучше было.


На этом советнике разницы не увидел, но зато нашел бажок :) 

При подключении библиотеки Virtual не может скомпилировать строку с OrderSend


Вру, результат показывается :) 

2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   Amount of Delete Intervals = 0
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   00:00:00 - 23:59:59 : Profit = 2637.54, Total = 2641 (30.48%), PF = 1.11, Mean = 1.00, DD = 14834.15, RF = 0.18
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   SUMMARY: 00:00:00 - 23:59:59 : Profit = 2637.54, Total = 2641 (30.48%), PF = 1.11, Mean = 1.00, DD = 14834.15, RF = 0.18
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   Amount of Delete Intervals = 1
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   15:34:37 - 19:55:39 : Profit = 18700.06, Total = 827 (32.77%), PF = 9.58, Mean = 22.61, DD = 632.22, RF = 29.58
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   SUMMARY: 00:00:00 - 23:59:59 : Profit = 18700.06, Total = 827 (32.77%), PF = 9.58, Mean = 22.61, DD = 632.22, RF = 29.58


Файлы:
 
fxsaber:

Сервер не поддерживает CloseBy

ЗЫ Обновил Sync.mqh. Больше CloseBy не используется. Анализ истории в отчетах и на чартах проводить стало проще. Спасибо за репорт!

Так на чарте Тестера выглядят сделки и выкинутый интервал

   Уррраааа, заработало!    :))   Осталось только немного поправить, чтобы циферки совпадали.

   Вот предварительный прогон:

Action = false

   Вот с Action = true:

Action = true

    Вот статистика Тестера:

Tester 1              Tester 2

 
Mikola_2:

   Уррраааа, заработало!    :))   Осталось только немного поправить, чтобы циферки совпадали.       

При Action = false OnTester показывает прибыль, соответствующую вычисленному лучшему интервалу.

При Action = true (этот режим имеет смысл только на одиночных проходах) OnTester показывает final balance, что соответствовал Action = false;


Т.е при включенном Action OnTester покажет результат, будто лучшего интервала нет. Тем самым можно понять на сколько процентов улучшился результат, сравни данные в двух рядом-стоящих строках: final balance и OnTester result.


Что же касается нулевой SUMMARY при Action = true. То это не ошибка. Сделал так, чтобы понимать, что запущен режиме Action = true. Надо будет по другому об этом сообщать, а SUMMARY заполнять корректно. Просто от этого мало толку, ведь все эти данные уже есть в отчете Тестера

 
...:

На данных MQ демо-сервера всегда убыток -1127 с 10К начальных. 

На FxChoice лучше было.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Библиотеки: BestInterval

fxsaber, 2018.10.16 23:51

На штатных символах MT5 не запускал Тестер уже несколько месяцев.


На этом советнике разницы не увидел, но зато нашел бажок :) 

Нужны данные для воспроизведения critical error.

При подключении библиотеки Virtual не может скомпилировать строку с OrderSend

В описании к Virtual сказано, что она работает только для MT4-style кодов. Ваш советник - MT5-style. Поэтому с Virtual компилироваться не будет. Более того, Action = true работать так же не будет, т.к. там используется виртуальное торговое окружение. Однако, Action = false пахать будет. Поэтому для MT5-style нужно добавлять только эти строки

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define BESTINTERVAL_ONTESTER
#include <fxsaber\BestInterval\BestInterval.mqh>


Пишу все в MT4-style. Так удобно и универсально.

 
fxsaber:

При Action = false OnTester показывает прибыль, соответствующую вычисленному лучшему интервалу.

При Action = true (этот режим имеет смысл только на одиночных проходах) OnTester показывает final balance, что соответствовал Action = false;

Т.е при включенном Action OnTester покажет результат, будто лучшего интервала нет. Тем самым можно понять на сколько процентов улучшился результат, сравни данные в двух рядом-стоящих строках: final balance и OnTester result.

Что же касается нулевой SUMMARY при Action = true. То это не ошибка. Сделал так, чтобы понимать, что запущен режиме Action = true. Надо будет по другому об этом сообщать, а SUMMARY заполнять корректно. Просто от этого мало толку, ведь все эти данные уже есть в отчете Тестера. 

    Неа...    :)

Смотри, есть четыре цифры:

Action = false:  final balance 9080.02

                         OnTester      11895

Action = true:  final balance 13271.09

                         OnTester      12931

Ни одна пАра не совпадает. Мне кажется в OnTester где-то некорректно итог подбивается.

Да и должно что-то с чем-то совпадать, иначе как убедиться, что всё обсчитывается корректно...      :)

 
Mikola_2:

    Неа...    :)

Смотри, есть четыре цифры:

Action = false:  final balance 9080.02

                         OnTester      11895

Action = true:  final balance 13271.09

                         OnTester      12931

Ни одна пАра не совпадает. Мне кажется в OnTester где-то некорректно итог подбивается.

Да и должно что-то с чем-то совпадать, иначе как убедиться, что всё обсчитывается корректно...      :)

Это очень легко объясняется. Выделенное число - это окончательный баланс в виртуальном торговом окружении. Его профит вычисляется с TickValue = 1. А MT5-Тестер TickValue меняет на каждом тике. Для этого, в частности, он тянет данные с других пар. Более того, Virtual не считает комиссию и свопы, т.к. это все не нужно на самом деле, как и TickValue.

Сам запускаю все на кастомных символах. А там своп нулевой. Все валюты расчета равны валюте депозита. Тогда получается полное совпадение.

В общем, выделенный OnTester - это профит ТС без использования лучшего интервала, расчитанный с TickValue = 1, Commission = Swap = 0. Поэтому и получается, что торговля одним лотом всегда дает целый OnTester.