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

 
У  Aliaksandr Hryshyn замечательный класс для работы с CSV файлами - очень удобно и все откомментировано.
 
Aleksey Vyazmikin #:

Так исторические данные в модель подаете после обучения, и по итогу классификации уже работаете с историей сделок.

Исторические данные подаю до/для обучения. На неисторических/новых данных провожу торговлю обученной моделью.

Aleksey Vyazmikin #:

 Или у Вас меняются точки входа\выхода после обучения?

Меняются - так как модель предскажет, она может и ошибаться, вместо 1 давать 0 и наоборот. Каждый бар может быть входом и выходом.

Вы просто к своей системе привыкли, у вас жесткой логикой отсеивается часть строк, а модель только выбирает направление. (Если я правильно понял вашу систему)
Классический вариант, - модель сама выбирает момент когда торговать и направление. Для большей точности одна  модель на покупку и одна на продажу.

 
elibrarius #:

Исторические данные подаю до/для обучения. На неисторических/новых данных провожу торговлю обученной моделью.

Меняются - так как модель предскажет, она может и ошибаться, вместо 1 давать 0 и наоборот. Каждый бар может быть входом и выходом.

Вы просто к своей системе привыкли, у вас жесткой логикой отсеивается часть строк, а модель только выбирает направление. (Если я правильно понял вашу систему)
Классический вариант, - модель сама выбирает момент когда торговать и направление.

А, понял - переворотная система. Ну всё равно же рассчитать можно зная бары входов - излишней якобы точностью на данном этапе (я о спреде, но и его можно просто жестко задать или узнать на баре - если так уж надо), думаю, можно принебреч.

 
Aleksey Vyazmikin #:

А, понял - переворотная система. Ну всё равно же рассчитать можно зная бары входов - излишней якобы точностью на данном этапе (я о спреде, но и его можно просто жестко задать или узнать на баре - если так уж надо), думаю, можно принебреч.

Стараюсь, чтобы этап был всего один) Потому и нужен второй проход тестера с внутренним перезапуском.

Aleksey Vyazmikin #:

А, понял - переворотная система.

Не обязательно - счета с хеджированием позволяют одновременно в разных направления торговать и по несколько сделок в каждом.
 
Дебагер (b3566) не справляется с показом переменных внутренних типов.
void OnStart()
{
  struct STRUCT { int i; } Tmp;
  
  DebugBreak();
}

Строка для поискаOshibka 061.

 
elibrarius #:

Стараюсь, чтобы этап был всего один) Потому и нужен второй проход тестера с внтренним перезапуском.

Не обязательно - счета с хеджированием позволяют одновременно в разных направления торговать и по несколько сделок в каждом.

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

Конечно, хорошо, когда разработчик решает проблему радикально, но надо собрать целевую аудиторию для этого...

Мой подход в этом смысле удобней :)

 
Aleksey Vyazmikin #:

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

У меня сейчас это делает индикатор, пробегает вперед от текущей точки и делает разметку. Но так можно только что-то примитивное разметить, типа ТП/СЛ.

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

Нужно или 2 прохода или не учет в итоговой статистике разметочных/тестовых сделок.
 
elibrarius #:


Нужно или 2 прохода или не учет в итоговой статистике разметочных/тестовых сделок.

Для нескольких проходов есть режим оптимизации. Можно или свой фиктивный логический параметр завести (переключатель IS/OOS), или использовать режим форварда.

 
Stanislav Korotky #:

Для нескольких проходов есть режим оптимизации. Можно или свой фиктивный логический параметр завести (переключатель IS/OOS), или использовать режим форварда.

Можно, но нужно тогда делать полную оптимизацию и чтобы IS запускался и сохранял файл раньше запуска OOS.
Форвард не выйдет - нужно 2 прохода на одних и тех же данных, а не разных.

 
elibrarius #:

Форвард не выйдет - нужно 2 прохода на одних и тех же данных, а не разных.

Можно сделать кастом-символ с двумя копиями истории.