Vou escrever o indicador gratuitamente - página 106

 
Iurii Tokman:

isto - Comoreceber notificações push noMetaQuotes ID
significa alguma coisa?

Desculpe

Está funcionando, eu tive que reiniciar o computador e pegar o sinal agora tudo está funcionando O sinal está chegando, muito obrigado

 
Iurii Tokman:

por favor.

Está funcionando corretamente? Eu não verifiquei.

O sinal sobe ou desce, mas há outro problema, ele não mostra exatamente quais pares e para que lado sobe ou desce quando o sinal só sobe (relógio-alarme3.wav)

Você pode corrigi-lo?

Muito obrigado mais uma vez por seu árduo trabalho

 
Andrej2478:

O sinal sobe ou desce, mas há outro problema, ele não mostra exatamente quais pares e para que lado sobe ou desce quando ele dá um sinal apenas (relógio-alarme3.wav)

Você pode corrigi-lo?

Precisa ser reescrito para estas condições

 
Olá a todos! Caros programadores, por favor, escrevam um indicador que dará um sinal e mostrará uma seta sob certas condições. Condições de compra: O indicador AO está em mais, os fractais para cima aparecem, o indicador AC está em déficit, assim que todas as condições são satisfeitas uma seta e um sinal aparece. Os fractais indicadores sobem 7 barras. Na venda todos espelhados. Obrigado de antemão!!!
 
Caros senhores, colegas programadores, ajudem! Por favor, fixe o desenho do Indicador de Gama ORB, para que o rand atual não vá além de sua formação na história, como na captura de tela 1.

E ele é desenhado por segmentos, não linhas, como na captura de tela 2.

E seria ótimo se o indicador parabólico Ma_Parabolic_Alert _2 mudasse de cor ao cruzar o MA e a seta aparecesse.

Eu ficaria muito grato!
Arquivos anexados:
 
Bom dia, caros codificadores. Favor modificar o indicador FX Aliev para MT5
 
sergionnik:
Bom dia, caros codificadores. Favor refazer o indicador FX Aliev para MT5

Onde posso encontrá-lo? Não consigo encontrá-lo na busca.

- você tem que ter algo para convertê-lo.

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

é isto ?https://www.mql5.com/ru/forum/219756#comment_6057329

Продолжаю тему простейших индикаторов
Продолжаю тему простейших индикаторов
  • 2017.11.14
  • www.mql5.com
Продолжаю тему простейших индикаторов , встречал ли кто нибудь на просторах интернета индикатор нумерации свечей к примеру 1-2-3 направленных в одн...
 
sergionnik:
Boa tarde, caros codificadores. Favor refazer o indicador FX Aliev para MT5

O seu é parecido com este ????

AUDUSDH1

Arquivos anexados:
 
SanAlex:

O seu é parecido com este ????


Sim, é exatamente isso que parece.
 
sergionnik:
Sim, é exatamente isso que parece.

Sou autodidata - eu tentei . mas não tenho conhecimento suficiente para estas coisas.

- só chegou a este ponto.

Foto por

//+------------------------------------------------------------------+
//|                                                 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");
  }
//+------------------------------------------------------------------+
Razão: