Je vais écrire l'indicateur gratuitement - page 106

 
Iurii Tokman:

this - Commentrecevoir des notifications push lorsqueMetaQuotes ID
dit quelque chose ?

Désolé

Il fonctionne, j'ai dû redémarrer l'ordinateur et capter le signal maintenant tout fonctionne Le signal arrive merci beaucoup

 
Iurii Tokman:

s'il vous plaît.

Est-ce qu'il fonctionne correctement ? Je n'ai pas vérifié.

Le signal monte ou descend mais il y a un autre problème, il ne montre pas exactement quelles paires et de quelle manière montent ou descendent quand le signal monte seulement (clock-alarm3.wav)

Pouvez-vous le corriger ?

Merci encore pour votre travail.

 
Andrej2478:

Le signal va tout le chemin vers le haut ou vers le bas mais il y a un autre problème, il ne montre pas exactement quelles paires et quel chemin vers le haut ou vers le bas quand il donne un signal seulement (clock-alarm3.wav)

Pouvez-vous le corriger ?

Il doit être réécrit pour ces conditions

 
Bonjour à tous, chers programmeurs, veuillez écrire un indicateur qui donnera un signal et montrera une flèche sous certaines conditions. Conditions d'achat : l'indicateur AO est en plus, des fractales vers le haut apparaissent, l'indicateur AC est en déficit, dès que toutes les conditions sont réunies une flèche et un signal apparaissent. L'indicateur fractale vers le haut 7 barres. Sur la vente, tous les miroirs. Merci d'avance ! !!
 
Messieurs, chers collègues programmeurs, au secours ! Veuillez corriger le dessin de l'indicateur ORB Range, afin que le rand actuel ne dépasse pas sa formation dans l'historique, comme dans la capture d'écran 1.

Et il est dessiné par des segments, et non des lignes, comme dans la capture d'écran 2.

Et ce serait génial si l' indicateur parabolique Ma_Parabolic_Alert _2 changeait de couleur lors du franchissement de la MA et si la flèche apparaissait.

Je vous en serais très reconnaissant !
Dossiers :
 
Bonne journée chers codeurs. Veuillez modifier l'indicateur FX Aliev pour MT5.
 
sergionnik:
Bonjour chers codeurs. Veuillez modifier l'indicateur FX Aliev pour MT5.

Où puis-je le trouver ? Je ne le trouve pas dans la recherche.

- il faut avoir quelque chose pour le convertir.

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

C'est ça ?https://www.mql5.com/ru/forum/219756#comment_6057329

Продолжаю тему простейших индикаторов
Продолжаю тему простейших индикаторов
  • 2017.11.14
  • www.mql5.com
Продолжаю тему простейших индикаторов , встречал ли кто нибудь на просторах интернета индикатор нумерации свечей к примеру 1-2-3 направленных в одн...
 
sergionnik:
Bonjour chers codeurs. Veuillez refaire l'indicateur FX Aliev pour MT5.

Est-ce que le vôtre ressemble à ça ?

AUDUSDH1

Dossiers :
 
SanAlex:

Est-ce que le vôtre ressemble à ça ?


Oui, c'est exactement ce à quoi ça ressemble.
 
sergionnik:
Oui, c'est exactement ce à quoi ça ressemble.

Je suis autodidacte - j'ai essayé . mais je n'ai pas assez de connaissances pour ces choses.

- n'est arrivé qu'à ce point.

Photo par

//+------------------------------------------------------------------+
//|                                                 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");
  }
//+------------------------------------------------------------------+