0
А вот этот пример из учебника никак не поможет?

#property copyright "2009, MetaQuotes Software Corp." 
#property link      "https://www.mql5.com" 
#property version   "1.00"
 
#property description "Пример вывода значений High[i] и Low[i]" 
#property description "для баров, выбранных случайным образом"
 
double High[],Low[]; 
//+------------------------------------------------------------------+ 
//| Получим Low для заданного номера бара                            | 
//+------------------------------------------------------------------+ 
double iLow(string symbol,ENUM_TIMEFRAMES timeframe,int index) 
  { 
   double low=0; 
   ArraySetAsSeries(Low,true); 
   int copied=CopyLow(symbol,timeframe,0,Bars(symbol,timeframe),Low); 
   if(copied>0 && index<copied) low=Low[index]; 
   return(low); 
  } 
//+------------------------------------------------------------------+ 
//| Получим High для заданного номера бара                           | 
//+------------------------------------------------------------------+ 
double iHigh(string symbol,ENUM_TIMEFRAMES timeframe,int index) 
  { 
   double high=0; 
   ArraySetAsSeries(High,true); 
   int copied=CopyHigh(symbol,timeframe,0,Bars(symbol,timeframe),High); 
   if(copied>0 && index<copied) high=High[index]; 
   return(high); 
  } 
//+------------------------------------------------------------------+ 
//| Expert tick function                                             | 
//+------------------------------------------------------------------+ 
void OnTick() 
  { 
//--- выводим на каждом тике значения High и Low для бара с индексом, 
//--- равным секунде поступления тика 
   datetime t=TimeCurrent(); 
   int sec=t%60; 
   printf("High[%d] = %G  Low[%d] = %G", 
          sec,iHigh(Symbol(),0,sec), 
          sec,iLow(Symbol(),0,sec)); 
  }
avatar

alex30774

  • 12 января 2024, 12:57
0
OSS5, от то что вы скопировали код индикатора в сообщение толку мало: после компиляции будет сотня ошибок.Андрей это исправлять не будет(не захочет возится)

Правильно будет либо через сылку(значок «цитировать»)
www.opentraders.ru/downloads/3602/


либо через значок «код»
//+------------------------------------------------------------------+
//|                                                       ZLines.mq4 |
//|                                              Copyright 2023, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property strict

#property indicator_chart_window

input int Depth = 12;
input int Dev   = 5;
input int Back  = 3;

input bool Mail = 1;
input bool Push = 1;
input bool Alerts = 1;

datetime t=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double ZZPrice(int n=0)
  {
   double zz=0;
   int k=0;

   for(int i=0; i<1111; i++)
     {
      zz=iCustom(NULL,0,"ZigZag",Depth,Dev,Back,0,i);

      if(zz!=0)
        {
         k++;
         if(k>n)
            return(zz);
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int ZZBar(int n=0)
  {
   double zz=0;
   int k=0;

   for(int i=0; i<1111; i++)
     {
      zz=iCustom(NULL,0,"ZigZag",Depth,Dev,Back,0,i);

      if(zz!=0)
        {
         k++;
         if(k>n)
            return(i);
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutTrendLine(string name,datetime time1,double price1,datetime time2,double price2,color clr)
  {
   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_TREND,0,time1,price1,time2,price2);
//--- установим цвет линии
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим стиль отображения линии
   ObjectSetInteger(0,name,OBJPROP_STYLE,0);
//--- установим толщину линии
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
//--- включим (true) или отключим (false) режим продолжения отображения линии вправо
   ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,1);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutArrow(string name,int code,double p,datetime time,color clr)
  {
   ObjectDelete(0,name);
//--- создадим стрелку
   ObjectCreate(0,name,OBJ_ARROW,0,time,p);
//--- установим код стрелки
   ObjectSetInteger(0,name,OBJPROP_ARROWCODE,code);
//--- установим способ привязки
   ObjectSetInteger(0,name,OBJPROP_ANCHOR,ANCHOR_CENTER);
//--- установим цвет стрелки
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим размер стрелки
   ObjectSetInteger(0,name,OBJPROP_WIDTH,2);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---

   if(ZZPrice(4)>ZZPrice(2) && ZZPrice(3)>ZZPrice(1))
     {
      PutTrendLine("14b",time[ZZBar(4)],ZZPrice(4),time[ZZBar(1)],ZZPrice(1),Blue);
      PutTrendLine("13b",time[ZZBar(4)],ZZPrice(4),time[ZZBar(2)],ZZPrice(2),Blue);
      PutTrendLine("24b",time[ZZBar(3)],ZZPrice(3),time[ZZBar(1)],ZZPrice(1),Blue);
     }

   if(ZZPrice(4)<ZZPrice(2) && ZZPrice(3)<ZZPrice(1))
     {
      PutTrendLine("14s",time[ZZBar(4)],ZZPrice(4),time[ZZBar(1)],ZZPrice(1),Gold);
      PutTrendLine("13s",time[ZZBar(4)],ZZPrice(4),time[ZZBar(2)],ZZPrice(2),Gold);
      PutTrendLine("24s",time[ZZBar(3)],ZZPrice(3),time[ZZBar(1)],ZZPrice(1),Gold);
     }

   double z13b=ObjectGetValueByShift("13b",1);
   double z13s=ObjectGetValueByShift("13s",1);

   if(t!=Time[0])
     {
      if(Close[1]>z13b && Open[1]<z13b)
        {
         if(Alerts)
            Alert(_Symbol+" Buy!");
         if(Push)
            SendNotification(_Symbol+" Buy!");
         if(Mail)
            SendMail("Buy!",_Symbol+" Buy!");
            
         PutArrow("Buy Arrow",233,Low[1],Time[1],Blue);
        }

      if(Close[1]<z13s && Open[1]>z13s)
        {
         if(Alerts)
            Alert(_Symbol+" Sell!");
         if(Push)
            SendNotification(_Symbol+" Sell!");
         if(Mail)
            SendMail("Buy!",_Symbol+" Sell!");
            
         PutArrow("Sell Arrow",234,High[1],Time[1],Red);
        }
        
      t=Time[0];
     }

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


иначе вследующий раз очень долго будете ждать ответа от программиста.
avatar

alex30774

  • 9 января 2024, 17:37
0
У меня индюк вообще стрелки не ставит.
avatar

alex30774

  • 9 января 2024, 15:37
0
Вот этот вот советник
zakaz.opentraders.ru/55030.html

сам строит линии так же как и ваш индикатор. И входы у него по вашему алгоритму, хотя автор просил немного другое но Андрей его не правильно понял (либо не стал сильно заморачиваться и написал упрощённый вариант), и как раз написал то, что вы просите.
Попробуйте может вас он устроит.
avatar

alex30774

  • 9 января 2024, 11:49
0


А голубые стрелочки с ораньжевыми хотя бы не перерисовываются?
Да и от подвальных индикаторов толку мало(фишер наложенный на индикатор рси)по своей сути синтетический график(сову не напишешь, потомучто рси никогда не уйдёт в отрицательную зону)
avatar

alex30774

  • 6 января 2024, 11:58
0
Если вы про меня, то мне просто интересно, что он будет делать, когда ошибётся с направлением сделки.Стопы то он на демо-счёте не ставит, а статистику красивую портить точно не будет.
avatar

alex30774

  • 26 декабря 2023, 18:05
0
1. Советник учитывает чужие ордера при установки трала (у примеру если в настройках трал с 3-го ордера, а в терминале уже открыты ордера другим советником, то этот советник устанавливает трал не с 3-го ордера, а с первого).


Можно сделать, чтобы советник только по своему меджику учитывал ордера.


Ещё раз прочитайте, что вы написали.
Вас программисты не поймут: два противоречих друг другу условия.
Вы уж определитесь советник должен учитывать только свои ордера или все.
avatar

alex30774

  • 19 декабря 2023, 18:08
0
Кажется заработал: оказывается нужно было терминал перезагрузить.
Завтра у остальных брокеров проверю.Может в понедельник новые косяки выявяться.
avatar

alex30774

  • 17 декабря 2023, 20:48
0
Изменил имя индикатора в соответствие с тем как прописано в индикаторе стал показывать единицы


но сделки всё равно не открывает.
avatar

alex30774

  • 17 декабря 2023, 20:32
0
Спасибо большое.Но не открывает сделки.Скорее всего от того что не видит количество баров(функция ZZBar не работает)

avatar

alex30774

  • 17 декабря 2023, 19:33
0
Спасибо за ссылку.Я это уже когда-то тестировал.
Это будет дальнейшее развитие(улучшение)системы.
Хочу попробовать систему избавить от преждевременных входов: когда эктремум зигзага сформируется, буду ждать сигнала от более медленой системы(стохастик+RVI)
avatar

alex30774

  • 16 декабря 2023, 19:32
0
Ст — значение кривой


это он наверное так МАшку называет, хотя я могу и ошибаться.Этих иностранцев фиг поймёшь.
avatar

alex30774

  • 15 декабря 2023, 15:52
0
Спасибо большое, буду ждать.
avatar

alex30774

  • 15 декабря 2023, 14:49
0
так вы две копии сделайте: одну с алертом, другую без
avatar

alex30774

  • 13 декабря 2023, 17:48
0
Я тоже не программист: просто красивыми словечками козыряю.
То есть знаю, но приблезительно(не уверен, что правильно)
avatar

alex30774

  • 13 декабря 2023, 12:48
0
Неотключаемые алерты для советника зло.(к ним особенно чувствительны мультивалютные советники)Либо попросите сделать алерт отключаемым, либо совсем его удалите(используйте индикатор без алерта).
Когда платному програмисту заказываешь мультивалютник на 30-50 символов и в Т.З. присутствует индюк с неотключаемым алертом, то многие программисты отказываются писать ссылаясь на то, что это очень трудоёмко и просят аналогичный индикатор, но без алерта.
avatar

alex30774

  • 13 декабря 2023, 12:05
0
А что рамер такой большой, столько не каждый мультивалютник весит.
avatar

alex30774

  • 12 декабря 2023, 18:28
0
На этом сайте, вы точно взломщика не найдёте.Зайдите на тематические сайты типа форексскладчик, форекскладчина и т.п.
Там взломщиков пасётся очень много, они только и ждут, что кто-то выложит какой-нибудь грааль.
И если вы представите доказательства, что советник или индикатор прибыльный, то вам его могут переписать в МТ5, причём может быть бесплатно.
Но могут и обмануть(там это в порядке вещей)
avatar

alex30774

  • 4 декабря 2023, 10:38
0
Прирост: 102.00%
Прибыль: 781.52 USD
Средства: 1 400.18 USD
Баланс: 1 781.52 USD
Нач. депозит: 1 000.00 USD
Снятия: 0.00 USD
Пополнения: 0.00 USD


Интересная у метоквотов математика:
Нач. депозит: 1 000.00 USD
Прирост: 102.00%

Баланс должен быть тогда 2002$, а у них 1 781.52 USD
avatar

alex30774

  • 3 декабря 2023, 11:44