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

Рейтинг 2151



РЕКОМЕНДУЮ



Советник и индикатор синхронизирующий линии на мт5

Помогите, пожалуйста, доработать советник или индикатор на мт5.
Пытаемся зайти с другой стороны…
Вопрос с показом на старших тф и удалением родных чарту линий методом тыка решён.
Теперь проблема с добавлением синхронизируемых линий.
Сейчас советник работает идеально только на одном инструменте, а на других символах и при смене символа начинаются траблы с синхронизацией. Если есть возможность, помогите пожалуйста…
Если не получится решения по советнику есть пример в виде индикатора. После обновления индикатор тоже стал криво синхронизировать_ -то тф сбивает то линий нет, но там на классах и может он исправится с вашей помощью.
Нужно сделать полную синхронизацию линий (width,color) по всем открытым чартам терминала по этому символу, и не показываться на другом инструменте с похожими ценами при синхронизации или в советнике или в индикаторе.

HLine_Sync.mq5 (45 Kb)
Ind_L_Sync.mq5 (7 Kb)
  • 0
  • Просмотров: 1102
  • 6 октября 2021, 22:22
  • sergeysv7
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Динамические параметры советника
Следующая запись в группе  
Прошу написать советник.
06 октября 2021
08 октября 2021

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

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

+
+1
если есть идеи по алгоритму синхронизации, в выходные еще могу глянуть. там побольше времени будет
avatar

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

  • 6 октября 2021, 22:39
+
0
вот с таким вариантом синхронизации перестал удалять на других чартах линии,.
НО Работает как нужно только с одним символом. на других символах линия clrNONE
и советник линию создаёт но она не синхронизируется…
long            chart_ID = ChartID();
long            width        = NULL;
long            v_width        = NULL;
color           color_1      = NULL;
color           color_2      = NULL;
ENUM_LINE_STYLE style        = NULL;
ENUM_LINE_STYLE v_style        = NULL;

   double pr=0,p1=0,p2=0;
   datetime TM=0,t2=0;
int k=0;
   long prev=ChartFirst();

   for(int i=0; i<ObjectsTotal(0,-1,-1); i++)
     {
      if(ObjectGetInteger(0,ObjectName(0,i,-1,-1),OBJPROP_TYPE)==OBJ_HLINE)
        {
         nm=ObjectName(0,i,-1,-1);
         if(StringFind(nm,prefix)<0)continue;
         pr=ObjectGetDouble(0,ObjectName(0,i,-1,-1),OBJPROP_PRICE);
        string symbol=StringSubstr(nm,StringLen(prefix),StringFind(nm,suffix)-StringLen(prefix));         
   //   sm=Symbol();     
       color_1  =          (color)ObjectGetInteger(0,ObjectName(0,i,-1,-1),OBJPROP_COLOR);
    style    =(ENUM_LINE_STYLE)ObjectGetInteger(0,ObjectName(0,i,-1,-1),OBJPROP_STYLE);
      width    =                 ObjectGetInteger(0,ObjectName(0,i,-1,-1),OBJPROP_WIDTH); 
      
    while(k<33)
     {
      curr=ChartNext(prev);
      if(curr<0)
         break;        
      if(nm!="" && ChartSymbol(curr)==symbol )
        {      
         ObjectCreate(curr,nm,OBJ_HLINE,0,0,NormalizeDouble(pr,_Digits));
          ObjectSetInteger(curr,nm,OBJPROP_COLOR   ,color_1);
                  ObjectSetInteger(curr,nm,OBJPROP_BACK    ,true);
                  ObjectSetInteger(curr,nm,OBJPROP_STYLE   ,style);
                  ObjectSetInteger(curr,nm,OBJPROP_WIDTH   ,width);
                  ObjectSetInteger(curr,nm,OBJPROP_SELECTABLE,true);
                  ObjectSetInteger(curr,nm,OBJPROP_TIMEFRAMES,OBJ_PERIOD_H1|OBJ_PERIOD_M15|OBJ_PERIOD_M1);                      
         }
     if(ChartSymbol(curr)!=symbol) {
 ObjectSetInteger(curr,nm,OBJPROP_COLOR   ,clrNONE);} 
  if(nm=="")
        {
        ObjectsDeleteAll(curr,nm,-1,-1);
        }                
      prev=curr;
      k++;         
     }                
    }      
   }   
avatar

  4  sergeysv7 Автор Сообщений: 9

  • 7 октября 2021, 16:37
+
0
Есть идея забыть мт5 с его выкрутасами.)))
Нашёл у китайцев индикатор синхронизации-
www.fxnav.net/mt4navi/synchro_chart_line/
когда сам на графике синхронизирует почти идеально, НО у газпрома и сбербанка ценовые уровни похожие и фсё перемешивается с одного на другое. Почему???
Плюс не хочет синхронизировать в паре с советником, хотя он сохраняет и показывает там где было создание линий… НО только на одном чарте… Почему??
avatar

  4  sergeysv7 Автор Сообщений: 9

  • 7 октября 2021, 00:26
+
0
1. пробегаем по всем графикам символа
2. запоминаем имя объекта, его свойства
3. затем в следующем цикле ставим все на графики.
4. если объект из памяти уже есть, он не проставится.

вот примерный алгоритм.

еще мне нужно знать какие объекты у вас на графиках?

по работе с объектами мт4 и 5 очень похожи
avatar

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

  • 7 октября 2021, 17:02
+
0


avatar

  4  sergeysv7 Автор Сообщений: 9

  • 7 октября 2021, 17:22
+
0
такой широкий перечень различных объектов это точно не ко мне
avatar

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

  • 7 октября 2021, 17:49

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