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

Рейтинг 2151



РЕКОМЕНДУЮ



Скрипт считающий длину

Здравствуйте, прошу Вас сделать срипт, который будет считать количество отрезков по индикатору Зиг-Заг.
Идея такова, ставим на график индикатор Зиг-Заг, и он должен посчитать количество отрезков (длин) на графике от излома до излома по индикатору и выдавать таблицу с данными.
В настройках:
1.Количество баров для подсчёта.
2. Либо: шаг длин ( допустим стивим шаг 100 п и в таблице будут длины 0-100, 0-200, 0-300, 0-400 и т.д., а напротив длин будет количество отрезком в шт.). Либо в таблице уже будут прописаны длины этих отрезков (штук 20), и при активации скрипта, в зависимости от настроек Зиг-Зага будет проставляться количество отрезков (длин).
1.PNG (95 Kb)
  • +2
  • Просмотров: 1368
  • 11 января 2023, 09:58
  • Oleg200
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Ищу поручителя на советник-маркет мейкер
10 января 2023
11 января 2023

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

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

+
0
2. Либо: шаг длин ( допустим стивим шаг 100 п и в таблице будут длины 0-100, 0-200, 0-300, 0-400 и т.д., а напротив длин будет количество отрезком в шт.). Либо в таблице уже будут прописаны длины этих отрезков (штук 20), и при активации скрипта, в зависимости от настроек Зиг-Зага будет проставляться количество отрезков (длин).


длины отрезков могу вывести а с сортировкой не ко мне
avatar

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

  • 11 января 2023, 17:25
+
0
А можете вывести в таблице максимальную и минимальную длину отрезков Зиг-Зага на участке из Х баров. Если да, то прошу выполнить заказ.
avatar

  8  Oleg200 Автор Сообщений: 60

  • 11 января 2023, 18:34
+
0
зигзаг отсортирован по возрастанию. берите крайние элементы:




//+------------------------------------------------------------------+
//|                                                           Zi.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

input int Count=11;
input int Barov=1111;

double z[1];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double ZZPrice(int n=0)
  {
   double zz=0;
   int k=0;

   for(int i=0; i<Barov; i++)
     {
      zz=iCustom(NULL,0,"ZigZag",12,5,3,0,i);

      if(zz!=0)
        {
         k++;
         if(k>n)
            return(zz);
        }
     }

   return(0);
  }
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string s="";

   for(int i=0; i<Count; i++)
     {
      z[i]=MathAbs(ZZPrice(i)-ZZPrice(i+1))/_Point;
      ArrayResize(z,ArraySize(z)+1);
     }

   ArraySort(z,ArraySize(z),0,MODE_ASCEND);

   for(int i=0; i<Count; i++)
     {
      s+="\n"+string((int)z[i]);
     }

   Comment(s);
  }
//+------------------------------------------------------------------+

avatar

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

  • 11 января 2023, 19:30

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