Создание универсальной системы отсечения флета для трендовых советников

 

Всем привет! Столкнулся с проблемой для всех трендовых советников - это флет, который буквально убивает весь ранее полученный профит. Задался целью создать что-то универсальное, дабы убыточные сделки свести к минимуму.

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

Суть идеи в следующем.

1) При получении заданного сигнала открывается сделка на продажу (sell) - 1 лот. Выше открытого ордера устанавливается сетка из отложенных ордеров на заданном расстоянии, скажем, в 20 пунктов - бай стоп, селл лимит - 2 лота; бай стоп, селл лимит - 4 лота; бай стоп, селл лимит - 8 лотов. Эти ордера локированные.

2) При достижении Тейк профита или уровня безубытка выставленные отложенные ордера удаляются.

2) При срабатывании бай стоп и селл лимита 2 лота мы ждем куда пойдет дальше цена. Если цена достигает тейк профита или уровня безубытка, то мы закрываем открытые отложенные ордера по функции СloseBy (такое закрытие позволяет получить экономию в 1 спред) и удаляем оставшиеся отложенные ордера. Если цена цепляет бай стоп и селл лимит (4 лота), то мы одновременно закрываем ордер селл (1 лот) и ордер бай (2лота), получая прибыль 20 пунктов. Далее если цена достигает открытого ордера селл (2 лота) мы закрываем этот ордер в ноль и открытые отложенные ордера (4 лота) по функции СloseBy и удаляем оставшиеся отложенные ордера.

3) Если цена пошла выше и зацепила бай стоп и селл лимит (8 лотов), то мы закрываем ордер селл 2 лота и ордер бай 4 лота. Если цена возвращается к ордеру селл (4 лота), то мы закрываем этот ордер в ноль и открытые отложенные ордера (8 лота) по функции СloseBy. Если цена пошла выше еще на 20 пунктов, то мы закрываем все ордера.

 

Пример сделки на продажу с сеткой ордеров.

_______________________________________________________________ tb3 (8 лота)

_______________________________________________________________ ts3 (8 лота)

 

 

_______________________________________________________________ tb2 (4 лота)

_______________________________________________________________ ts2 (4 лота)

 

 

_______________________________________________________________ tb1 (2 лота)

_______________________________________________________________ ts1 (2 лота)

 

 

_______________________________________________________________ sell

 
В сервисе Фриланс такое делают.
 
Фриланс, конечно, хорошо. Но я сам идейный, на форексе уже 3 года, никогда никому денег не даю и, соответственно, никогда ни с кого денег не беру. Это правило)))
 
alexey1979621:
Фриланс, конечно, хорошо. Но я сам идейный, на форексе уже 3 года, никогда никому денег не даю и, соответственно, никогда ни с кого денег не беру. Это правило)))
В таком случае нужно начинать делать самому, а когда что-то не получится - спрашивать. Тогда помогут.
 
barabashkakvn:
В таком случае нужно начинать делать самому, а когда что-то не получится - спрашивать. Тогда помогут.

Да я делал, мне очень сложно - знаний мало и по складу ума я гуманитарий. Есть вариант советника прилагаю. Знаю, что пошел не по тому пути (но другого не знаю), решил сделать хоть что-то.

CloseBy в этом варианте нет, выставляются ТП и СЛ, а можно сделать и проще. В принципе можно прогнать за период с 01.01.2013 г. по 31.03.2014 г. и посмотреть как открываются ордера, но иногда ордера неправильно закрываются, в частности сетка выставленная 20 января (имеем не верное закрытие 23 января) скрин прилагается.


Знающий программер эту сетку за 15 мин. на коленке сделает.

Файлы:
 

Знающий программер эту сетку за 15 мин. на коленке сделает.

"Знающие программеры" такой ерундой уже не занимаются. Идея опробована и пережёвана тысячи раз. В корзине. 

А у Вас каша в голове, и соответственно в коде.

Например, что модифицирует эта строчка в советнике ??? -     OrderModify(tts_2,OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice(),0,0);

Нужно сначала научиться писать простые рабочие совы, а потом только браться за "граальные" навороты. 

Без обид. 

 
AndreiFAN:

"Знающие программеры" такой ерундой уже не занимаются. Идея опробована и пережёвана тысячи раз. В корзине. 

А у Вас каша в голове, и соответственно в коде.

Например, что модифицирует эта строчка в советнике ??? -     OrderModify(tts_2,OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice(),0,0);

Нужно сначала научиться писать простые рабочие совы, а потом только браться за "граальные" навороты. 

Без обид. 

Да какие обиды. Вроде наловчился писать простые совы. Открыть ордер, закрыть его, перевести в БУ, протралить. Работают, и на реале и на демке более года крутятся. Но по этой идее (сову) не могу понять логику написания советника. С чего начать и чем закончить? Сам знаю, что пишется со всем по другому - нужен алгоритм, а там документацию мне в руки и терпения в голову)))

А насчет пережевана, то неспроста же я к ней пришел - есть тестовые данные, которые предполагают, что идея рабочая.