alex30774

 
Уровень 20

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


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

Рейтинг 2146



РЕКОМЕНДУЮ



Информационный индикатор для мультивалютных усреднителей

Здравствуйте, Андрей.
Напишите пожалуйста информационный индикатор для мультивалютных усреднителей, который должен отбражать следующую информацию.

1.Валютная пара на которой в данный момент самый большой объём в лотах.
К примеру у нас мультивалютный усреднитель открыл множество сделок и по каждой из валют различный объём, тогда индикатор выбирает ту валютную пару на которой самый большой объём и отображает её название не зависимо от графика на котором установлен индикатор.То есть если индикатор утановлен на графике EURUSD, а самый большой объём по AUDUSD, то значит индикатор выводит значение AUDUSD.(это самое важное)

2.Объём в лотах по этой валютной паре, а ещё лучше если сделаете отдельно: отдельно объём для покупок и отдельно объём для продаж.

  • 0
  • Просмотров: 1221
  • 6 декабря 2020, 10:00
  • alex30774
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

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

+
+1
на 9-е
avatar

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

  • 7 декабря 2020, 20:05
+
0
Спасибо, буду ждать.
avatar

  20  alex30774 Автор Сообщений: 748

  • 7 декабря 2020, 20:41
+
0
посмотрел. быстро это не сделаешь, не ко мне.
avatar

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

  • 9 декабря 2020, 19:50
+
0
Спасибо, хорошо хоть предупредили.
avatar

  20  alex30774 Автор Сообщений: 748

  • 9 декабря 2020, 19:54
+
0
вот то что удалось быстро сделать:


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

string symbols[11];
double vol[11];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool Symb(string s="")
  {
   for(int i=0; i<11; i++)
     {
      if(symbols[i]==s)
         return(false);
     }
   return(true);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Vol(string symb="")
  {
   double v=0;

   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==symb)
           {
            v+=OrderLots();
           }
        }
     }
   return(v);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   string s="";

   for(int i=0,k=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(Symb(OrderSymbol()))
           {
            symbols[k]=OrderSymbol();
            k++;
           }
        }
     }

   for(int i=0; i<ArraySize(symbols); i++)
     {
      s+="\n"+symbols[i];
      vol[i]=Vol(symbols[i]);
      ArraySort(vol,WHOLE_ARRAY,0,MODE_DESCEND);
     }

   Comment(s+(string)vol[0]);

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

//+------------------------------------------------------------------+



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

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

  • 9 декабря 2020, 21:25
+
0
Всё что я умею, это точку исправить на нижнее подчёркивание или знак больше поменять на знак меньше, на это у меня только всего мозгов и хватает.Но всё равно спасибо.
avatar

  20  alex30774 Автор Сообщений: 748

  • 9 декабря 2020, 22:10
+
0
тогда в следующем топике доделаю
avatar

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

  • 9 декабря 2020, 22:59
+
0
Спасибо, в следующем месяце перезакажу.
avatar

  20  alex30774 Автор Сообщений: 748

  • 10 декабря 2020, 09:38

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