MaksiGen_KaHaJI_CkaJIneP_v2

Author: MaksiGen
MaksiGen_KaHaJI_CkaJIneP_v2
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
MaksiGen_KaHaJI_CkaJIneP_v2
//+------------------------------------------------------------------+
//|                                     MaksiGen_KaHaJI_CkaJIneP.mq4 |
//|                                                         MaksiGen |
//|                                                          http:// |
//+------------------------------------------------------------------+
#property copyright "MaksiGen"
#property link      "http://"
//----
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Aqua
#property indicator_color2 Violet
#property indicator_color3 DarkTurquoise
#property indicator_color4 Magenta
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
extern string Time_Start_1="08.15";
extern string Time_End_1="11.30";
extern string Time_Start_2="14.00";
extern string Time_End_2="17.30";
extern int MuH_IIIuPuHa_KaHaJIa=25;
double val_1[],val_2[],val_3[],val_4[],HighKaHaJI,LowKaHaJI;
string TextHour_Start_1,TextMinute_Start_1,TextHour_End_1,TextMinute_End_1;
string TextHour_Start_2,TextMinute_Start_2,TextHour_End_2,TextMinute_End_2;
string BbIBog;
int Hour_Start_1,Minute_Start_1,Hour_End_1,Minute_End_1;
int Hour_Start_2,Minute_Start_2,Hour_End_2,Minute_End_2;
int IIIuPuHa_KaHaJIa;
bool on_off_trade;
//datetime DateTime_Start_1,DateTime_Start_2,DateTime_End_1,DateTime_End_2;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(4);
   SetIndexStyle(0,DRAW_LINE,1,3);
   SetIndexStyle(1,DRAW_LINE,1,3);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexStyle(3,DRAW_LINE);
   SetIndexBuffer(0,val_1);
   SetIndexBuffer(1,val_2);
   SetIndexBuffer(2,val_3);
   SetIndexBuffer(3,val_4);
//---- Time
   TextHour_Start_1=StringSubstr(Time_Start_1,0,2);Hour_Start_1=StrToInteger(TextHour_Start_1);
   TextMinute_Start_1=StringSubstr(Time_Start_1,3,2);Minute_Start_1=StrToInteger(TextMinute_Start_1);
   TextHour_End_1=StringSubstr(Time_End_1,0,2);Hour_End_1=StrToInteger(TextHour_End_1);
   TextMinute_End_1=StringSubstr(Time_End_1,3,2);Minute_End_1=StrToInteger(TextMinute_End_1);
   TextHour_Start_2=StringSubstr(Time_Start_2,0,2);Hour_Start_2=StrToInteger(TextHour_Start_2);
   TextMinute_Start_2=StringSubstr(Time_Start_2,3,2);Minute_Start_2=StrToInteger(TextMinute_Start_2);
   TextHour_End_2=StringSubstr(Time_End_2,0,2);Hour_End_2=StrToInteger(TextHour_End_2);
   TextMinute_End_2=StringSubstr(Time_End_2,3,2);Minute_End_2=StrToInteger(TextMinute_End_2);
   // Setting MSK time (Moscow time)to Alpari server's time
   //Hour_Start_1=Hour_Start_1-2;Hour_End_1=Hour_End_1-2;
   //Hour_Start_2=Hour_Start_2-2;Hour_End_1=Hour_End_2-2;
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int shift,i,ii;
   int Counted_Bars=IndicatorCounted();
//----
   if (Period()>30)
     {
      if (Minute_Start_1!=0) {Minute_Start_1=0;}
      if (Minute_End_1!=0) {Hour_End_1++;Minute_End_1=0;}
      if (Minute_Start_2!=0) {Minute_Start_2=0;}
      if (Minute_End_2!=0) {Hour_End_2++;Minute_End_2=0;}
     }
//----
   if (Counted_Bars>=Bars) Counted_Bars=Bars;
   if(Counted_Bars<0) return(-1);//---- checking for possible errors
//----
   for(shift=Counted_Bars+10;shift>0;shift--)
     {
      on_off_trade=false;//-estimate trading time
      if (TimeHour(Time[shift])>Hour_Start_1 && TimeHour(Time[shift])<Hour_End_1) on_off_trade=true;
      if (TimeHour(Time[shift])==Hour_Start_1 && TimeMinute(Time[shift])>=Minute_Start_1) on_off_trade=true;
      if (TimeHour(Time[shift])==Hour_End_1 && TimeMinute(Time[shift])<=Minute_End_1) on_off_trade=true;
      if (TimeHour(Time[shift])>Hour_Start_2 && TimeHour(Time[shift])<Hour_End_2) on_off_trade=true;
      if (TimeHour(Time[shift])==Hour_Start_2 && TimeMinute(Time[shift])>=Minute_Start_2) on_off_trade=true;
      if (TimeHour(Time[shift])==Hour_End_2 && TimeMinute(Time[shift])<=Minute_End_2) on_off_trade=true;
      //---
      if (TimeHour(Time[shift])==Hour_Start_1 && TimeMinute(Time[shift])==Minute_Start_1)
        {
         HighKaHaJI=0;
         LowKaHaJI=10000;
//----
         for(i=shift+MathRound((Hour_Start_1*60+Minute_Start_1)/Period());i>shift;i--)
           {
            if (High[i]>HighKaHaJI) HighKaHaJI=High[i];
            if (Low[i]<LowKaHaJI) LowKaHaJI=Low[i];
           }
        }
      //---
      if (on_off_trade)
        {
         val_1[shift]=HighKaHaJI;
         val_3[shift]=HighKaHaJI+10*Point;
         val_2[shift]=LowKaHaJI;
         val_4[shift]=LowKaHaJI-10*Point;
        }
      IIIuPuHa_KaHaJIa=(HighKaHaJI-LowKaHaJI)/Point;
     }
   if (IIIuPuHa_KaHaJIa>MuH_IIIuPuHa_KaHaJIa)
   {BbIBog=", Buy from "+DoubleToStr(HighKaHaJI,4)+", Sell from "+DoubleToStr(LowKaHaJI,4);}
   else {BbIBog=", not trading";}
   Comment("\n","\n","Working server's time: since ",TextHour_Start_1,":",TextMinute_Start_1," till ",TextHour_End_1,":",TextMinute_End_1,
   " and since ",TextHour_Start_2,":",TextMinute_Start_2," äî ",TextHour_End_2,":",TextMinute_End_2,
   "\n","Width of the channel: ",IIIuPuHa_KaHaJIa,BbIBog);
//----
   return(0);
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---