Jump to content
Lev050

Советник: Lev_martin

Recommended Posts

Lev050
Всем бодрого времени суток.

 

 

Сергей этот резалт был ожидаемым. Вот что я думаю по этому поводу. Твой советник является как бы идейным потомком Чебурашки, но... Чебурашка ведь был создан под конкретную торговую систему Mooving-а, как защитник от неверного входа. Причем, что самое важное, точку входа Mooving определял самостоятельно. Иначе говоря Чебурашка представляет собой, только «руки трейдера». И в его случае мартингейл был обоснован.

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

В общем тебе открылось поле для деятельности по улучшению своего детища. «Руки» ты уже прикрутил, теперь думай над тем как прикрутить «голову».

 

Я тут состряпал ТЗ и Максим (координаты в исходнике) написал советника. Посмотрите, может что пригодится.

ТЗ Умный Мартин.

Пытаемся работать по тренду.

Если сразу не получаем ТР, то следующие ордера в серии ставим не через равные промежутки, а в зависимости от

ситуации на рынке. Если и это не помогает, то пытаемся закрыть серию с небольшим убытком.

Пара EURUSD

Внешние переменные:

Magic=111

Znak=4 - количество знаков после запятой 4 или 5

ТФ1(старш)=10080 - недельный

МА1(старш): ТФ, период и т.д.

ТФ2(старш)=1440 - дневной

МА2(старш): ТФ, период и т.д.

ТФ3(старш)=240 - 4 часовой

МА3(старш): ТФ, период и т.д.

ТФ4(старш)=60 - 1 часовой

МА4(старш): ТФ, период и т.д.

ТФ5(младший рабочий)=5

МА5(мл): ТФ, период и т.д.

PLUS=7 (пунктов)

TP=15 (пунктов)

SL=500 (пунктов)

KLot=0 - если KLot=0, то объем первого ордера в серии всегда равен V, если KLot=1, то объем первого ордера в серии

равен +0.01 на каждые +500$ депозита или -0.01 на каждые -500$ депозита. Это значит, что если депозит станет

меньше 500$, то новая серия не начнется.

V=0.01

UB=30 (пунктов)

S=3 допустимое проскальзывание в пунктах

norm=3 - нормально допустимое количество ордеров в серии

max=5 - максимально возможное количество ордеров в серии

Avaria=-3 (пунктов) или любое другое число пунктов, например 0 или +2 или -4 пунктов

Описание работы советника, для серии SELL ордеров. Для серии BUY все зеркально.

1. Если ВСЕ МА (старшие) падают и МА (младшая) падает и значение закрытия предыдущего-2 бара на рабочем ТФ больше

значения МА (млад) и значение закрытия предыдущего-1 бара на рабочем ТФ меньше

значения МА (млад) и значение закрытия предыдущего бара на рабочем ТФ меньше

значения МА (млад), то выставляем ордер SELL номер 1.

2. Если ордер закрылся по ТP, то идем на пункт 1.

3. Если цена поперла против нас уже больше чем на UB от предыдущего ордера и в то же время МА (младшая) начала падать и

значение закрытия предыдущего-2 бара на рабочем ТФ больше

значения МА (млад) и значение закрытия предыдущего-1 бара на рабочем ТФ меньше

значения МА (млад) и значение закрытия предыдущего бара на рабочем ТФ меньше

значения МА (млад), то выставляем следующий ордер SELL.

SL такой же как у первого ордера серии. Объемом=объем(пред.ордера)*2. TP всех ордеров в серии модифицируем и (для всей серии)

устанавливаем в безубыток + PLUS.

4. Если серия закрылась по общему TP=безубыток + PLUS, то идем на пункт 1.

5. Серию продолжаем, пока не сработает безубыток + PLUS для всей серии или количество ордеров в серии досигло max.

Если количество ордеров в серии досигло max, то серию закрываем и идем на пункт 1.

Особое условие.

Если ордеров в серии стало больше чем norm, то в дальнейшем, при выставлении следующего ордера серии,

TP всех ордеров в серии модифицируем и (для всей серии) устанавливаем в безубыток + Avaria.

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

Ну, естественно, должны быть все стандартные прибамбасы для реала: блок обработки ошибок, учет S, ну и т.д.

lev_martin29102009.mq4

Edited by Programmer

Share this post


Link to post
Share on other sites
Programmer

Спасибо, Lev050!

Интересное ТЗ. Если есть желание - продолжайте развивать советника в данной ветке.

Share this post


Link to post
Share on other sites
Lev050
Спасибо, Lev050!

Интересное ТЗ. Если есть желание - продолжайте развивать советника в данной ветке.

 

Нашли неточность в тексте советника.

Вот исправленная версия.

lev_martin29102009_re.mq4

Share this post


Link to post
Share on other sites
DonPic

Бодрого всем времени суток.

Погонял советник в тестере. Пооптимизировал.

.....

ТФ1(старш)=10080 - недельный

МА1(старш): ТФ, период и т.д.

ТФ2(старш)=1440 - дневной

МА2(старш): ТФ, период и т.д.

ТФ3(старш)=240 - 4 часовой

МА3(старш): ТФ, период и т.д.

ТФ4(старш)=60 - 1 часовой

МА4(старш): ТФ, период и т.д.

ТФ5(младший рабочий)=5

МА5(мл): ТФ, период и т.д.....

Как по мне, так многовато параметров влияющих на работу системы. Каждый набор параметров по сути есть отдельная система. Собсна мне показалось, что присутствует таже ошибка, что и у Сергея (Overturn v4.0). "Хитрые руки" приделали, но оставили "примитивную голову". : - )

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

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

Ну а так в общем, использование советника будет прибыльно 50/50 (условно). Когда-то угадаем с параметрами, когда-то нет.

Пока вот такие мысли. Но буду смотреть дальше.


Все проходит ... и это пройдет.

Share this post


Link to post
Share on other sites
cde.max

Я бы предостерег от искусственной оптимизации сейчас. На то есть причина. Во время оптимизации может произойти случай, когда цена будет слишком близко к желаемому уровню установки ТП, и данный ордер может быть пропущен. В целом, конечно, у него будет и СЛ, и ТП, но когда закроется серия, она закроется не т.к. по ТЗ. У Льва такой проблемы как я понял нет, т.к ДЦ разрешает ставить стопы где угодно.

 

Как красиво решить проблему пока не придумал. Можно написать блок который, будет держать в уме такую серию, и закрывать самостоятельно. Можно ставить ТП на другой уровень, отличающийся от нужного на 10-15 пунктов.

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

 

Но тут ещё надо подумать над лосями) Надо как-то ограничивать. Предложения?

Share this post


Link to post
Share on other sites
DonPic

Бодрого всем времени суток.

.....Но тут ещё надо подумать над лосями) Надо как-то ограничивать. Предложения?

Мне видится тока два направления развития мысли: 1) ограничивать размер лосей ("режь убытки - расти прибыль"); 2) ограничивать их количество (т.е. повышать точность входа).

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

Ну а для повышения точности входа нужна какая-то модель рыночного ценодвижения и уже на основании ее выстраивать систему входов. Если использовать машки, то я бы лично убрал их из внешних параметров. Дабы не возникало соблазна подстроится под прошлое движение. Машки можно сделать со скользящим периодом. Но тут нужно крепко задуматься о том что могут показать нам машки, а чего не могут.

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

Вот такие вот мысли возникли по этому поводу.

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


Все проходит ... и это пройдет.

Share this post


Link to post
Share on other sites
cde.max

В данном посте буду выкладывать последние версии советника.

 

09.11.2009

- Переработана функция restart(), теперь умеет принудительно заканчивать серию

- Добавлен код обработки ошибки выставления, слишком близкого ТП (если не возможно выставить ТП, то он выставляется на расстояние от цены в размере минимально допустимого уровня установки СЛ +2 спреда. Для тестирования, можно задать данный уровень как постоянный n-ого размера, т.к. в реальной торговле этот уровень может и уменьшаться, и увеличиваться)

- Добавлена функция с выводом коммментариев (выводит кол-во оредров в серии, и профит текущей серии)

 

11.11.2009

-Исправлено множественное открытие на одном баре. Теперь на каждом баре, при соблюдении условий, советник может открыть только один ордер.

 

15.11.2009

- Изменено управление лотами введена строка с используемыми лотами lot_used. Обращаем внимание, что кол-во лотов должно соответствовать максимальной допустимой серии. Строка должна заканчиваться " , ", пробелы отстутствовать, дробные писаться через точку. Если задать значение "-", будет использоваться старый мартин.

 

16.11.2009

- Переработано открытие. За первоначальное открытие отвечает функция f_signal, за открытие в серии f_signal2.

 

20.11.2009

- Введен режим полуавтомата с открытием сделки при присоединении советника к графику и последующее сопровождение сделки по алгоритму. Присутствует и стандартный режим автоматической работы.

 

pre_signal:

= -1 автомат

= 0 покупаем

= 1 продаем

 

close_when_exit

= true удаляем ордера при деинициализации советника

= false не удаляем ордера при деинициализации советника

 

warketwatch

= true - покупка/продажа выполнится с нулевыми стопом и тейком. Ордер будет модифицирован после открытия.

= false - при открытии позиции сразу же будут поставлены стоп и тейк

Для тех кому не разрешает ДЦ выставлять СЛ и ТП при открытии ордера.

 

25.11.2009 - переработан вход в соответствии с данным постом.

lev_martin20091116_re.mq4

lev_martin20091125.mq4

Edited by cde.max
update кода

Share this post


Link to post
Share on other sites
cde.max
Если использовать машки, то я бы лично убрал их из внешних параметров. Дабы не возникало соблазна подстроится под прошлое движение. Машки можно сделать со скользящим периодом. Но тут нужно крепко задуматься о том что могут показать нам машки, а чего не могут.

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

 

Машки убрать из внешних параметров непроблема. Но это ничего не изменит. Как выбрать парамерты под всех фин. инструментов для машек - вот где проблема. Я подумываю, о том чтобы по этому же сигналу открываться в противоположную сторону серии одним ордеров, ставить СЛ на такой же уровень в противоположную сторону, ТП, чтобы перекрывал ЛОСС серии, Лот подгонять под ЛОСС и ТП. Но надо как-то формализовывать вход в данном случае. Просматривать на истории, искать варианты. Времени сейчас у меня не много, так что исследованиями заниматься не могу. Но если будет четкое ТЗ с обоснованием обязательно сделаем пробник.

 

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

Share this post


Link to post
Share on other sites
cde.max
Обнаружил неприятную вещь.

При тестировании начал уменьшать параметр UB до 15, т.е. после скольки пунктов ухода цены не в нашу сторону можно начинать искать условие для установки следующего ордера в серии.

На ТФ=5 бар запросто оказывается размером больше 15 пунктов и советник лепит следующий ордер прямо на этом же баре. Условие то пока сохранилось прежнее.

Это неправильно.

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

 

Сделано.

lev_martin09112009_re.mq4

Share this post


Link to post
Share on other sites
Lev050
Сделано.

 

Спасибо.

Посмотрим.

Share this post


Link to post
Share on other sites
AleR

Прогнал на тестере с апреля 2008 года. Только покупки и ни одной продажи. Хотя с августа 2008 года советник должен был продавать.

Тесты.rar


«Этот непостижимый и загадочный моментум торгового Бытия. Именно он даёт нам возможность получать деньги из воздуха или отправлять их обратно.» (с)

Share this post


Link to post
Share on other sites
DonPic
.... Хотя с августа 2008 года советник должен был продавать.

А советнику было разрешено продавать?


Все проходит ... и это пройдет.

Share this post


Link to post
Share on other sites
AleR
А советнику было разрешено продавать?

 

А где устанавливается опция "разрешить советнику продавать"?


«Этот непостижимый и загадочный моментум торгового Бытия. Именно он даёт нам возможность получать деньги из воздуха или отправлять их обратно.» (с)

Share this post


Link to post
Share on other sites
AleR

Прогнал тест с августа 2008 года. Получились только продажи и ни одной покупки. Что я делаю не так?

Тесты 2.rar


«Этот непостижимый и загадочный моментум торгового Бытия. Именно он даёт нам возможность получать деньги из воздуха или отправлять их обратно.» (с)

Share this post


Link to post
Share on other sites
Sensh
А где устанавливается опция "разрешить советнику продавать"?

В тестере свойства эксперта, тестирование, Long & Short, если не поможет, значит что то в коде советника.:3:

Share this post


Link to post
Share on other sites
AleR
В тестере свойства эксперта, тестирование, Long & Short, если не поможет, значит что то в коде советника.:3:

 

Там выбрано "Long & Short".


«Этот непостижимый и загадочный моментум торгового Бытия. Именно он даёт нам возможность получать деньги из воздуха или отправлять их обратно.» (с)

Share this post


Link to post
Share on other sites
cde.max
Прогнал на тестере с апреля 2008 года. Только покупки и ни одной продажи. Хотя с августа 2008 года советник должен был продавать.

 

Проверю. Проблем с поиском сигнала не было ни разу. Если бы ещё Вы указали конкретный момент когда не так, было бы очень хорошо.

Share this post


Link to post
Share on other sites
cde.max
Прогнал на тестере с апреля 2008 года. Только покупки и ни одной продажи. Хотя с августа 2008 года советник должен был продавать.

Я посмотрел что у вас параметры заданы, наверно не так как вы хотите. UB=27, что значит, если вы тетстируете на терминале Альпари, что следующий ордер в серии будет выставляться, если цена прошла 2,7 пункта против нас. Slippage - тоже можно поправить.

Насчет ошибки пока мне не ясно, есть ли она или нет. В следующий раз прикрепляйте пожалуйста .set файлы для советника.

 

Я перезалил эксперта, навсякий случай, вдруг не то сбросил. Но сделки в бай и в селл открывает. Смотрите за настройками, т.к. если у вас 4 знака после запятой, а ТП = 200 и СЛ = 5000, то в случае движения в противоположную сторону он долго будет держать серию, т.к. это 1/3 цены пары)) И судя по тесту, у вас остановились торги из-за опустошения виртуального депозита.

 

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

Edited by cde.max

Share this post


Link to post
Share on other sites
AleR

Я перезалил эксперта...

 

Заработало!


«Этот непостижимый и загадочный моментум торгового Бытия. Именно он даёт нам возможность получать деньги из воздуха или отправлять их обратно.» (с)

Share this post


Link to post
Share on other sites
Lev050

Вроде все нормально, кроме одного.

При попадании против упорного практически долгого безоткатного тренда. к=2 приведет к сливу любого депозита.

Т.е. последовательность ордеров:

0.01

0.02

0.04

0.08

0.16

ну и т.д. использовать нельзя.

Необходимо заменить на другую:

0.01

0.02

0.03

0.05

0.08

0.13

0.21

0.34

0.55

0.89

ну и т.д.

Т.е. лот следующего ордера равен сумме двух предыдущих.

Удвоение только для второго ордера в серии.

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

Переделки, наверное, не очень сложные?

Share this post


Link to post
Share on other sites
Mooving

Необходимо заменить на другую:

0.01

0.02

0.03

0.05

0.08

0.13

0.21

0.34

0.55

0.89

ну и т.д.

Т.е. лот следующего ордера равен сумме двух предыдущих.

Удвоение только для второго ордера в серии.

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

Переделки, наверное, не очень сложные?

При срабатывании 3-го ордера вы выходите в ноль.Все остальные ордера при срабатывании дают уже отрицательный результат.Здесь речь,скорее всего,может идти о некой минимизации убытков , но ни как о получении прибыли ...


«В будущем на рынке останется два вида компаний: те, кто в Интернете, и те, кто вышел из бизнеса»

Уильям Генри Гейтс III ( Билл Гейтс )

 

Иди, ибо пока ты в пути, есть у тебя надежда...

 

 

 

Share this post


Link to post
Share on other sites
cde.max
При срабатывании 3-го ордера вы выходите в ноль.Все остальные ордера при срабатывании дают уже отрицательный результат.Здесь речь,скорее всего,может идти о некой минимизации убытков , но ни как о получении прибыли ...

Не совсем так. У нас же ТП, плавающий, поэтому он всегда будет устанавливаться в безубыток. Или в зависимости от параметров Avira на другое расстояние от уровня безубытка для серии.

 

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

Переделки, наверное, не очень сложные?

 

Сделаю.

Share this post


Link to post
Share on other sites
Hitronrav
Не совсем так. У нас же ТП, плавающий, поэтому он всегда будет устанавливаться в безубыток. Или в зависимости от параметров Avira на другое расстояние от уровня безубытка для серии.

 

Вот из-за этого можно вообще убрать наращивание лота :-D

 

Протестировал советник за 3 года (ноябрь 2006 - ноябрь 2009), EURUSD, M5, все тики

1) в исходном варианте;

2) с постоянным лотом;

3) с увеличением лота по схеме, предложенной Lev050 (т. е. системе Фибоначчи вместо системы Мартингейла).

 

Вариант 1 дошел до 33 тысяч с начальных 10, прежде чем слить 13 июля 2009 года.

Вариант 2 - не слил, закончил на 19 тысячах. Были довольно долгие просадки из-за получения стоп-лоссов.

Вариант 3 - не слил, дошел до 25 тысяч. Тоже были просадки после стоп-лоссов, но менее продолжительные.

Martin.zip

NoMartin.zip

Fibo.zip

Share this post


Link to post
Share on other sites
cde.max

15.11.2009 - Изменено управление лотами введена строка с используемыми лотами lot_used. Обращаем внимание, что кол-во лотов должно соответствовать максимальной допустимой серии. Строка должна заканчиваться " , ", пробелы отстутствовать, дробные писаться через точку. Если задать значение "-", будет использоваться старый мартин.

 

Прогнал пару тестов, визуально ошибок не нашел. Но все равно проверяем.

lev_martin15112009.mq4

Share this post


Link to post
Share on other sites
Lev050
15.11.2009 - Изменено управление лотами введена строка с используемыми лотами lot_used. Обращаем внимание, что кол-во лотов должно соответствовать максимальной допустимой серии. Строка должна заканчиваться " , ", пробелы отстутствовать, дробные писаться через точку. Если задать значение "-", будет использоваться старый мартин.

 

Прогнал пару тестов, визуально ошибок не нашел. Но все равно проверяем.

 

Проверяем.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×