Store signs

MQL4 Scripts

Job finished

Execution time 3 days
Feedback from customer
very professional and fast programmer. Recommended!!!!
Feedback from employee
Thanks for giving orders, a pleasure to work with the customer!!!

Specification

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




Responded

1
Developer 1
Rating
(803)
Projects
1123
43%
Arbitration
47
49% / 23%
Overdue
84
7%
Free
2
Developer 2
Rating
(103)
Projects
205
41%
Arbitration
17
29% / 71%
Overdue
45
22%
Free
3
Developer 3
Rating
(41)
Projects
72
8%
Arbitration
18
11% / 56%
Overdue
18
25%
Free
4
Developer 4
Rating
(1)
Projects
2
0%
Arbitration
1
0% / 100%
Overdue
0
Free
5
Developer 5
Rating
(772)
Projects
1039
44%
Arbitration
50
8% / 50%
Overdue
116
11%
Free
6
Developer 6
Rating
(71)
Projects
156
44%
Arbitration
22
41% / 14%
Overdue
16
10%
Free
Published: 10 codes
7
Developer 7
Rating
(91)
Projects
144
38%
Arbitration
67
15% / 48%
Overdue
55
38%
Free

Project information

Budget
10 - 15 USD
Deadline
from 2 to 5 day(s)