PDA

View Full Version : Советник FXOpen.TrendBasedOnFractals



MaxZ
04-02-2013, 07:44 PM
Здравствуйте.

Данный советник был заказан в теме (http://forum.fxopen.ru/showthread.php?91373-%D0%9E%D1%82%D0%B4%D0%B0%D0%BC-%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D0%BD%D0%B8%D0%BA-%D0%B8%D0%BD%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80-%D0%B8%D0%BB%D0%B8-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B7%D0%B0-%D0%B8%D0%B4%D0%B5%D1%8E&p=1450226&viewfull=1#post1450226).

Техническое задание (ТЗ) для данного советника было следующим:


Всем привет! Ветка весьма кстати. Хотелось бы обкатать в автоматическом варианте следующую идею трендовой ТС на основе краткосрочных макимумов/минимумов, или попонятней - верхних/нижних фракталов. Я ее уже затрагивал здесь на форуме в разных ветках, попытаюсь и тут.
Сам пытаюсь освоить язык MQL4. Но туговато дела продвигаются. Чувствую пока дойду до уровня самостоятельного написания советника - много воды утечет. Вы тут писали, что если идея будет неплохой поможете решить эту задачу (написание совы). Для нее мне необходимо написать сперва индикатор на основе фракталов (обычных, или fine_fractals поудобнее на мой взгляд, но не важно) и потом на его основе и сам ботинок.
1. Идея.
Критерий восходящего тренда - идет последовательное повышение краткосрочных минимумов ( нижних фракталов) - тренд восходящий. Идет последовательное понижение уже МАКСИМУМОВ (верхних фракталов) - тренд нисходящий.
Теперь о развороте. На каждый последний в последовательной цепочке фрактал, (если он только не ниже, в случае роста/не выше в случае снижения, предыдущего - ставиться горизонтальная линия КТУ (критический уровень тренда) восходящего или нисходящего тренда. Как только под последним уровнем КТУ восходящего формируется первый верхний фрактал (получается как раз на одном из откатов начавшегося коррекционного движения) КТУ восходящего тренда убирается и ставится уже КТУ нисходящего тренда. Все - с этого момента тренд считается противоположным предыдущему, пока все не поменяется обратно. (Не появится первый нижний фрактал выше последнего уровня верхнего фрактала в нисходящей цепочке)
Во флете бывают ожидаемые убытки, но все с лихвой перекрывается на более-менее устойчивом движении за счет раннего входа.
Свою ТС я максимально упростил под эту идею (раньше я еще ждал дополнительного пробоя ближайших от цены фрактальных уровней для входа, ) без профита но со стопами на уровне 2-го от цены фрактала. но так теряется и время и лишние пп нового движения. И сейчас решил что не нужны ни профиты ни стопы. Сделка автоматически открывается с автоматическим закрытием предыдущей при смене этих критических уровней. Получается на открытии 2-го бара от нового ценового экстремума (в этот момент как раз и появляется фрактал)
Тайм фрейм оптмальный для меня Н-1 (можно и М-15 но там ложных входов больше)
К сожалению из-за занятости часто нет возможности находиться постоянно у монитора из-за чего постоянно возникают проблемы со своевременным входом и выходом из рынка. Поэтому и решил прибегнуть к автоторговле.

Так как нет надобности делать сначала индикатор, а потом советник, то ТЗ было упрощено до того, что конечным продуктом станет советник без индикатора.

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

Пробежимся по настройкам советника:


Общие параметры:
- Risk, параметр для использования динамического лота (используется (Risk*100)% от свободных средств);
- Lots, постоянный лот (используется, если Risk = 0.0);
- Slippage, проскальзывание;
- Magic, магическое число.

Настройки торгового алгоритма:
- FracBarsF, количество баров справа, по которым определяем фрактал;
- FracBarsB, количество баров слева, по которым определяем фрактал.

Прочие параметры:
- UseGraphicObjects, true - графические объекты (линии) используются, false - используются.

Советник рисует на графике торгового инструмента, на котором он работает, линии. Горизонтальную линию КТУ восходящего тренда раскрасил в синий цвет. Горизонтальную линию КТУ нисходящего тренда раскрасил в красный цвет. Также используется ещё две вертикальные линии (также синяя и красная) для обозначения времени фрактала, который стал причиной изменения КТУ.

Если что-то не понятно по линиям, то читайте ТЗ от Автора идеи и гоняйте советник в режиме визуализации! Сразу всё поймёте! ;)

Просьба в дальнейшем данный советник обсуждать здесь.

ВНИМАНИЕ!!! Советник не предназначен для реальной торговли. Только для тестирования. На демо тоже можно поставить, но нет блока обработки ошибок. Так что можете очень поднадоесть серверу частыми ошибочными запросами!

С уважением, Максим З..

MaxZ
04-02-2013, 09:00 PM
Для данного советника была предложена следующая модернизация:


Посмотрел сегодня предложенный алгоритм советника ThirdHand.TrendBasedOnFractals. Можно в принципе поторговать ним на некоторых таймфреймах (на пример на Н1). Но есть один нюанс, советник достаточно часто теряет заработную прибыль в одной сделке. Следовательно, нам необходимо иметь возможность устанавливать рамки фиксации прибыли и стопа. Можно добавить в переменные советника, три ячейки: "уровень тейка", "уровень стопа" и "размер без убытка (в пунктах)".

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

Пробегусь по параметрам советника (надеюсь в таком виде они стали не менее читабельны):


Общие параметры:
- Risk, параметр для использования динамического лота (используется (Risk*100)% от свободных средств);
- Lots, постоянный лот (используется, если Risk = 0.0);
- Slippage, проскальзывание;
- Magic, магическое число;
- TakeProfit, StopLoss, уровни стопов (вводить нужно целое число, которое при выставлении уровней стопов умножается на величину, равную одному пункту);
- MarketExecution, true - для брокеров с исполнением "Market Execution", false - "Instant Execution".

Параметры для TrailingStop'а:
- UseBreakevenLevel, true - выставление уровня безубытка включено, false - выключено;
- BreakevenLevel, значение профита в пунктах, после которого выставляется безубытка (используется, если UseBreakevenLevel = true);
- UseTrailing, true - TrailingStop включен, false - выключен;
- TrailingStop, TrailingStep, основные параметры для TrailingStop'а (используется, если UseTrailing = true).

Примечание: для параметров BreakevenLevel, TrailingStop, TrailingStep нужно вводить целое число (см. пояснение к параметрам TakeProfit и StopLoss).

Настройки торгового алгоритма:
- FracBarsF, количество баров справа, по которым определяем фрактал;
- FracBarsB, количество баров слева, по которым определяем фрактал.

Прочие параметры:
- UseGraphicObjects, true - графические объекты (линии) используются, false - используются.

P.S.: ну и названище у советника получилось! :D :D

ВНИМАНИЕ!!! Советник не предназначен для реальной торговли. Только для тестирования. На демо тоже можно поставить, но нет блока обработки ошибок. Так что можете очень поднадоесть серверу частыми ошибочными запросами!

slos
05-10-2013, 03:26 PM
За последний месяц пока возился с тестированием своих последних выполненных заказов - совсем несправедливо забыл об алгоритме использующем критические линии тренда (КТУ). А вед если разобраться - это пока к сожалению единственный ботинок, который при определенных условиях дает на тесте восходящую кривую роста депо.
(Н-4 с 2010 гг (раньше котировки проскальзывают) безубыток 50 пп трейлинг стоп 50 пп. Без предварительных уровней профита и S/L (показатели в настройках максимально увеличены, сделки закрываются т.о. по обратному сигналу как и предусмотрено в задании)
С др. настройками и на меньших таймах прибыли пока нет.
Давно бы поставил на микрореал, но существует проблема - линии КТУ с каждым новым включением компа начинают рисовать заново и ждать появления фракталов выше/ниже этих уровней соответственно тоже. Из-за этого сделки никогда на Н-4 не включаются.
И еще хотелось бы попробовать вариант совы, где уровни КТУ рисуются не по фракталам, а коленам ZZ (лини бай тренда по нижним, селл тренда - по верхним).
Но там существует та же проблема - ботинок при выключении компа не запоминает прежние уровни.
25746

MaxZ
05-10-2013, 04:00 PM
За последний месяц пока возился с тестированием своих последних выполненных заказов - совсем несправедливо забыл об алгоритме использующем критические линии тренда (КТУ). А вед если разобраться - это пока к сожалению единственный ботинок, который при определенных условиях дает на тесте восходящую кривую роста депо.
(Н-4 с 2010 гг (раньше котировки проскальзывают) безубыток 50 пп трейлинг стоп 50 пп. Без предварительных уровней профита и S/L (показатели в настройках максимально увеличены, сделки закрываются т.о. по обратному сигналу как и предусмотрено в задании)
С др. настройками и на меньших таймах прибыли пока нет.
25746

А по другим парам тесты, что вещают? :)


Давно бы поставил на микрореал, но существует проблема - линии КТУ с каждым новым включением компа начинают рисовать заново и ждать появления фракталов выше/ниже этих уровней соответственно тоже. Из-за этого сделки никогда на Н-4 не включаются.

Ок. Попробую этот момент исправить, как время найду. А точнее не исправить, а добавить в советник анализ ситуации при его включении.


И еще хотелось бы попробовать вариант совы, где уровни КТУ рисуются не по фракталам, а коленам ZZ (лини бай тренда по нижним, селл тренда - по верхним).
Но там существует та же проблема - ботинок при выключении компа не запоминает прежние уровни.

И этот момент посмотрю.

P.S.: Мы с Пользователем Slos вне форума занимались советником FXOpen.TrendBasedOnFractals, но только советник использовал в качеству экстремумов ZigZag, а не фракталы. Выложу тогда этот советник сюда.

slos
05-10-2013, 06:27 PM
Др. пары - "не айс". Хотя есть небольшие проблески. Правда с закачкой максимальных котировок по ним (кроме евробакса) времени пока не было. прогнал навскидку несколько пар. Выбрал из них более-менее.
Обрати внимание - серебро в плюсе (правда начало теста получилось с 2012 г. С раннего периода не получилось - проскользнуло) Да, может не принципиально - лот у меня везде динамический с риском 2.
25751257502574925748

MaxZ
05-11-2013, 02:50 AM
Др. пары - "не айс". Хотя есть небольшие проблески. Правда с закачкой максимальных котировок по ним (кроме евробакса) времени пока не было. прогнал навскидку несколько пар. Выбрал из них более-менее.
Обрати внимание - серебро в плюсе (правда начало теста получилось с 2012 г. С раннего периода не получилось - проскользнуло) Да, может не принципиально - лот у меня везде динамический с риском 2.
25751257502574925748

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

slos
05-11-2013, 04:39 PM
Да, блин. Непруха какая то. Все больше и больше сомнения что вообще можно запихнуть этот рыночный беспредел хоть в какие то рамки закономерностей. Тут по-моему даже теория вероятности работать не будет. :sm23:

MaxZ
05-11-2013, 05:24 PM
Да, блин. Непруха какая то. Все больше и больше сомнения что вообще можно запихнуть этот рыночный беспредел хоть в какие то рамки закономерностей. Тут по-моему даже теория вероятности работать не будет. :sm23:

Частое состояние Трейдера - отчаяние. Особенно в период поиска необходимых торговых подходов и тем более советника! :)

Sanyok11
05-12-2013, 07:30 AM
Да, блин. Непруха какая то. Все больше и больше сомнения что вообще можно запихнуть этот рыночный беспредел хоть в какие то рамки закономерностей. Тут по-моему даже теория вероятности работать не будет.

Рабочий процесс. Не расстраивайтесь.

slos
05-12-2013, 08:10 AM
Да я не расстраиваюсь. Просто репу чешу что еще можно придумать помимо того что еще до ума довести нужно. Уже и до мартинов опустился, сетки всякие погонял - рисковано. Хотя и заманчиво - не скрою. Но все же чересчур рисковано 25783

Можно конечно тупо положить много денег и зарабатывать пп 20 в день. Но тут тоже еще постараться нужно. Совсем уж тупо не получится (имхо).

MaxZ
05-12-2013, 04:31 PM
Можно конечно тупо положить много денег и зарабатывать пп 20 в день. Но тут тоже еще постараться нужно. Совсем уж тупо не получится (имхо).

А 1000$ хватит? А ведь слиться то вероятность всё равно остаётся... И эта вероятность на прямую зависит от количества пунктов безотката... Где безоткат - это движение с откатами < какого-то N в пунктах (настраиваемого)...

slos
05-12-2013, 06:05 PM
Сори, я имел ввиду положить много денег не на этот мартин. Имел ввиду ручную торговлю неважно по какой ТС стандартным лотом где 1 пп 10 $ (в идеале). А уж взять за день 20 пп намного реальнее, чем к примеру 100 (имхо). Ну как то так.
Хотя в принципе и с ним можно эксперементировать. К примеру в настройках там шаг сетки был 5 пп с профитом тоже 5 пп. Увеличив (на минутках) шаг до 10 пп с тем же профитом в 5 пп он стал чувствовать себя (на визуализации теста) гораздо увереннее. Но без ММ там делать нечего. На центовом счете с минимальным лотом где 1 пп = 1 цент. Он полноценно начинал работать примерно с 200$ депо - но это минимум на грани фола. И прибыль все равно хоть и ровная, но "несоизмерима с затратами" - несколько баксов в день, ну в лучшем случае десять, не больше.

MaxZ
06-03-2013, 09:03 PM
Здравствуйте, Slos. Я не забыл про Вашу просьбу доделать данный советник. И плюс к этому доделать и выложить версию, работающую по ZigZag'у. В ближайшее время всё это выполню. Я не забыл! Просто занимался другими заказами! :)

slos
06-04-2013, 08:36 AM
Приветствую! Я все вижу,:sm9: так что никаких обид. Причем слежу не только за своими заказами :smile216: