Отличный советник в бэктесте! - страница 66

 
xxDavidxSxx:
Откуда взялась версия 1.89d? Это версия 88, которая была модифицирована и куплена одним из нас или разработчиками CT?

1.89b/c/d являются преемниками 1.89 первоначально размещено fikko в сообщении 569

после чистой установки и импорта свежих исторических данных я все еще получаю очень хорошие результаты как v1.85, так и v1.89. я не знаю, что не так. работаю над решением проблемы.

 

https://www.mql5.com/en/forum/174806

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

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

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

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

Я бы хотел, чтобы кто-нибудь создал #include файл, который можно было бы легко использовать для ввода дат и времени, чтобы сделать это. Это будет лучше для всех, когда это будет доступно.

Дэйв неоднократно упоминал, что новости - это сложно. Почему бы не устранить эту трудность с помощью удобного дополнения к советнику?

 
kalamari:
1.89b/c/d являются преемниками 1.89, первоначально опубликованными fikko в посте 569 после чистой установки и импорта свежих исторических данных я все еще получаю очень хорошие результаты как v1.85, так и v1.89. я не знаю, что не так. работаю над решением проблемы.

Я использую 1.89d и 1.85f.

В последнее время я обнаружил одну важную вещь для уменьшения просадки - изменить

StopLossIndex = 2.5 на StopLossIndex = 5.

Работа с этим значением в 5 значительно уменьшила просадку.

Прилагаю отчет с моего реального счета за эту неделю....

Первые 6 сделок были от советника, сделка 7 была ручной, на которой я взял 2 пункта. Советник совершил следующие 3 сделки, первую по .5, а затем я уменьшил maxlots=.3, чтобы сохранить то, что он только что выиграл. оказалось, что это было хорошо, потому что покупка по .3 в 2006.10.6.12:52 была ответом советника на объявление, которого я не ожидал. Я совершил одну ручную сделку @ .1 лота сразу после объявления, а затем советник совершил одну сделку @ .3 лота после меня. Я совершил еще одну экспериментальную сделку на уровне .03 перед тем, как уйти на неделю. Я ошибся.

Если бы у советника была функция автоматических новостей "перейти в режим ожидания", о которой я упоминал в своем последнем сообщении, он бы не взял эти -10.50.

 
kalamari:
Я открыл сохраненные в автономном режиме данные - они выглядят нормально. бэктестер кэширует данные для целей тестирования. я также приложил график, подготовленный bt. wtf?

это правое изображение показывает тиковое представление, которое генерирует тестер.

 

Я открыл сохраненные в автономном режиме данные - они выглядят нормально.

Бэктестер кэширует данные в целях тестирования. Я также приложил график, подготовленный bt. что?

Это то, как данные подготавливаются для тестирования или что-то не так?

Файлы:
offline.gif  25 kb
backtester.gif  16 kb
 
Aaragorn:
https://www.mql5.com/en/forum/174806

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

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

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

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

Я бы хотел, чтобы кто-нибудь создал #include файл, который можно было бы легко использовать для ввода дат и времени, чтобы сделать это. Это будет лучше для всех, когда это будет доступно.

Дэйв неоднократно упоминал о том, что новости - это сложно. Почему бы не устранить эту трудность с помощью удобного дополнения к советнику?

Это отличная идея, а еще лучше... если бы он мог определять чрезмерную волатильность. Например, в одной или двух сделках. Чтобы не продолжать размещать 5-10 сделок во время слишком большой волатильности.

Потому что время выхода основных новостей хорошо известно... их 4 (2 в Лондоне и 2 в США). Есть много других моментов, когда новости могут выходить, но не всегда. Например, после американской сессии и перед лондонской. А также разбросанные по Лондону и США.

4 основных времени выхода новостей... все в EST... 4, 5 утра и 8:30, 10 утра. Но есть и другие в 2 часа ночи 7 утра 9 утра 12 вечера, 4:30 вечера, 5 вечера, 7 и 7:30 вечера, 9 вечера.

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

Если бы мы могли вводить конкретное время с датами в начале каждой недели, это бы помогло. Но для обратного тестирования это остается проблемой.

В моих бэк-тестах 4 основных времени убраны.

 

Обратите внимание, что просадка составляет менее 25%, и это при настройке риска .25, а не .025!

Вот в чем разница при изменении StopLossIndex = 5

 
Aaragorn:
На правой картинке показано тиковое представление, которое генерирует тестер.

Спасибо Аарагорн.

Я запускаю другой тест для 1.85 и после 24 месяцев было сделано 14k пунктов. Я все еще не знаю, что не так с моим тестом. Результаты Кэт и nikkeifx сильно отличаются.

 
xxDavidxSxx:
Это отличная идея Или даже лучше... если бы он мог обнаружить чрезмерную волатильность. Например, в одной или двух сделках. Чтобы он не продолжал размещать 5-10 сделок во время слишком большой волатильности.

Потому что основное время выхода новостей хорошо известно... их 4 (2 в Лондоне и 2 в США). Есть много других времен, когда новости могут выходить, но не всегда. Например, после американской сессии и перед лондонской. А также разбросанные по Лондону и США.

4 основных времени выхода новостей... все в EST... 4, 5 утра и 8:30, 10 утра. Но есть и другие в 2 часа ночи 7 утра 9 утра 12 вечера, 4:30 вечера, 5 вечера, 7 и 7:30 вечера, 9 вечера.

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

Если бы мы могли вводить конкретное время с датами в начале каждой недели, это бы помогло. Но для обратного тестирования это остается проблемой.

В моих обратных тестах убраны 4 основных момента.

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

 
kalamari:
Спасибо, Арагорн. Я провожу еще один тест на 1.85, и после 24 месяцев было сделано 14 тыс. пунктов. Я все еще не знаю, что не так с моим тестом. Результаты Кэт и nikkeifx сильно отличаются.

Я ценю ваши и всех остальных усилия в этой теме. Я искренне верю, что вместе мы можем сделать больше, чем каждый из нас может сделать в одиночку.