Store signs

MQL4 Sripts

Trabajo finalizado

Plazo de ejecución 3 días
Comentario del Cliente
very professional and fast programmer. Recommended!!!!
Comentario del Ejecutor
Thanks for giving orders, a pleasure to work with the customer!!!

Tarea técnica

Hello everyone. I wrote this simple code. I would like to know, if it is possible to store the signals that come out on the graph. If I close the MT4, when I open it again, I would find the old stored signals. I will not use the "for loop", because it rewrites the signals in the historic. Thanks, Max.


//--- indicator settings
#property indicator_chart_window
#property indicator_buffers 2

#property indicator_type1 DRAW_ARROW
#property indicator_width1 1
#property indicator_color1 Green

#property indicator_type2 DRAW_ARROW
#property indicator_width2 1
#property indicator_color2 Yellow


extern int Ritardo_Secondi=10;

datetime time_alert; //used when sending alert
//--- indicator buffers
double Buffer1[];
double Buffer2[];

int Period1=2;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {

   IndicatorBuffers(2);
   SetIndexBuffer(0,Buffer1);
   SetIndexEmptyValue(0,0);
   SetIndexArrow(0,108);
   SetIndexBuffer(1,Buffer2);
   SetIndexEmptyValue(1,0);
   SetIndexArrow(1,108);

   return(INIT_SUCCEEDED);
  }
//________________________________

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[])
  {
   int i=0;

   if(Buffer1[i]!=0)
     {
      Buffer1[i]=Low[i]-10*Point();
     }

   if(Buffer2[i]!=0)
     {
      Buffer2[i]=High[i]+10*Point();
     }

   static datetime BarStart=0;
   static bool check=false;
   if(BarStart!=Time[2]+Period()*120)
     {
      BarStart=Time[2]+Period()*120;
      check=true;
     }

   if(check && TimeCurrent()>=Time[2]+Period()*120+Ritardo_Secondi)
     {
      check=false;
      //Inserisci condizioni

      //Indicator Buffer 1
      if(iRSI(NULL,PERIOD_CURRENT,Period1,PRICE_CLOSE,0)<40

         )
        {
         Buffer1[0]=Low[0]-10*Point();
        }

      //Indicator Buffer 2
      if(iRSI(NULL,PERIOD_CURRENT,Period1,PRICE_CLOSE,0)>60

         )
        {
         Buffer2[0]=High[0]+10*Point();
        }

     }

   return(rates_total);
  }
//-----------------------------------------------------------------------------------------------------------------------------

If I close the MT4 at this time, when I open it again I have to find the same situation

Picture 1


and NOT one presented in picture 2

Picture 2




Han respondido

1
Desarrollador 1
Evaluación
(803)
Proyectos
1123
43%
Arbitraje
47
49% / 23%
Caducado
84
7%
Libre
2
Desarrollador 2
Evaluación
(103)
Proyectos
205
41%
Arbitraje
17
29% / 71%
Caducado
45
22%
Libre
3
Desarrollador 3
Evaluación
(41)
Proyectos
72
8%
Arbitraje
18
11% / 56%
Caducado
18
25%
Libre
4
Desarrollador 4
Evaluación
(1)
Proyectos
2
0%
Arbitraje
1
0% / 100%
Caducado
0
Libre
5
Desarrollador 5
Evaluación
(772)
Proyectos
1039
44%
Arbitraje
50
8% / 50%
Caducado
116
11%
Libre
6
Desarrollador 6
Evaluación
(71)
Proyectos
156
44%
Arbitraje
22
41% / 14%
Caducado
16
10%
Libre
Ha publicado: 10 ejemplos
7
Desarrollador 7
Evaluación
(91)
Proyectos
144
38%
Arbitraje
67
15% / 48%
Caducado
55
38%
Libre

Información sobre el proyecto

Presupuesto
10 - 15 USD
Plazo límite de ejecución
de 2 a 5 día(s)