Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
MQL5 Cloud Network это сеть распределенных вычислений. Оцени сам!
SuperTrender
102
SuperTrender 2013.07.31 08:03 

«Супер Закрывашка».

Открытый проект по разработке утилиты «Супер Закрывашка». Приглашаются все желающие, нужно написать код (открытый, в исходниках), будут обсуждения, корректировки…

Вот еще мне нужна супер закрывашка - я несколько раз попадал, когда хотел открыться или закрыться на свече. И терял почти все - потому что меня оттопыривали, потому что цена изменялась. Я пытался через стоп - но стоп по умолчанию предлагает 100 пунктов (по разным активам разное количество) от ТЕКУЩЕЙ цены, поэтому стоп мне тоже не давали поставить. Решения я нашел - надо стоп ставить на 20 или 50 (это надо проверять) выше разрешенных 100 пунктов.

Суть закрывашки вот в чем – если по любасу надо закрыть:

- пытаемся цену поймать в коридор между стопом и тейком

- не получается - расширяем коридор в ту или в другой сторону (или в обе сразу)

- как только удалось поставить границу (хотя бы одну) – тянем ее за ценой, если цена движется в другую сторону от поставленной границы

- пытаемся уменьшить по возможности коридор

Итак, супер закрывашка должна:

Первая итерация:

По выбранным или по всем ордерам ОДНОВРЕМЕННО производить следующее:

- посылать сигнал на закрытие по текущей цене

- ставить разрешенный стоп, минимальный по данному активу, плюс Z (задаваемое) количество пунктов, при срабатывании - сразу запускать трейлинг стоп

- ставить разрешенный тейк, минимально близкий по данному активу, плюс Q (задаваемое, как правило, равно Z)

Здесь надо сделать искусственный трейлинг тейк, т.е. если цена идет нам в убыток, а нам удалось поставить тейк, мы все время переставляем тейк на этом заданном расстоянии (т.е. по сути, уменьшаем тейк с точки зрения прибыли).

Вторая итерация:

2. Если не срабатывает тейк, потому что цена так быстро бежала, что все равно оказалось, что не хватает пунктов, повторяем попытку, в которой ОДНОВРЕМЕННО (если это возможно одновременно):

- посылаем сигнал на закрытие по данной цене

- пытаемся выставить минимальный по данному активу тейк от новой текущей цены плюсу Q плюс еще Х (это тоже задаваемый параметр)

Т.е. например, разрешено ставить тейк на 100 пунктов от текущей цены, на первой итерации мы пытались ставить 120 пунктов (20 - это заданный параметр Q), не удалось – мы на второй итерации ставим 150 пунктов, если параметр Х равен 30 (т.е. 100 +Q+Х).

Крайне желательно (это можно делать тут же - на второй итерации программы, а можно, конечно и не делать): при этом ОДНОВРМЕННО пытаемся приблизить стоп на F (если он сработал, т.е. поставился, то он тянется за текущей ценой на минимально допустимом расстоянии плюс Z), т.е. например Z было 20 пунктов, стоп поставился и тянется по трейлинг стоп на минимальном расстоянии по активу +Z, т.е. на 120 пунктов, мы пытаемся приблизить его к текущей цене на F пунктов, т.е. допустим, F=10, мы пытаемся выставить стоп на следующую величину от текущей цены (100+Z-Y, т.е. 100+20-10=110).

А если проканало, то сразу же пытаемся на разрешенные 100 пунктов.

При этом всегда, запускаем трейлинг стоп!

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

3. Если не срабатывает стоп, потому что цена так быстро развернулась, что все равно оказалось, не хватает пунктов, повторяем попытку, в которой ОДНОВРЕМЕННО (если это возможно одновременно):

- посылаем сигнал на закрытие по данной цене

- выставить минимальный по данному активу стоп от новой текущей цены плюс Z плюс еще Y (это тоже задаваемый параметр)

Т.е. например, разрешено ставить стоп на 100 пунктов от текущей цены, на первой итерации мы пытались ставить 120 пунктов (20 - это заданный параметр Z), не удалось – мы на второй итерации ставим 150 пунктов, если параметр Y= 30 (т.е. 100 +Z+Y).

Крайне желательно (это можно делать тут же - на второй итерации программы, а можно, конечно и не делать): при этом ОДНОВРМЕННО пытаемся приблизить тейк на S (если он сработал, т.е. поставился, и переставляется на минимально допустимом расстоянии плюс Q), т.е. например Q было 20 пунктов, тейк переставляется на минимальном расстоянии по активу +Q, т.е. на 120 пунктов, мы пытаемся его приблизить к текущей цене на S пунктов, т.е. допустим, S=10, мы пытаемся выставить тейк на следующую величину от текущей цены (100+Q-S, т.е. 100+20-10=110).

Если у нас не сделано пока автоматическое придвижение (изменение) тейка, тогда одновременно при удачной постановке тейка и отказе в получении стопа пытаемся ставить тейк на (100+Q-S, т.е. 100+20-10=110).

Ну, допустим, ты шортил, цена вдруг развернулась, тейк поставился, а стоп нет - цена развернулась вверх – пытаемся стоп поставить еще выше от разрешенных 100 пунктов, чем в первой попытке (не на 120 от текущей, а на 150), а тейк поднимаем (т.е. по прибыли уменьшаем), причем не на то же расстояние, а пытаемся еще ближе к разрешенным 100 пунктам, чем в первой итерации (не на 120, а на 110).

ВНИМАНИЕ: здесь надо хорошо подумать – стоит ли переставлять тейк, используя параметр S – дело в том, что мы, например, уменьшим диапазон – сделаем не 120, а 110 пунктов (при разрешенных100) - а он из-за этого не поставится??? Или тут же сделать попытку снова со 120 пунктами? Если все делается очень быстро, можно делать много попыток: не получилось сузить диапазон, тут же делаем заход, расширив до прежних 120 пунктов.

4. Если отказали и в стопе, и в тейке, тогда мы еще расширяем коридор по ним на задаваемые параметры У и Х (соответственно).

Третья итерация:

5. Если на второй итерации поставились стоп и/или тейк, с расширением диапазона на У и Х, это не очень хорошо, надо третьей итерацией пытаться их не только тащить за текущей ценой (стоп трейлингом и тейком программно), но и пытаться сократить диапазон на те же У и Х:

- расширение тейка на Х может происходить на второй итерации (см. пункт 2 и 4)

- расширение стопа может происходить на Y на второй итерации (см. пункт 3 и 4)

Четвертая итерация:

6. Желательно: если поставились на первой итерации тейк и/или стоп, по стопу у нас включен трейлинг стоп, а по тейку, если цена развернулась в сторону стопа, и сделано перетаскивание тейка (как сказано в пункте 1, на минимальное расстояние + Q), тогда надо пытаться сузить коридор по стопу и тейку на F и S (см. пункт 2.3).

Это делается уже на второй итерации:

- поставиться тейк с парметром Q может на первой итерации (см. пункт 1 и 3)

- поставиться стоп с параметром Y может на первой итерации (см. пункт 1 и 2)

Повторюсь - внимание!!!

ВНИМАНИЕ: здесь надо хорошо подумать – стоит ли переставлять тейк, используя параметр Х, – дело в том, что мы, например, уменьшим диапазон – сделаем не 120, а 110 пунктов (при разрешенных100) - а он из-за этого не поставится??? Или тут же делать попытку снова со 120 пунктами? Если все делается очень быстро, можно делать много попыток: не получилось сузить диапазон, тут же делаем заход, расширив до прежних 120 пунктов.

Суть закрывашки вот в чем – если по любасу надо закрыть:

-пытаемся цену поймать в коридор между стопом и тейком

- не получается - расширяем коридор в ту или в другой сторону (или в обе сразу)

- как только удалось поставить границу (хотя бы одну) – тянем ее за ценой, если цена движется в другую сторону от поставленной границы

- пытаемся уменьшить по возможности коридор

Для стопа параметры:

Расширение коридора, задаваемое сразу на первой итерации:

для стопа - Z

для тейка –Q

Расширение для второй итерации:

для стопа Y

для тейка X

Уменьшение коридора на второй итерации (очень желательно, но не обязательно):

для стопа - F

для тейка - S

Уменьшение коридора на третьей итерации (после расширения на второй):

- те же, что и для расширения на второй!!! (т.е. для стопа Y, для тейка X)

Ждем предложений, готовы к сотрудничеству!

PS

Вся реализация должна быть на MQL4, т.к. не все брокеры поддерживают MQL5 (но продумать возможность в дальнейшем портировать на MQL5).

PPS

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

михаил потапыч
19488
михаил потапыч 2013.07.31 08:07  
SuperTrender:


- ставить разрешенный стоп, минимальный по данному активу, плюс Z (задаваемое) количество пунктов, при срабатывании - сразу запускать трейлинг стоп


И сколько платите ?
TarasBY
1739
TarasBY 2013.07.31 08:24  
ПришОл очередной теоретик. :)))
ktest0
631
ktest0 2013.07.31 08:35  

Да простят меня модераторы, но и на вторую вашу "супер" идею я вынужден откомментировать как и на первую, а именно:


Что вы подразумеваете под "сотрудничеством"?

Какую часть труда вы готовы взять на себя?

Надеюсь не только генерацию идей, контроль и руководство?

Роман
7939
Роман 2013.07.31 08:40  
TarasBY:
ПришОл очередной теоретик. :)))

ТоАлл: Разрешите добавить - "теоретик"-гусляр!!! :-)
Avals
3154
Avals 2013.07.31 08:44  
Пора завести ветку типа "ищу негра"))
Леонид
5841
Леонид 2013.07.31 09:36  
SuperTrender: Суть закрывашки вот в чем – если по любасу надо закрыть
Если полюбасу надо закрыть, то изначально необходимо полюбасу открыть. Поэтому сначала нужно сделать "супер Открывашку" )))
Leonid Borsky
2386
Leonid Borsky 2013.07.31 09:39  
SuperTrender:

«Супер Закрывашка».

Открытый проект по разработке утилиты «Супер Закрывашка». Приглашаются все желающие, нужно написать код (открытый, в исходниках), будут обсуждения, корректировки…

Суть закрывашки вот в чем – если по любасу надо закрыть:.....

Оч. много "букафф". Ну, очень. Надо долго вникать. Вечером попробую. И если найду "рац.зерно", - то отпишусь.
TarasBY
1739
TarasBY 2013.07.31 10:53  
LeoV:
Если полюбасу надо закрыть, то изначально необходимо полюбасу открыть. Поэтому сначала нужно сделать "супер Открывашку" )))
Всё одним махом сразу не обхватишь - полюбасу. :)
Sergey Guliaev
2301
Sergey Guliaev 2013.07.31 12:39  
LeoV:
Если полюбасу надо закрыть, то изначально необходимо полюбасу открыть. Поэтому сначала нужно сделать "супер Открывашку" )))

Супероткрывашка скоро будет выложена, да и закрывашка тоже. Причем одним махом )))

Выложил ))) Здесь

Vladimir Pastushak
65982
Vladimir Pastushak 2013.07.31 19:00  
LeoV:
Если полюбасу надо закрыть, то изначально необходимо полюбасу открыть. Поэтому сначала нужно сделать "супер Открывашку" )))


+10 )))))))))) в анналы

Так нельзя сначала сработает открывашка и тут же сработает закрывашка ....

между ними нужны удержашка, продвигашка, изменяшка, информашка ......

/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий