Советник Profit Generator - страница 43

 

Почему бэктестинг не работает?

Довольно хорошая и короткая статья о подводных камнях бэктестинга в целом.

http://www.tradejuice.com/trading-strategy/futures-not-histories-te.html

 

Прошлой ночью и сегодня утром PG сильно пострадал от моих настроек.

 

Мой герой

jojolalpin:
Привет всем! Подождите, прежде чем платить за TS! Мой тиковый бэктестер будет функциональным, и его легко заставить работать с mysql, Postgre, SQL_server или Access..... (если вы знаете, как кодировать ODBC соединения или я объясню вам)

Хорошо! Ты мужик!

 

Идея новой функции

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

Я пытался придумать, как уменьшить потери, когда наступает время NEWS.

Вот несколько идей, которые можно добавить в код, если это возможно:

ИДЕЯ 1:

Функция, похожая на трейлинг-стоп, только она должна переместить стоплосс в безубыток (или прибыль в 1 пункт) через заранее определенное время. Другими словами, есть функция, которая говорит: когда прибыль составит (X - заданное количество пунктов, например 20), то переместите стоплосс в безубыток (или на 1 пункт). Таким образом, когда появятся новости, они не будут просто уничтожать всю прибыль и сбивать ваш стоплосс за 5 минут.

или

ИДЕЯ 2:

Эта идея может быть немного сложнее в реализации, но она даже лучше, чем первая. Я не знаю, можно ли это сделать, но как насчет функции, которая в заранее определенное время каждый день (например, 8-9 утра по восточному времени или с 13:00 до 14:00 по GMT) советник проверяет, падает ли прибыль с заранее определенной скоростью (скажем, 10-15 пунктов), и если она идет против вашей позиции, он автоматически закрывает позицию. Функция, которая проверяет каждую минуту и если цена упала на X количество пунктов против вас, закрывает позицию.

Надеюсь, я смог объяснить, что я имею в виду. Если у вас есть вопросы, дайте мне знать.

 

Объяснение устаревших настроек

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

Настройка Obsolete Setting не закрывает сделку после 30M, вот что она делает на самом деле (что ОЧЕНЬ КРУТО).

Скажем, вы находитесь в позиции LONG на EURUSD и поднимаетесь на 30 пунктов (с тейк-профитом 40 и стоплоссом 30). Вдруг условия на рынке меняются, и вы начинаете терять свою прибыль. Настройки Obsolete проверяют каждые 30 минут (или 15, или 60, или как угодно), есть ли условия для того, чтобы вы оставались в длинной позиции. Если через 30 минут он говорит: "Условия изменились, теперь вы должны быть в короткой позиции!", он немедленно закрывает вашу длинную позицию, где бы она ни была (скажем, в данный момент вы поднялись всего на 5 пунктов), и открывает короткую позицию в противоположном направлении!!! Таким образом, вы не теряете всю свою прибыль и вам не нужно брать стоплосс. Таким образом, вы просто заработали 5 пунктов на сделке и не потеряли 30, которые, возможно, потеряли бы. Кроме того, поскольку вы теперь торгуете в противоположном направлении, есть большая вероятность, что вы сможете извлечь выгоду из изменения рынка, а не просто потерять деньги.

Надеюсь, это объясняет все понятно.

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

Я пытался придумать, как уменьшить потери, когда наступает время NEWS.

Вот несколько идей, которые можно добавить в код, если это возможно:

ИДЕЯ 1:

Функция, похожая на трейлинг-стоп, за исключением того, что она должна переместить стоплосс в безубыток (или прибыль в 1 пункт) через заранее определенное время. Другими словами, есть функция, которая говорит: когда прибыль составит (X - заданное количество пунктов, например 20), то переместите стоплосс в безубыток (или на 1 пункт). Таким образом, когда появятся новости, они не будут просто уничтожать всю прибыль и сбивать ваш стоплосс за 5 минут.

или

ИДЕЯ 2:

Эта идея может быть немного сложнее в реализации, но она даже лучше, чем первая. Я не знаю, можно ли это сделать, но как насчет функции, которая в заранее определенное время каждый день (скажем, 8-9 утра по восточному времени или с 13:00 до 14:00 по GMT) проверяет, падает ли прибыль с заранее определенной скоростью (скажем, 10-15 пунктов), и если она идет против вашей позиции, то советник автоматически закрывает позицию. Функция, которая проверяет каждую минуту, и если цена упала на X количество пунктов против вас, закрывает позицию.

Надеюсь, я смог объяснить, что я имею в виду. Если у вас есть вопросы, дайте мне знать.

Для меня сегодняшняя проблема с советником заключалась в большом количестве плохих входов. Простым способом предотвратить это в волатильные дни было бы создание опции true/false с переменной, которая говорит советнику: Принимать сделку только при выполнении условий плюс X пунктов. Таким образом, когда мы ожидаем волатильности, мы могли бы установить значение true и поставить высокое значение, например 20. Это позволило бы отсеять множество ложных сигналов на вход сегодня.

 
jojolalpin:
Спасибо Хендрик!

Я бы прочитал это с удовольствием. Не могли бы вы прислать адрес потока codersguru profit_protector.

Мы также можем прекратить торговлю в пятницу в полдень. Несколько часов потеряно, но эти плохие птицы, поющие "мы не торгуем против наших клиентов!", будут клювом в воде.

Привет, Джоджо!

Это та статья, о которой я тебе говорил:

https://en.wikipedia.org/wiki/Forex_scams

 
Hendrick:
Привет, Джоджо!

Это та статья, о которой я вам говорил:

https://en.wikipedia.org/wiki/Forex_scams

Это просто обескураживает!!! Но многое объясняет.

Кто-нибудь еще думает, что если это правда, то это похоже на рэкет? Но как тогда это доказать?

Я сделал pdf, чтобы сохранить, и приложил копию.

Файлы:
forex_scams.pdf  22 kb
 
 
jojolalpin:
Привет всем!

Подождите, прежде чем платить за TS! Мой тиковый бэктестер будет функционален и его легко заставить работать с mysql, Postgre, SQL_server или Access..... (если вы знаете, как кодировать ODBC соединения или я объясню вам).

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

Дома у меня есть Sql server и инструменты для анализа и добычи данных.

Как только я получу надежные результаты с помощью этих инструментов, я дам вам бесплатные инструменты, чтобы вы могли сделать то же самое у себя дома своим собственным способом (возможно, под управлением linux, но, как все знают, m$ - отстой). Я всегда буду делиться своими результатами (я бы не знал PG без вас).

Только что вернулся с отличной вечеринки, извините за мой английский, но трудно попасть в клавиатуру правильно. Конечно, я не буду кодить этой ночью, но у вас скоро будет бэктестер PG (надеюсь, в понедельник утром, я только работаю над ним).

Кроме того, завтра я опубликую форвардные заявления (список тестов holyguy7).

Салют!

джоджо

Джоджо, я согласен с VB и SQL-сервером в качестве базы данных или даже access мог бы быть лучшим решением для бэктестинга, но настоящая проблема в том, где мы можем получить надежные реальные тиковые данные.

Причина обращения: