preasto

 
Уровень 11

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Советник на Zig Zag Arrow - доп.

Андрей, здравствуйте.
Просьба дополнить советник на инд. Zig Zag Arrow из заказа
zakaz.opentraders.ru/78483.html
следующим:

1. Шаг ордеров одного направления: 100; п., коэфф. шага: 1.0;
Если есть повторный сигнал, но рядом уже есть ордер этого направления, то очередной ордер не открывать
ближе, чем дистанция Шага ордеров из параметров.
Считая от крайнего ордера этого направления в этой области, или ордера открытого перед этим новым сигналом.
Т.е., если дистанция между имеющимся_крайним/или_предыдущим ордером по этому направлению и ценой по новому сигналу меньше, чем заданный Шаг ордеров — новый ордер не открывать.
(т.к. иначе в узком флете лепит ордера друг на друга пачками, завышая лотность).

2. При открытии любого, в т.ч. извне, ордера к нему сразу выставлять обратный стоп-ордер: да/нет;
той же лотности умноженной на коэф.: 1.0; // задаётся в параметрах
(для открытого Sell ордера — buy-stop, для Buy — sell-stop).
за ближайшим фракталом, с отступами — для buy-stop: +10; п. для sell-stop: -3; п.
// задаются в параметрах отдельно для buy и для sell.
*выбор — выставлять стоп-ордера за фракталом / или за свечой ближайшей стрелки инд. Zig Zag Arrow.
— Если других стоп-ордеров нет (сработали), но есть рыночные ордера какого-то направления — то выставлять новый контрольный стоп-ордер за фракталом ближайшим к крайнему от цены ордеру этого направления: да/нет;
Если при этом текущая цена находится за крайним рыночным ордером — тогда за ближайшим фракталом этого направления от текущей цены, при его наличии/появлении.
Если рыночных ордеров какого-то направления нет — стоп-ордер по нему не выставлять.
— Стоп-ордер можно перемещать мышкой в др. место и он там фиксируется, не возвращается на базовую дистанцию из параметров.

3. Добавить вывод на график с функциями и параметрами Индикатора дистанций на линиях
из заказа zakaz.opentraders.ru/82292.html
Линии за фракталами, с выбором в параметрах их показа: да/нет;
=====
Добавить на линии, справа от текущей свечи, вывод данных: (рис. в ТЗ по индикатору)
| Дистанция до текущей цены в п. | Сумма $ | лот | % прибыли от средств
т.е. так: -155п.|-15.5$|0.1|0.02%; — Над линией — для buy, под линией — для sell.
Сумма $ и Дистанция от текущей цены в п.: со знаком "-", когда цена ниже(для buy)/выше(для sell), со знаком "+" когда наоборот;
Расчёт для Sell-по Bid, для Buy — по Ask.
Сумма $: путём умножения р-ра лот х Коэфф.умнож.лот х Дистанцию от текущей цены в п.
Лот: установленный лот х Коэфф.умнож.лот.

Файлы:
AM2_ZZZ+.mq4 (14 Kb)
Zig Zag Arrow.mq4 (4 Kb)
  • 0
  • Просмотров: 1188
  • 21 июля 2022, 18:51
  • preasto
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
индикатор сохранения шаблона
Следующая запись в группе  
FB-line (полуавтомат)
20 июля 2022
22 июля 2022

Брокер для ваших роботов, 15 лет на рынке

Комментарии (6)

+
0
В приложенном советнике добавлено ограничение по спреду:
<code>extern int Spread        = 30;       // спред</code>

<code>//+------------------------------------------------------------------+
//| Expert tick function - Spread                                            |
//+------------------------------------------------------------------+
   int spread=(int)((MarketInfo(NULL,MODE_ASK)-MarketInfo(NULL,MODE_BID))/_Point);
  if(spread > Spread)
    return;    
   Comment("\n Spread: ",spread);
///--- </code>

функцию для шага ордеров сам добавить и отладить не смог
<code>extern int Step  = 100;      // шаг ордеров</code>


Редактирован: 21 июля 2022, 20:17
avatar

  11  preasto Автор Сообщений: 445

  • 21 июля 2022, 18:52
+
0
Если будет проще, можно сделать по п.2 так:
2. При открытии (самим) СОВЕТНИКОМ ордера по сигналу к нему сразу выставлять обратный стоп-ордер за фракталом: да/нет;

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

Подобное выставление стоп-ордеров по фракталам сделано тут, в советнике
Советник: buy/sell stop по фракталам
coding.opentraders.ru/33024.html

только нужны стоп-ордера не сразу в оба направления, а только к тому, где появятся рыночные ордера.
Редактирован: 22 июля 2022, 20:15
avatar

  11  preasto Автор Сообщений: 445

  • 21 июля 2022, 22:10
+
0
не берусь
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 22 июля 2022, 17:34
+
0
Андрей, ответьте, пожалуйста, в какой части не берётесь?
Общий объём ТЗ можно урезать, по частям.
Например, сначала сделать п.2 — 2. При открытии (самим) СОВЕТНИКОМ ордера по сигналу к нему сразу выставлять обратный стоп-ордер за фракталом: да/нет;
(связывать с рыночным и убирать этот ордер после не обязательно, он вольётся в сетку обратных ордеров по общему алгоритму)

Если получится сходу, к нему п.1 — Шаг ордеров одного направления.

П.3 можно пока оставить, приписал его, по ходу, на случай, если это можно просто сделать, вставить готовый код из инд. в советник. )
Редактирован: 22 июля 2022, 20:25
avatar

  11  preasto Автор Сообщений: 445

  • 22 июля 2022, 20:00
+
0
составляя тз помните, оно должно быть простым
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 22 июля 2022, 20:58
+
0
Cделать п.2 — 2. При открытии (самим) СОВЕТНИКОМ ордера по сигналу к нему — сразу выставлять обратный стоп-ордер за фракталом: да/нет;
(связывать с рыночным и убирать этот ордер после не обязательно, он вольётся в сетку обратных ордеров по общему алгоритму)

Если получится сходу, к нему п.1 — Шаг ордеров одного направления.

В таком виде — Это достаточно простое ТЗ?
Редактирован: 22 июля 2022, 21:33
avatar

  11  preasto Автор Сообщений: 445

  • 22 июля 2022, 21:30

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