Геннадий Попов
Элитный участник
FX Flat © v1.5 – идеальная версия!
-
FX Flat © v1.5
1. Изменен алгоритм входа в сделку и переворота.
Если раньше использовался анализ экстремумов нескольких последних свечек, то сейчас используются 3 МАшки.
Плюс: условия более приближены к рыночным, алгоритм более тонкий и гибкий.
Минус: тестируется дольше.
2. Исправлен анализатор последних закрытых сделок.
Стыдно признаться, но в предыдущих версиях закрытые сделки анализировались не с того конца истории. :facepalm:
Тот анализ, конечно, давал преимущество: даже первая сделка (по каждому часу) являлась некоторым показателем (хорош час или нет).
То есть, каждый раз, как надо было открываться или переворачиваться, анализировался один и тот же час (из 24-х, первый, соответствующий тому часу, в котором срабатывало условие на сделку, и мы начинали проверять историю). И каждый раз, поскольку при каждом анализе этого часа мы в истории «натыкались» на одну и ту же закрытую сделку (открытую ранее в этот же час), коэффициент постепенно понижался до минимального, или повышался до максимального - и сохранялся на протяжении всех торгов. :facepalm:
Теперь закрытые сделки анализируются с другого конца. )) Т.е. правильно. И коэффициент для каждого часа в итоге не превращается в фиксированный, а меняется в зависимости от рыночной ситуации.
* Вообще, если закономерность по часам есть, анализ закрытых сделок работает прекрасно. Прогоны с анализатором и без анализатора уверенно показывают преимущество анализа.
Если же закономерности нет, или она еще не выявлена (она может быть не столь явной, и, при недостаточной выборке, «матрица» коэффициентов не успевает отразить реальную картину; да и последующие сделки, если их мало, статистически не всегда соответствуют общей тенденции), прогоны с анализом и без анализа существенно не отличаются - где-то лучше, где-то хуже.
3. Появился счетчик, заставляющий сделку открыться/перевернуться.
В билде 625 при компиляции появляются желтые восклицательные знаки - предупреждения в тех случаях, когда мы оставляем ордер без проверки.
Например, открываем сделку (OrderSend) - и должны проверить, открылась ли она. Либо сервер вернул ошибку.
Вместо проверки на ошибки (коих может быть много, причины разные) я сделал счетчик (100 итераций), который, если ордер не сработал, включает паузу в 1/10 секунды и вновь пытается выставить ордер. И так 100 раз, пока не выставит.
4. Исправлен и упрощен алгоритм проверки последнего закрытого ордера.
П. 2 - это одно, а здесь я исправил ситуацию, когда в некоторых случаях брался не последний, а предпоследний закрытый ордер.
Дело в том, что раньше закрытие (для последующего переворота) ордеров стояло в коде после проверки истории. Просто поменял местами закрытие и проверку.
5. Появился стоп-лосс и тейк-профит.
Они не нужны, конечно. Система их не подразумевает. Она торгует без ордеров, всегда остается в рынке и лишь переворачивается.
Но если вы захотите проверить влияние SL и TP на показатели системы, вы можете это сделать, изменив параметры STOP_LOSS и TAKE_PROFIT (по умолчанию они равны 0).
Можно, кстати, проверить только стопы или только профиты. Иногда получаются очень интересные результаты. )
* Пункты, указанные в STOP_LOSS и TAKE_PROFIT, как и в DISTANCE_POINT, в коде умножаются на 10. Т.е. 1 пункт равен 10 на пятизнаке.
6. Изменен сет (рекомендуемые диапазоны для прогона). Сет прилагается к эксперту.
---
* Начинайте прогон с часов, а не с дистанции. Дистанцию поставьте на 1 (как и стоит по умолчанию).
Затем уже прогоняйте дистанцию. Потом можно повторить: еще раз часы (с уже выбранной дистанцией), но в узком диапазоне: +/- пара часов к тем, что получили в первом прогоне. И после - «залакировать» - еще раз прогнать дистанцию (опять же +/- несколько пунктов к той, что получили сначала).
* Прогоняйте сразу на тиках. Хоть в алгоритме не используются параметры открытой свечи, кроме последней цены (которая всегда соответствует close нулевой свечки), а проверяются только закрытые свечки, все равно иногда прогоны по контрольным точкам сильно искажают результаты.
* Так как периоды МАшек фиксированные, период для тестирования приобретает существенное значение. Разные валюты (пары) по-разному себя ведут «внутри» каждого из периодов. Как бы есть устойчивость, характерность по каждой паре - отдельно на мелких периодах и на крупных.
Например, прогоны оптов в широком диапазоне могут показывать малоинтересные результаты на одном периоде и очень интересные на другом.
* Именно ширина анализируемого диапазона, устойчивость на ней, и является основным аргументом в пользу торговли по данной паре: на данном таймфрейме и с данными оптами.
* Самый важный «опт» - это время. Те часы, тот интервал, который мы выбираем для работы системы.
Вне этого интервала сделки просто «висят» в рынке и имеют свои 50/50 минус свопы. Но отклонения от флэта мы ищем только в определенное время. В этом суть.
---
Примеры работы FX Flat © версии 1.5
«Любимая» (для этой системы) пара GBPNZD (вообще NZD против европейских валют), пятиминутки, все тики (построенные по истории минуток), период с середины декабря 2013 г. по 2014.03.22 (субботу), заложенный спред 5(50) пунктов, анализ закрытых сделок включен, динамический процент равен 1.
1. Прогон некоторого диапазона времени и дистанции, сортировка по прибыли, от минимальной и от максимальной (всего же 360 проходов):
2. Игра по выбранным оптам с KELLY_PERCENT=1:
3. Игра с оптимальным (не совсем оптимальным, а наилучшим по прибыли; задним числом, конечно) процентом от свободных средств, равным 8 (вместо 1-го в тестах):
* Напомню, всего 3 неполных месяца.
* Стартовый депозит равен $10000.
* Теоретически прибыль должна быть больше, но стоит ограничение на максимально допустимый лот.
---
В архиве: FX Flat © v1.5 + новый сет.
* Для build 625 и старше.
Описание самой системы, описание остальных оптов и история изменений - на предыдущей странице.
-
-
FX Flat © v1.5
1. Изменен алгоритм входа в сделку и переворота.
Если раньше использовался анализ экстремумов нескольких последних свечек, то сейчас используются 3 МАшки.
Плюс: условия более приближены к рыночным, алгоритм более тонкий и гибкий.
Минус: тестируется дольше.
2. Исправлен анализатор последних закрытых сделок.
Стыдно признаться, но в предыдущих версиях закрытые сделки анализировались не с того конца истории. :facepalm:
Тот анализ, конечно, давал преимущество: даже первая сделка (по каждому часу) являлась некоторым показателем (хорош час или нет).
То есть, каждый раз, как надо было открываться или переворачиваться, анализировался один и тот же час (из 24-х, первый, соответствующий тому часу, в котором срабатывало условие на сделку, и мы начинали проверять историю). И каждый раз, поскольку при каждом анализе этого часа мы в истории «натыкались» на одну и ту же закрытую сделку (открытую ранее в этот же час), коэффициент постепенно понижался до минимального, или повышался до максимального - и сохранялся на протяжении всех торгов. :facepalm:
Теперь закрытые сделки анализируются с другого конца. )) Т.е. правильно. И коэффициент для каждого часа в итоге не превращается в фиксированный, а меняется в зависимости от рыночной ситуации.
* Вообще, если закономерность по часам есть, анализ закрытых сделок работает прекрасно. Прогоны с анализатором и без анализатора уверенно показывают преимущество анализа.
Если же закономерности нет, или она еще не выявлена (она может быть не столь явной, и, при недостаточной выборке, «матрица» коэффициентов не успевает отразить реальную картину; да и последующие сделки, если их мало, статистически не всегда соответствуют общей тенденции), прогоны с анализом и без анализа существенно не отличаются - где-то лучше, где-то хуже.
3. Появился счетчик, заставляющий сделку открыться/перевернуться.
В билде 625 при компиляции появляются желтые восклицательные знаки - предупреждения в тех случаях, когда мы оставляем ордер без проверки.
Например, открываем сделку (OrderSend) - и должны проверить, открылась ли она. Либо сервер вернул ошибку.
Вместо проверки на ошибки (коих может быть много, причины разные) я сделал счетчик (100 итераций), который, если ордер не сработал, включает паузу в 1/10 секунды и вновь пытается выставить ордер. И так 100 раз, пока не выставит.
4. Исправлен и упрощен алгоритм проверки последнего закрытого ордера.
П. 2 - это одно, а здесь я исправил ситуацию, когда в некоторых случаях брался не последний, а предпоследний закрытый ордер.
Дело в том, что раньше закрытие (для последующего переворота) ордеров стояло в коде после проверки истории. Просто поменял местами закрытие и проверку.
5. Появился стоп-лосс и тейк-профит.
Они не нужны, конечно. Система их не подразумевает. Она торгует без ордеров, всегда остается в рынке и лишь переворачивается.
Но если вы захотите проверить влияние SL и TP на показатели системы, вы можете это сделать, изменив параметры STOP_LOSS и TAKE_PROFIT (по умолчанию они равны 0).
Можно, кстати, проверить только стопы или только профиты. Иногда получаются очень интересные результаты. )
* Пункты, указанные в STOP_LOSS и TAKE_PROFIT, как и в DISTANCE_POINT, в коде умножаются на 10. Т.е. 1 пункт равен 10 на пятизнаке.
6. Изменен сет (рекомендуемые диапазоны для прогона). Сет прилагается к эксперту.
---
* Начинайте прогон с часов, а не с дистанции. Дистанцию поставьте на 1 (как и стоит по умолчанию).
Затем уже прогоняйте дистанцию. Потом можно повторить: еще раз часы (с уже выбранной дистанцией), но в узком диапазоне: +/- пара часов к тем, что получили в первом прогоне. И после - «залакировать» - еще раз прогнать дистанцию (опять же +/- несколько пунктов к той, что получили сначала).
* Прогоняйте сразу на тиках. Хоть в алгоритме не используются параметры открытой свечи, кроме последней цены (которая всегда соответствует close нулевой свечки), а проверяются только закрытые свечки, все равно иногда прогоны по контрольным точкам сильно искажают результаты.
* Так как периоды МАшек фиксированные, период для тестирования приобретает существенное значение. Разные валюты (пары) по-разному себя ведут «внутри» каждого из периодов. Как бы есть устойчивость, характерность по каждой паре - отдельно на мелких периодах и на крупных.
Например, прогоны оптов в широком диапазоне могут показывать малоинтересные результаты на одном периоде и очень интересные на другом.
* Именно ширина анализируемого диапазона, устойчивость на ней, и является основным аргументом в пользу торговли по данной паре: на данном таймфрейме и с данными оптами.
* Самый важный «опт» - это время. Те часы, тот интервал, который мы выбираем для работы системы.
Вне этого интервала сделки просто «висят» в рынке и имеют свои 50/50 минус свопы. Но отклонения от флэта мы ищем только в определенное время. В этом суть.
---
Примеры работы FX Flat © версии 1.5
«Любимая» (для этой системы) пара GBPNZD (вообще NZD против европейских валют), пятиминутки, все тики (построенные по истории минуток), период с середины декабря 2013 г. по 2014.03.22 (субботу), заложенный спред 5(50) пунктов, анализ закрытых сделок включен, динамический процент равен 1.
1. Прогон некоторого диапазона времени и дистанции, сортировка по прибыли, от минимальной и от максимальной (всего же 360 проходов):
* Стартовый депозит равен $10000.
* Теоретически прибыль должна быть больше, но стоит ограничение на максимально допустимый лот.
---
В архиве: FX Flat © v1.5 + новый сет.
* Для build 625 и старше.
Описание самой системы, описание остальных оптов и история изменений - на предыдущей странице.
-