Советник "Березка"

vladimirkop

Активный участник
Теперь я понял почему у народа появлялись двойные ордера в одном направлении - после ордера-убийцы открывался в том же направлении ордер-компенсатор.
Это нормальное явление, так и должно быть, могут быть по 2 ордера одного направления, но разной лотности.
Надо было изначально сделать два сова и поставить их на два графика одной пары, и что бы они торговали на разных направлениях. А так на одном графике ордера разных направлений собираются в одном месте и тогда визуально вообще жесть. Программно они друг друга не видят, ну а глазами смотреть страшно :facepalm:
 

Effx

Новичок форума
какая именно ?
Напоминаю, категорически не рекомендую пользоваться v.1.0 c отложками на реальных графиках, т.к. она написана для тестера и на реальном графике не отрабатывает ошибки терминала. Удалите ее и забудьте. Версия совы v.1.1 без отложек уже более адаптирована к реальным графикам, кроме счетов ECN.

Все ошибки я описал по версии 1.1.
 

Effx

Новичок форума
давайте разберемся :). Сова реализована таким образом что ордера бай-направления и селл-направления обрабатываются независимо друг от друга.
При запуске советника в рынке находится:
бай-направление:
buy - 0.01
selstop - 0.2
селл-направление
sell - 0.01
buystop - 0.2
Пока срабатывают ТП на бай и селл ордерах то так оно и остается.
Допустим на селл-направлении сработал СЛ, то имеем в рынке:
бай-направление:
buy - 0.01
sellstop - 0.2
селл-направление
buy - 0.2
sellstop - 1.0
Поэтому при сработке компенсатора мы и имеем в рынке 2 бая и 2 селлстопа.
Про запрет работы по второму направлению при сработке мартина на первом ничего нет. Если должно быть по другому, то давайте менять ТЗ.
ну смотри, я не знаю как реализована сова, но алгоритм таков.
(если бы например я торговал вручную)

п1.
Открытие 2 ордеров(П 10 пипсов, Л 200 пипс );
п2. После закрытия любого ордера в профит, открываем в направлении закрытого еще один с таким же П и Л;
п3. Повторять п2, пока не сработал стоп лосс. (не важно какого ордера);

НО тут важное уточнение.
Нужно учитывать что ордера на бай (в данном случае) должны открываться с таким расчетом чтобы профит по ордеру на бай был не выше чем стоп по ордеру на селл что уже висит, плюс учитывать спред.
Если взять спред допустим 20 пипсов, то последний ордер на бай должен открываться так чтобы профит, повторюсь, по этому ордеру был не выше чем стоп по селлу + спред.
Иначе выходит что у нас сносит стоп, открывается мартин, но еще висит еще один ордер на бай, так как он не успел закрыться, потому что профит по нему был выше, чем стоп по селлу и не учитывался спред.
И когда цена в точке где открылся мартин идет против нас, потом открывается ЕЩЕ один мартин опять уже по тому ордеру на бай, который не успел закрыться по причине которой я описал выше.
Так и получается отрицательный замок, который все портит


п4. Когда сработал стоп лосс открывается один ордер с мартином, (потому что все ордера начальные уже закрыты)
п1 x 20 (П 20 Л 200) в направлении закрытого Лося;
п5. -Если п4 успех go to п1;
-Если п4 НЕ успех то п6.
п6. Открываем Одного мартина п1 x 40 (П 40 Л 200) в направлении закрытого Лося;
Если п6 успех go to п1;

Ну и опять таки остальные проблемы и баги по сове, о которых я писал выше, остаются актуальными)
 

vladimirkop

Активный участник
ну смотри, я не знаю как реализована сова, но алгоритм таков.
(если бы например я торговал вручную)

п1.
Открытие 2 ордеров(П 10 пипсов, Л 200 пипс );
п2. После закрытия любого ордера в профит, открываем в направлении закрытого еще один с таким же П и Л;
п3. Повторять п2, пока не сработал стоп лосс. (не важно какого ордера);

НО тут важное уточнение.
Нужно учитывать что ордера на бай (в данном случае) должны открываться с таким расчетом чтобы профит по ордеру на бай был не выше чем стоп по ордеру на селл что уже висит, плюс учитывать спред.
Если взять спред допустим 20 пипсов, то последний ордер на бай должен открываться так чтобы профит, повторюсь, по этому ордеру был не выше чем стоп по селлу + спред.
Иначе выходит что у нас сносит стоп, открывается мартин, но еще висит еще один ордер на бай, так как он не успел закрыться, потому что профит по нему был выше, чем стоп по селлу и не учитывался спред.
И когда цена в точке где открылся мартин идет против нас, потом открывается ЕЩЕ один мартин опять уже по тому ордеру на бай, который не успел закрыться по причине которой я описал выше.
Так и получается отрицательный замок, который все портит


п4. Когда сработал стоп лосс открывается один ордер с мартином, (потому что все ордера начальные уже закрыты)
п1 x 20 (П 20 Л 200) в направлении закрытого Лося;
п5. -Если п4 успех go to п1;
-Если п4 НЕ успех то п6.
п6. Открываем Одного мартина п1 x 40 (П 40 Л 200) в направлении закрытого Лося;
Если п6 успех go to п1;

Ну и опять таки остальные проблемы и баги по сове, о которых я писал выше, остаются актуальными)
ну это, батенька, совсем другая песня :). Нет что бы сразу все это описать. Ну что могу сказать, мои совы в точности выполняют данный алгоритм, но только для каждого направления раздельно. Ну а это совсем другое дело. Удаляйте с компов 2 предыдущих совы (багов в них нет, просто они работают по другим правилам), что бы не болтались под ногами. Завтра, послезавтра у меня плановый запой, а в выходные сяду напишу новую сову и назовем ее "Березка ребрендинг" ;).
 

Effx

Новичок форума
ну это, батенька, совсем другая песня :). Нет что бы сразу все это описать. Ну что могу сказать, мои совы в точности выполняют данный алгоритм, но только для каждого направления раздельно. Ну а это совсем другое дело. Удаляйте с компов 2 предыдущих совы (багов в них нет, просто они работают по другим правилам), что бы не болтались под ногами. Завтра, послезавтра у меня плановый запой, а в выходные сяду напишу новую сову и назовем ее "Березка ребрендинг" ;).
Хорошо, спасибо.
если можно к данному алгоритму допилить вот эти функции:

1) включение и отключение ордеров с мартином. (типа тру/ фалс.
Если стоит фалс, то после получения стопа по начальному ордеру цыкл просто начинается заново. (начинается п1))


2) отключение и включение совы по времени. Чтобы например после 18 сова не открывала новых ордеров, НО сопровождала уже открытые.

3) Выбор направления ордеров с мартином. Например чтобы можно было выбрать, певый ордер с мартином открывается в сторону снятого стопа или против. и точно так же для второго мартина.

Если конечно такое вообще возможно.
 

lexar

Местный житель
Набросал свой вариант берёзки, а то раздражают закрытые коды.
 

Вложения

  • БерёзкаLexar.mq4
    16,4 КБ · Просмотры: 65

lexar

Местный житель
косяк был
 

Вложения

  • БерёзкаLexar.mq4
    16,5 КБ · Просмотры: 68

I1ia

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

lexar

Местный житель
Лексар, байстоп и селлстоп первого компенсатора должны динамично переставляться на соответствующие стопы первых ордеров серии, двигаясь за ними сужая канал.
А у Вас они стоят на местах стопов первой покупки/продажи.

Да видел. Я написал модификацию цены отложек, но наверное что то накосячил, вечером перепишу через удаление и выставление новых
 

Mamsya

Элитный участник
Какую версию тестировать 1.0 или 1.1? Есть уже какая-то определенность?
 

lexar

Местный житель
Вроде получилось, просто надо было сначала пересчитать переменную... В общем не важно, главное работает...
 

Вложения

  • БерёзкаLexar.mq4
    36,2 КБ · Просмотры: 114

Effx

Новичок форума
Для Effx. Накидал ТЗ. Посмотри что не так. Выбери вариант выделенным красным или предложи свой. Как устаканим ТЗ сразу начну писать сову.

Посмотреть вложение 264488

Держи дружище. Подправил немного файл.
То что добавил выделил синим цветом.
 

Вложения

  • Березка - ТЗ Effx.doc
    35 КБ · Просмотры: 41
Последнее редактирование:

vladimirkop

Активный участник
Держи дружище. Подправил немного файл.
То что добавил выделил синим цветом.
ТЗ принял. Вопросов по нему пока нет. Еще такой вопрос. Напиши, пожалуйста, как тебе в сове надо рассчитывать уровни ТП и СЛ для бай и селл ордеров. Например:
Ордер BUY:
уровень ТП = Ask+TP+spread
уровень СЛ = Bid -СЛ+spread
и т.д.
 

Effx

Новичок форума
ТЗ принял. Вопросов по нему пока нет. Еще такой вопрос. Напиши, пожалуйста, как тебе в сове надо рассчитывать уровни ТП и СЛ для бай и селл ордеров. Например:
Ордер BUY:
уровень ТП = Ask+TP+spread
уровень СЛ = Bid -СЛ+spread
и т.д.

Что то не понял саму суть вопроса. Можешь перефразировать?
ТП и СЛ для каких ордеров? и что значит " как тебе в сове надо рассчитывать уровни ТП и СЛ".
 

vladimirkop

Активный участник
Что то не понял саму суть вопроса. Можешь перефразировать?
ТП и СЛ для каких ордеров? и что значит " как тебе в сове надо рассчитывать уровни ТП и СЛ".
Даже не знаю как и перефразировать. Ты же пишешь, что при открытии ордеров надо учитывать спред, вот я и спрашиваю как его надо учитывать. Допустим ты открываешь ордер BUY. Тебе надо высчитать где надо выставить ТП и СЛ. Ордер BUY откроется по цене ASK. Вот я и спрашиваю как высчитать где установить ТП и СЛ ордера BUY
ТП=ASK+ТП+spread
СЛ=ASK- ТП
или как то по другому ?
 

Effx

Новичок форума
Даже не знаю как и перефразировать. Ты же пишешь, что при открытии ордеров надо учитывать спред, вот я и спрашиваю как его надо учитывать. Допустим ты открываешь ордер BUY. Тебе надо высчитать где надо выставить ТП и СЛ. Ордер BUY откроется по цене ASK. Вот я и спрашиваю как высчитать где установить ТП и СЛ ордера BUY
ТП=ASK+ТП+spread
СЛ=ASK- ТП
или как то по другому ?

Смотри нужно учитывать спред, при открытии новых "базовых ордеров",
чтобы они закрывались ДО того как закроется стоп, по второму базовому ордеру.
У нас есть ситуация когда ордер на селл висит, а ордера на бай закрываются по профиту.

Когда цена подходит ближе к стопу по селлу, то советник должен просчитывать так, чтобы профит по ордеру на бай, был ниже чем стоп по селлу + вдобавок к этому еще ниже на 20 пипсов.

То есть, у нас по факту выходит что стоп 200 пипсов.
По тем ордерам на бай которые будут открываться должно быть условие что их профит не может быть размещен дальше чем на расстояние в 200 пипсов. Теперь к этому условию мы добавляем спред. Спред по сути это запас в несколько пунктов. мы берем 20 пипсов по 5 знаку.
И так если добавить учет спреда, то выходит что профит не может быть размещен дальше чем (200-20=180 пипсов).
И советник должен просчитывать чтобы профит по баю, был не выше уже 180 пипсов, от того убыточного ордера в селл.
 
Последнее редактирование:

lexar

Местный житель
Смотри нужно учитывать спред, при открытии новых "базовых ордеров",
чтобы они закрывались ДО того как закроется стоп, по второму базовому ордеру.
У нас есть ситуация когда ордер на селл висит, а ордера на бай закрываются по профиту.

Когда цена подходит ближе к стопу по селлу, то советник должен просчитывать так, чтобы профит по ордеру на бай, был ниже чем стоп по селлу + вдобавок к этому еще ниже на 20 пипсов.

То есть, у нас по факту выходит что стоп 200 пипсов.
По тем ордерам на бай которые будут открываться должно быть условие что их профит не может быть размещен дальше чем на расстояние в 200 пипсов. Теперь к этому условию мы добавляем спред. Спред по сути это запас в несколько пунктов. мы берем 20 пипсов по 5 знаку.
И так если добавить учет спреда, то выходит что профит не может быть размещен дальше чем (200-20=180 пипсов).
И советник должен просчитывать чтобы профит по баю, был не выше уже 180 пипсов, от того убыточного ордера в селл.

если Bid-TP*Point >= SLBUY то открываем ордер SELL, иначе не открываем. Я так понял.
 

Effx

Новичок форума
Не знаю как еще подробней объяснить по этому вот скрин, как обычно :D
В данной ситуации условимся что спред 10 пипсов.
Обычно в среднем он от 10 и до 20.
Поэтому я советую ставить запас в 20 пипсов.

Так вот на скрине видно, что ордер на бай закроется ровно тогда когда откроется ордер с мартином.
(при условии что спред будет все так же 10 пипсов.)
Если же спред увеличится и будет уже 12 пипсов, то ордер с мартином откроется на 2 пипса раньше чем закроется профит по баю.
А этого мы и хотим избежать.
 

Вложения

  • пример4.png
    пример4.png
    16 КБ · Просмотры: 64
Верх