I will write the indicator for free - page 106

 
Iurii Tokman:

does this - Howto receive push notifications onMetaQuotes ID
mean anything ?

Sorry

It's working, I had to restart the computer and catch the signal now everything is working The signal is coming thank you very much

 
Iurii Tokman:

please.

Is it working properly? I have not checked.

The signal goes all the way up or down but there is another problem, it does not show exactly which pairs and which way up or down when the signal goes only (clock-alarm3.wav)

Can you correct it?

Thanks so much again for your hard work

 
Andrej2478:

The signal goes all the way up or down but there is another problem, it does not show exactly which pairs and which way up or down when the signal goes only (clock-alarm3.wav)

Can you correct it?

It needs to be rewritten for these conditions

 
Hello all! Dear programmers, please write an indicator that will give a signal and show an arrow under certain conditions. Buy conditions: AO indicator is in plus, fractals up appears, AC indicator is in deficit, as soon as all conditions are met an arrow and a signal appears. The indicator fractals up 7 bars. On the sell all mirrored. Thanks in advance!!!
 
Dear Sirs, fellow programmers, help! Please, fix the drawing of ORB Range Indicator, so that the current rand does not go beyond its formation in the history, as in the screenshot 1.

And it is drawn by segments, not lines, as in the screenshot 2.

And it would be great if the parabolic indicator Ma_Parabolic_Alert _2 would change colour when crossing the MA and the arrow appeared.

I would be very grateful!
 
Good day dear coders. Please modify the FX Aliev indicator for MT5
 
sergionnik:
Good day dear coders. Please re-do the FX Aliev indicator for MT5

Where can I find it? I can't find it on the search.

- you have to have something to convert it out of.

---------------------------------------------------------------------------

is this it ?https://www.mql5.com/ru/forum/219756#comment_6057329

Продолжаю тему простейших индикаторов
Продолжаю тему простейших индикаторов
  • 2017.11.14
  • www.mql5.com
Продолжаю тему простейших индикаторов , встречал ли кто нибудь на просторах интернета индикатор нумерации свечей к примеру 1-2-3 направленных в одн...
 
sergionnik:
Good afternoon dear coders. Please re-do the FX Aliev indicator for MT5

Does yours look like this ???

AUDUSDH1

Files:
 
SanAlex:

Does yours look like this ???


Yes, that's exactly what it looks like.
 
sergionnik:
Yes, that's exactly what it looks like.

I'm self-taught - I've tried . but I don't have enough knowledge for these things.

- only made it to this point.

Photo by

//+------------------------------------------------------------------+
//|                                                 Fine volumes.mq5 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_buffers 6
//--- plot Label1
#property indicator_label1  "Label1"
#property indicator_type1   DRAW_HISTOGRAM
#property indicator_color1  clrSkyBlue
#property indicator_style1  STYLE_SOLID
#property indicator_width1  2
//--- plot Label2
#property indicator_label1  "Label2"
#property indicator_type1   DRAW_HISTOGRAM
#property indicator_color1  clrMaroon
#property indicator_style1  STYLE_SOLID
#property indicator_width1  2
//--- plot Label3
#property indicator_label1  "Label3"
#property indicator_type1   DRAW_HISTOGRAM
#property indicator_color1  clrYellow
#property indicator_style1  STYLE_SOLID
#property indicator_width1  2
//--- plot Label4
#property indicator_label1  "Label4"
#property indicator_type1   DRAW_HISTOGRAM
#property indicator_color1  clrBlue
#property indicator_style1  STYLE_SOLID
#property indicator_width1  4
//--- plot Label5
#property indicator_label1  "Label5"
#property indicator_type1   DRAW_HISTOGRAM
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  4

input int    BarsToCount = 400;
input string pus1 = "";
input string p_s = "Points settings";
input bool   use_points = true;
input int    distance_point = 80;
input color  color_point_u = Lime;
input color  color_point_d = Red;
input color  color_point_s = Yellow;
input int    size_point = 6;
input string pus2 = "";
input string s_w = "Way";
input bool   use_show_same_way = true;
input bool   use_show_daily_way = true;
input string pus3 = "";
input string al = "Alerts";
input bool   use_alerts = false;
input string up_alert = "Up";
input string down_alert = "Down";

double up[];
double down[];
double mid[];
double up2[];
double down2[];
double none[];

static int prevtime = 0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,up,INDICATOR_DATA);
//--- set as an empty value 0
   PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0);
//--- indicator buffers mapping
   SetIndexBuffer(1,down,INDICATOR_DATA);
//--- set as an empty value 0
   PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0.0);
//--- indicator buffers mapping
   SetIndexBuffer(2,mid,INDICATOR_DATA);
//--- set as an empty value 0
   PlotIndexSetDouble(2,PLOT_EMPTY_VALUE,0.0);
//--- indicator buffers mapping
   SetIndexBuffer(3,up2,INDICATOR_DATA);
//--- set as an empty value 0
   PlotIndexSetDouble(3,PLOT_EMPTY_VALUE,0.0);
//--- indicator buffers mapping
   SetIndexBuffer(4,down2,INDICATOR_DATA);
//--- set as an empty value 0
   PlotIndexSetDouble(4,PLOT_EMPTY_VALUE,0.0);
//--- indicator buffers mapping
   SetIndexBuffer(5,none,INDICATOR_DATA);
//--- set as an empty value 0
   PlotIndexSetDouble(5,PLOT_EMPTY_VALUE,0.0);
//---
   IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);
   string short_name="Fine volumes";
//---
   IndicatorSetString(INDICATOR_SHORTNAME,short_name);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Indicator deinitialization function                              |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   string name_de;
   for(int c=BarsToCount; c>=0; c--)
     {
      name_de="Vol_"+DoubleToString(c,0);
      if(ObjectFind(0,name_de)!=-1)
         ObjectDelete(0,name_de);
     }
//--- removes all objects of the specified type using prefix in object names
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   ArraySetAsSeries(open,true);
   ArraySetAsSeries(high,true);
   ArraySetAsSeries(low,true);
   ArraySetAsSeries(close,true);
//---
   up[0]=EMPTY_VALUE;
   down[0]=EMPTY_VALUE;
   mid[0]=EMPTY_VALUE;
   if(close[0]>open[0])
      up[0]=volume[0];
   if(close[0]<open[0])
      down[0]=volume[0];
   if(close[0]==open[0])
      mid[0]=volume[0];
   if(use_points)
      Ob_cre(0,time,open,close);
   if(!use_points)
      Ob_del(0);
   if(use_show_daily_way)
      Ob_cre2();
   if(!use_show_daily_way)
      Ob_del2();
   if(time[0] == prevtime)
      return(0);
   prevtime = time[0];
   for(int c=BarsToCount; c>=1; c--)
     {
      if(use_points)
         Ob_cre(c,time,open,close);
      if(!use_points)
         Ob_del(c);
      up[c]=EMPTY_VALUE;
      down[c]=EMPTY_VALUE;
      mid[c]=EMPTY_VALUE;
      up2[c]=EMPTY_VALUE;
      down2[c]=EMPTY_VALUE;
      if(close[c]>open[c])
         up[c]=volume[c];
      if(close[c]<open[c])
         down[c]=volume[c];
      if(close[c]==open[c])
         mid[c]=volume[c];
      none[c]=volume[c]+volume[c]/6;
      if(use_show_same_way)
        {
         if(close[c]>open[c] && close[c+1]>open[c+1])
           {
            up2[c]=volume[c];
            up2[c+1]=volume[c+1];
            up[c]=EMPTY_VALUE;
            up[c+1]=EMPTY_VALUE;
           }
         if(close[c]<open[c] && close[c+1]<open[c+1])
           {
            down2[c]=volume[c];
            down2[c+1]=volume[c+1];
            down[c]=EMPTY_VALUE;
            down[c+1]=EMPTY_VALUE;
           }
        }
      if(use_alerts)
        {
         if(up2[1]!=EMPTY_VALUE && up2[4]==EMPTY_VALUE)
            Alert(up_alert);
         if(down2[1]!=EMPTY_VALUE && down2[4]==EMPTY_VALUE)
            Alert(down_alert);
        }
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Ob_cre(int num_of_bar,
            const datetime &time[],
            const double &open[],
            const double &close[])
  {
   string name="Vol_"+DoubleToString(num_of_bar,0);
   color col_po;
   if(close[num_of_bar]>open[num_of_bar])
      col_po=color_point_u;
   if(close[num_of_bar]<open[num_of_bar])
      col_po=color_point_d;
   if(close[num_of_bar]==open[num_of_bar])
      col_po=color_point_s;
   if(ObjectFind(0,name)==-1)
     {
      ObjectCreate(0,name,OBJ_TEXT,0,0,0);
     }
   ObjectSetInteger(0,name,OBJPROP_TIME,time[num_of_bar]);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Ob_cre2()
  {
   if(ObjectFind(0,"D_w")==-1)
     {
      ObjectCreate(0,"D_w",OBJ_LABEL,0,0,0);
      ObjectSetInteger(0,"D_w",OBJPROP_CORNER,1);
      ObjectSetInteger(0,"D_w",OBJPROP_XDISTANCE,20);
      ObjectSetInteger(0,"D_w",OBJPROP_YDISTANCE,20);
     }
   if(ObjectFind(0,"D_w_v")==-1)
     {
      ObjectCreate(0,"D_w_v",OBJ_LABEL,0,0,0);
      ObjectSetInteger(0,"D_w_v",OBJPROP_CORNER,1);
      ObjectSetInteger(0,"D_w_v",OBJPROP_XDISTANCE,20);
      ObjectSetInteger(0,"D_w_v",OBJPROP_YDISTANCE,45);
     }
   color vol_col;
   if(iClose(Symbol(),PERIOD_D1,0)>iOpen(Symbol(),PERIOD_D1,0))
      vol_col=Lime;
   if(iClose(Symbol(),PERIOD_D1,0)<iOpen(Symbol(),PERIOD_D1,0))
      vol_col=OrangeRed;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Ob_del(int num_of_bar)
  {
   string name="Vol_"+DoubleToString(num_of_bar,0);
   if(ObjectFind(0,name)!=-1)
     {
      ObjectDelete(0,name);
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Ob_del2()
  {
   if(ObjectFind(0,"D_w")!=-1)
      ObjectDelete(0,"D_w");
   if(ObjectFind(0,"D_w_v")!=-1)
      ObjectDelete(0,"D_w_v");
  }
//+------------------------------------------------------------------+