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

Рейтинг 2146



РЕКОМЕНДУЮ



Перенос стандартных фигур с одного тф на другие тф для одного инструмента рынка. Для МТ5

Андрей, здравствуйте!

Для МТ5.
Я в своей торговле реализую стратегию «Три экрана Эдлера».
Для этого на мониторе держу открытыми три графика одного инструмента с различными ТФ.
Например, М5, М15 и Н1.
И очень неудобно на каждом графике выставлять одну и ту же:
— вертикальную линию,
— горизонтальную линию,
— трендовую линию,
— прямоугольник,
— линии Фибоначчи,
— равноудаленный канал.
Остальные не использую.
Т.е. стандартные инструменты МТ5 расположить так, чтобы их местоположение совпадало «во времени и пространстве» на разных графиках… 
Можно написать такой индикатор/скрипт, который бы дублировал выставленный инструмент на одном из графиков на остальные два?

НАПРИМЕР.
Выставила трендовую линию на М5. И она тут же синхронно прорисовывается на М15 и Н1.
Либо выставила трендовую линию на М15. И она тут же синхронно прорисовывается на М5 и Н1.
Либо выставила трендовую линию на Н1. И она тут же синхронно прорисовывается на М5 и М15.
То же самое с остальными инструментами. Соответственно, также происходит и их синхронное удаление.

Насколько это возможно?
Я встречала такой индикатор для МТ4. Правда, давненько это было и сейчас уже тот сайт найти не могу.

С уважением, Антонина.
  • 0
  • Просмотров: 3166
  • 9 марта 2020, 22:41
  • Antonyna
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Доработка коридорного советника 2
Следующая запись в группе  
Модифицирующийся ежедневно безубыток
09 марта 2020
10 марта 2020

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

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

+
0
если просто трендовую прорисовывать на двух остальных, то еще можно взяться, а если целый набор не ко мне
avatar

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

  • 10 марта 2020, 17:38
+
0
Хорошо, Андрей. Спасибо. А можно еще добавить горизонтальную линию, если несложно?
avatar

  8  Antonyna Автор Сообщений: 66

  • 10 марта 2020, 20:20
+
0
на 20-е
avatar

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

  • 10 марта 2020, 20:49
+
0
этот код переносит горизонтальные линии:


//+------------------------------------------------------------------+
//|                                                       Charts.mq5 |
//|                                              Copyright 2020, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property indicator_chart_window

#property indicator_plots 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   double pr=0,p1=0,p2=0;
   datetime t1=0,t2=0;
   string nm="",sm="";

   for(int i=0; i<ObjectsTotal(0,-1); i++)
     {
      if(ObjectGetInteger(0,ObjectName(0,i),OBJPROP_TYPE)==OBJ_HLINE)
        {
         nm=ObjectName(0,i);
         pr=ObjectGetDouble(0,ObjectName(0,i),OBJPROP_PRICE);
         sm=_Symbol;
         Print("\n Name: ",nm);
         Print("Price: ",pr);
         Print("Symbol: ",sm);
        }
     }

   int k=0;
   long curr=0,prev=ChartFirst();

   while(k<33)
     {
      curr=ChartNext(prev);
      if(curr<0)
         break;

      if(nm!="" && ChartSymbol(curr)==sm)
        {
         ObjectCreate(curr,nm,OBJ_HLINE,0,0,NormalizeDouble(pr,_Digits));
        }

      prev=curr;
      k++;
     }

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+



а для трендовых я столкнулся с тем что функция не читает точки 1 и 2 с линии, хотя в МТ4 все нормально:


p1=ObjectGetDouble(0,ObjectName(0,i),OBJPROP_PRICE1);

avatar

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

  • 15 марта 2020, 10:27
+
0
Андрей, благодарю за работу!
Если на старшем ТФ выставляешь горизонтальную линию, то она появляется на младших.
Но когда ее удаляешь на старшем ТФ, то на младших она остается.
Удалить ее невозможно.
Она не выделяется и в объектах ее не нахожу.
Как удалить?
avatar

  8  Antonyna Автор Сообщений: 66

  • 15 марта 2020, 18:17
+
0
сделал чтобы линия удалялась: www.opentraders.ru/downloads/2594/



avatar

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

  • 16 марта 2020, 22:37
+
0
Спасибо, Андрей! Индикатор работает.
А можно сделать такие же переносы на другие тф для линий Фибоначи, это реально?
avatar

  8  Antonyna Автор Сообщений: 66

  • 17 марта 2020, 21:58

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