Author: Atomic3D (c)
Indicators Used
FractalsGator oscillatorBill Williams AlligatorBill Williams Awesome oscillatorBill Williams Accelerator/Decelerator oscillator
0 Views
0 Downloads
0 Favorites
WilliamsB
//+------------------------------------------------------------------+
//|                                                    WilliamsB.mq4 |
//|                                                     Atomic3D (c) |
//|                                             duke3datomic@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Atomic3D (c)"
#property link      "duke3datomic@mail.ru"

#property indicator_chart_window
//--- input parameters
extern string _____TimeFrame_Setting______      ="0-0, 1-M1, 2-M5, 3-M15, 4-M30, 5-H1, 6-H4, 7-D1, 8-W1, 9-MN1";
extern int TF=0;    // Òåêóùèé ïåðèîä
extern string _____Alligator_Settings_____      = "_____________________________________";
extern double Jaw_period                        = 13;   // Ïåðèîä óñðåäíåíèÿ ñèíåé ëèíèè (÷åëþñòè àëëèãàòîðà). 
extern double Jaw_shift                         = 8;    // Ñìåùåíèå ñèíåé ëèíèè îòíîñèòåëüíî ãðàôèêà öåíû. 
extern double Teeth_period                      = 8;    // Ïåðèîä óñðåäíåíèÿ êðàñíîé ëèíèè (çóáîâ àëëèãàòîðà). 
extern double Teeth_shift                       = 5;    // Ñìåùåíèå êðàñíîé ëèíèè îòíîñèòåëüíî ãðàôèêà öåíû. 
extern double Lips_period                       = 5;    // Ïåðèîä óñðåäíåíèÿ çåëåíîé ëèíèè (ãóá àëëèãàòîðà). 
extern double Lips_shift                        = 3;    // Ñìåùåíèå çåëåíîé ëèíèè îòíîñèòåëüíî ãðàôèêà öåíû. 
extern int MA_method                            = 2;    // Ìåòîä óñðåäíåíèÿ ñêîëüçÿùåé
extern int Aplied_price                         = 4;    // Èñïîëüçóåìàÿ öåíà

extern string _____Balance_Line_Value_____      ="_____ 1-Ãóáû, 2-Çóáû, 3-×åëþñòü _____";
extern int Balance_Line=2;    // 1-Ãóáû, 2-Çóáû, 3-×åëþñòü
extern string _________Interface__________      = "_____ Íàñòðîéêè èíòåðôåéñà _____";
extern bool ShowBaseBar                         = true;
extern bool ShowLine_1                          = true;
extern bool ShowLine_2                          = true;
extern bool ShowArrows_1                        = true;
extern bool ShowArrows_2                        = true;
extern bool ShowPriceLabels_1                   = true;
extern bool ShowPriceLabels_2                   = true;
extern color LineUp_1                           = Lime;
extern color LineUp_2                           = Lime;
extern color LineDn_1                           = DeepPink;
extern color LineDn_2                           = DeepPink;

double FractalUp;
double FractalDn;

double GatorUp_0;
double GatorDn_0;
double GatorUp_1;
double GatorDn_1;
double GatorUp_2;
double GatorDn_2;

double AlligatorJaw_0;
double AlligatorTeeth_0;
double AlligatorLips_0;
double AlligatorJaw_1;
double AlligatorTeeth_1;
double AlligatorLips_1;
double AlligatorJaw_2;
double AlligatorTeeth_2;
double AlligatorLips_2;

string TradeSymbol;
double BalanceLine;

double AlligatorX[];

double FractalUpBuf[];
double FractalDnBuf[];

double AO_0;
double AO_1;
double AO_2;
double AO_3;

double AC_0;
double AC_1;
double AC_2;
double AC_3;

double GatorUpBuf[];
double GatorDnBuf[];
double AlligatorJawBuf[];
double AlligatorTeethBuf[];
double AlligatorLipsBuf[];
double AOBuf[];
double ACBuf[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   ObjectCreate("qwe",OBJ_LABEL,0,0,0);
   ObjectSet("qwe",OBJPROP_CORNER,1);
   ObjectSet("qwe",OBJPROP_XDISTANCE,20);
   ObjectSet("qwe",OBJPROP_YDISTANCE,20);
   ObjectSet("qwe",OBJPROP_COLOR,Red);
//ObjectSet("qwe", OBJPROP_BACK, true);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   ObjectDelete("BaseBar_UP_1");
   ObjectDelete("BaseBar_DN_1");
   ObjectDelete("BL_UP_1");
   ObjectDelete("BL_UP_2");
   ObjectDelete("BL_UP_3");
   ObjectDelete("BL_DN_1");
   ObjectDelete("BL_DN_2");
   ObjectDelete("BL_DN_3");
   ObjectDelete("BL_Label_UP");
   ObjectDelete("BL_Label_DN");
   ObjectDelete("BL_Label_UP_1");
   ObjectDelete("BL_Label_UP_2");
   ObjectDelete("BL_Label_UP_3");
   ObjectDelete("BL_Label_UP_4");
   ObjectDelete("BL_Label_DN_1");
   ObjectDelete("BL_Label_DN_2");
   ObjectDelete("BL_Label_DN_3");
   ObjectDelete("BL_Label_DN_4");
   ObjectDelete("BL_TrendLineUp_1");
   ObjectDelete("BL_TrendLineUp_2");
   ObjectDelete("BL_TrendLineUp_3");
   ObjectDelete("BL_TrendLineDn_1");
   ObjectDelete("BL_TrendLineDn_2");
   ObjectDelete("BL_TrendLineDn_3");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//----
   RefreshRates();
   int limit,i,j,k,l,m,n,o,p;
   int Fr_up,Fr_dn;

   string Comm1,
   Comm2,
   Comm3,
   Comm4,
   Comm5,
   Comm6,
   Comm7,
   Comm8,
   Comm9,
   Comm10,
   Comm11,
   Comm12,
   Comm13,
   Comm14;

   int countBarsHigh;
   int countBarsLow;
   int HighBuff[];
   int LowBuff[];
   int prcHighBuff;
   int prcHighBuff_1;
   int prcLowBuff;
   int prcLowBuff_1;
   int PeriodK=24;
   int numBaseBarUp;
   int numBaseBarDn;
   int numBaseBarUp_1;
   int numBaseBarDn_1;
   int numBaseBarUpBuff[];
   int numBaseBarDnBuff[];

//int counted_bars = IndicatorCounted();
   TradeSymbol=Symbol();
//---- îñíîâíîé öèêë
//limit = Bars - counted_bars - 1;             // Èíäåêñ ïåðâîãî íåïîñ÷èòàííîãî

   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
   if(counted_bars==0) limit-=1+PeriodK+1;

   ArrayResize(HighBuff,Bars);
   ArrayResize(LowBuff,Bars);
   ArrayResize(numBaseBarUpBuff,Bars);
   ArrayResize(numBaseBarDnBuff,Bars);

   for(i=0; i<=limit; i++)
     {
      FractalUp = iFractals(TradeSymbol, fGetTimeFrame(TF), MODE_UPPER, 5);
      FractalDn = iFractals(TradeSymbol, fGetTimeFrame(TF), MODE_LOWER, 5);

      GatorUp_0 = iGator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_UPPER, 0);
      GatorDn_0 = iGator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_LOWER, 0);
      GatorUp_1 = iGator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_UPPER, 1);
      GatorDn_1 = iGator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_LOWER, 1);
      GatorUp_2 = iGator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_UPPER, 2);
      GatorDn_2 = iGator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_LOWER, 2);

      AlligatorJaw_0   = iAlligator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_GATORJAW,   0);
      AlligatorTeeth_0 = iAlligator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_GATORTEETH, 0);
      AlligatorLips_0  = iAlligator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_GATORLIPS,  0);
      AlligatorJaw_1   = iAlligator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_GATORJAW,   1);
      AlligatorTeeth_1 = iAlligator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_GATORTEETH, 1);
      AlligatorLips_1  = iAlligator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_GATORLIPS,  1);
      AlligatorJaw_2   = iAlligator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_GATORJAW,   2);
      AlligatorTeeth_2 = iAlligator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_GATORTEETH, 2);
      AlligatorLips_2  = iAlligator(TradeSymbol, fGetTimeFrame(TF), Jaw_period, Jaw_shift, Teeth_period, Teeth_shift, Lips_period, Lips_shift, fGetMethod(MA_method), fGetPrice(Aplied_price), MODE_GATORLIPS,  2);

      AO_0 = iAO(TradeSymbol, fGetTimeFrame(TF), 0);
      AO_1 = iAO(TradeSymbol, fGetTimeFrame(TF), 1);
      AO_2 = iAO(TradeSymbol, fGetTimeFrame(TF), 2);
      AO_3 = iAO(TradeSymbol, fGetTimeFrame(TF), 3);

      AC_0 = iAC(TradeSymbol, fGetTimeFrame(TF), 0);
      AC_1 = iAC(TradeSymbol, fGetTimeFrame(TF), 1);
      AC_2 = iAC(TradeSymbol, fGetTimeFrame(TF), 2);
      AC_3 = iAC(TradeSymbol, fGetTimeFrame(TF), 3);

      string txtFractalUp_1 = "Ôðàêòàë ââåðõ âûøå ëèíèè áàëàíñà";
      string txtFractalDn_1 = "Ôðàêòàë âíèç íèæå ëèíèè áàëàíñà";
      string txtFractalUp_2 = "Ôðàêòàë ââåðõ íèæå ëèíèè áàëàíñà";
      string txtFractalDn_2 = "Ôðàêòàë âíèç âûøå ëèíèè áàëàíñà";
      string txtAO_1 = "Áëþäöå âûøå íîëÿ (ïîêóïêà)";
      string txtAO_2 = "Áëþäöå íèæå íîëÿ (ïðîäàæà)";
      string txtAO_3 = "Ïåðåñå÷åíèå 0 ââåðõ (ïîêóïêà)";
      string txtAO_4 = "Ïåðåñå÷åíèå 0 âíèç (ïðîäàæà)";
      string txtAC_1 = "Ïîêóïêà âûøå íóëåâîé ëèíèè";
      string txtAC_2 = "Ïðîäàæà íèæå íóëåâîé ëèíèè";
      string txtAC_3 = "Ïîêóïêà íèæå íóëåâîé ëèíèè";
      string txtAC_4 = "Ïðîäàæà âûøå íóëåâîé ëèíèè";
      string txtZoneTrade_1 = "Çåëåíûé áàð";
      string txtZoneTrade_2 = "Êðàñíûé áàð";
      string txtZoneTrade_3 = "Ñåðûé áàð";

      if(Balance_Line == 1) { BalanceLine = AlligatorLips_0; }
      if(Balance_Line == 2) { BalanceLine = AlligatorTeeth_0; }
      if(Balance_Line == 3) { BalanceLine = AlligatorJaw_0; }
      //+----- Fractals --------------------------------------------------------------+
      if(FractalUp>BalanceLine)
        {
         Comm1=txtFractalUp_1;
        }
      if(FractalDn<BalanceLine)
        {
         Comm1=txtFractalDn_1;
        }
      if(FractalUp<BalanceLine)
        {
         Comm1=txtFractalUp_2;
        }
      if(FractalDn>BalanceLine)
        {
         Comm1=txtFractalDn_2;
        }
      //+------ AO -------------------------------------------------------------------+
      if(AO_0>0 && AO_1>0 && AO_2>0 && AO_2>AO_1 && AO_1<AO_0)
        {
         Comm2=txtAO_1;
        }
      if(AO_0<0 && AO_1<0 && AO_2<0 && AO_2<AO_1 && AO_1>AO_0)
        {
         Comm2=txtAO_2;
        }

      if(AO_0>0 && AO_1>0 && AO_2<0 && AO_3<0 && AO_0>AO_1 && AO_1>AO_2 && AO_2>AO_3)
        {
         Comm2=txtAO_3;
        }
      if(AO_0<0 && AO_1<0 && AO_2>0 && AO_3>0 && AO_0<AO_1 && AO_1<AO_2 && AO_2<AO_3)
        {
         Comm2=txtAO_4;
        }
      //      else Comm2 = "No signals";
      else Comm2="Íåò ñèãíàëîâ";
      //+------ AC -------------------------------------------------------------------+
      if(AC_0>0 && AC_1>0 && AC_2>0 && AC_2<AC_1 && AC_1<AC_0 && AC_2>AO_3)
        {
         Comm3=txtAC_1;
        }
      if(AC_0<0 && AC_1<0 && AC_2<0 && AC_2>AC_1 && AC_1>AC_0 && AC_2<AO_3)
        {
         Comm3=txtAC_2;
        }

      if(AC_0<0 && AC_1<0 && AC_2<0 && AC_3<0 && AC_0>AC_1 && AC_1>AC_2 && AC_2>AC_3)
        {
         Comm3=txtAC_3;
        }
      if(AC_0>0 && AC_1>0 && AC_2>0 && AC_3>0 && AC_0<AC_1 && AC_1<AC_2 && AC_2<AC_3)
        {
         Comm3=txtAC_4;
        }
      //      else Comm3 = "No signals";
      else Comm3="Íåò ñèãíàëîâ";
      //+----- Zone Trade -------------------------------------------------------------+
      if(AO_0>AO_1 && AC_0>AC_1)
        {
         Comm4=txtZoneTrade_1;
        }
      if(AO_0<AO_1 && AC_0<AC_1)
        {
         Comm4=txtZoneTrade_2;
        }
      if((AO_0<AO_1 && AC_0>AC_1) || (AO_0>AO_1 && AC_0<AC_1))
        {
         Comm4=txtZoneTrade_3;
        }
      //+----- Balance Line -----------------------------------------------------------+
      countBarsHigh= 0;
      countBarsLow = 0;
      l = 0;
      n = 0;
      RefreshRates();
      //----------  
      for(k=PeriodK; k>=0; k--)
        {
         if(High[k+1]>High[k])
           {
            countBarsHigh++;
            numBaseBarUp=k;
            numBaseBarUpBuff[l]=k;
            HighBuff[l]=High[k];
            l=k+2;
            while(l<Bars-1)
              {
               if(High[l]>High[k+1])
                 {
                  numBaseBarUp_1=l;
                  break;
                 }
               l++;
              }
           }
         if(Low[k+1]<Low[k])
           {
            countBarsLow++;
            numBaseBarDn=k;
            numBaseBarDnBuff[l]=k;
            LowBuff[l]=Low[k];
            l=k+2;
            while(l<Bars-1)
              {
               if(Low[l]<Low[k+1])
                 {
                  numBaseBarDn_1=l;
                  break;
                 }
               l++;
              }
           }
        }
      //----------      
      if(ShowBaseBar==true)
        {
         fObjArrow("BaseBar_UP_1",0,Time[numBaseBarUp],High[numBaseBarUp]+10*Point,LineUp_1,222);
         fObjArrow("BaseBar_DN_1",0,Time[numBaseBarDn],Low[numBaseBarDn]-10*Point,LineDn_1,221);
        }

      if(ShowLine_1==true)
        {
         fObjHLine("BL_UP_1",0,High[numBaseBarUp+1]+1*Point,LineUp_1,1,0);
         fObjHLine("BL_DN_1",0,Low[numBaseBarDn+1]-1*Point,LineDn_1,1,0);
        }
      if(ShowLine_2==true)
        {
         fObjHLine("BL_UP_2",0,High[numBaseBarUp_1]+1*Point,LineUp_2,1,1);
         fObjHLine("BL_DN_2",0,Low[numBaseBarDn_1]-1*Point,LineDn_2,1,1);
        }

      if(ShowArrows_1==true)
        {
         fObjArrow("BL_Label_UP_2",0, Time[numBaseBarUp+1], High[numBaseBarUp+1] + 5 * Point, LineUp_1, 234);  // 242
         fObjArrow("BL_Label_DN_2", 0, Time[numBaseBarDn+1], Low[numBaseBarDn+1] - 5 * Point, LineDn_1, 233);  // 241
        }
      if(ShowArrows_2==true)
        {
         fObjArrow("BL_Label_UP_4",0, Time[numBaseBarUp_1], High[numBaseBarUp_1] + 5 * Point, LineUp_2, 226);  // 242
         fObjArrow("BL_Label_DN_4", 0, Time[numBaseBarDn_1], Low[numBaseBarDn_1] - 5 * Point, LineDn_2, 225);  // 241
        }

      if(ShowPriceLabels_1==true)
        {
         fObjArrow("BL_Label_UP_1",0,Time[numBaseBarUp+1],High[numBaseBarUp+1]+1*Point,LineUp_1,SYMBOL_RIGHTPRICE);
         fObjArrow("BL_Label_DN_1",0,Time[numBaseBarDn+1],Low[numBaseBarDn+1]-1*Point,LineDn_1,SYMBOL_RIGHTPRICE);
        }
      if(ShowPriceLabels_2==true)
        {
         fObjArrow("BL_Label_UP_3",0,Time[numBaseBarUp_1],High[numBaseBarUp_1]+1*Point,LineUp_2,SYMBOL_LEFTPRICE);
         fObjArrow("BL_Label_DN_3",0,Time[numBaseBarDn_1],Low[numBaseBarDn_1]-1*Point,LineDn_2,SYMBOL_LEFTPRICE);
        }

      Comm5 = numBaseBarUp;
      Comm6 = numBaseBarDn;
      Comm7 = countBarsHigh;
      Comm8 = countBarsLow;
      Comm9 = numBaseBarUp;
      Comm10 = numBaseBarDn;
      Comm11 = numBaseBarUp_1;
      Comm12 = numBaseBarDn_1;
      Comm13 = numBaseBarUp_1;
      Comm14 = numBaseBarDn_1;

      //+------------------------------------------------------------------------------+
     }
   int miSpread    = MarketInfo(TradeSymbol, MODE_SPREAD);
   int miStopLevel = MarketInfo(TradeSymbol, MODE_STOPLEVEL);
   double miSwapLong  = MarketInfo(TradeSymbol, MODE_SWAPLONG);
   double miSwapShort = MarketInfo(TradeSymbol, MODE_SWAPSHORT);

   Comment(TradeSymbol," Òåêóùàÿ öåíà: ",Bid,"\n",
           "Ñïðåä = ",miSpread," ïèïñ | ÑòîïËåâåë = ",miStopLevel," ïèïñ","\n",
           //"ÑâàïËîíã = ", miSwapLong, " ïèïñ | ÑâàïØîðò = ", miSwapShort, " ïèïñ", "\n",
           "1 Ôðàêòàë - ",Comm1,"\n",
           "2 AO - ",Comm2,"\n",
           "3 AC - ",Comm3,"\n",
           "4 Çîíàëüíàÿ òîðãîâëÿ - ",Comm4,"\n",
           "5 Áàçîâûé áàð íà ïîêóïêó ¹",Comm5," | High[",numBaseBarUp,"]=",High[numBaseBarUp],"\n",
           "6 Áàçîâûé áàð íà ïðîäàæó ¹",Comm6," | Low[",numBaseBarDn,"]=",Low[numBaseBarDn],"\n",
           "7 Ïîêóïêà: 1-ûé áàð ¹",numBaseBarUp+1," Öåíà ïîêóïêè: High[",numBaseBarUp+1,"]=",High[numBaseBarUp+1]+1*Point," | 2-îé áàð ¹",numBaseBarUp_1," Öåíà ïîêóïêè: High[",numBaseBarUp_1,"]=",High[numBaseBarUp_1]+1*Point,"\n",
           "8 Ïðîäàæà: 1-ûé áàð ¹",numBaseBarDn+1," Öåíà ïðîäàæè: Low[",numBaseBarDn+1,"]=",Low[numBaseBarDn+1]-1*Point," | 2-îé  áàð ¹",numBaseBarDn_1," Öåíà ïðîäàæè: Low[",numBaseBarDn_1,"]=",Low[numBaseBarDn_1]-1*Point,"\n"
           );

/*      }
      Comment(TradeSymbol, "\n",
              "1 Fractal - ", Comm1, "\n",
              "2 AO - ", Comm2, "\n",
              "3 AC - ", Comm3, "\n",
              "4 Zone - ", Comm4, "\n",
              "5 Base Bar Buy #", Comm5, "\n",
              "6 Base Bar Sell #", Comm6, "\n",
              "7 Buy: 1st Bar #", numBaseBarUp+1, " Buy Price: ", High[numBaseBarUp+1] + 1 * Point, " | 2nd Bar #", numBaseBarUp_1, " Buy Price: ", High[numBaseBarUp_1] + 1 * Point, "\n",
              "8 Sell: 1st Bar #", numBaseBarDn+1, " Sell Price: ", Low[numBaseBarDn+1] - 1 * Point, " | 2nd  Bar #", numBaseBarDn_1, " Sell Price: ", Low[numBaseBarDn_1] - 1 * Point, "\n"
              );
*/
//----
   return(0);
  }
//+------------------------------------------------------------------+
//============================================================================================
int fGetMethod(int Method)
  {
   switch(Method)
     {
      case 0: return(MODE_SMA);                            // Âîçâðàùàåò MODE_SMA=0 - Ïðîñòàÿ ñêîëüçÿùàÿ
      case 1: return(MODE_EMA);                            // Âîçâðàùàåò MODE_EMA=1 - Ýêñïîíåíöèàëüíàÿ ñêîëüçÿùàÿ
      case 2: return(MODE_SMMA);                           // Âîçâðàùàåò MODE_SMMA=2 - Ñãëàæåííàÿ ñêîëüçÿùàÿ
      case 3: return(MODE_LWMA);                           // Âîçâðàùàåò MODE_LWMA=3 - Ëèíåéíî-âçâåøåííàÿ ñêîëüçÿùàÿ
     }
  }
//============================================================================================
int fGetPrice(int Price)
  {
   switch(Price)
     {
      case 0: return(PRICE_CLOSE);                         // Âîçâðàùàåò PRICE_CLOSE=0        
      case 1: return(PRICE_OPEN);                          // Âîçâðàùàåò PRICE_OPEN=1
      case 2: return(PRICE_HIGH);                          // Âîçâðàùàåò PRICE_HIGH=2
      case 3: return(PRICE_LOW);                           // Âîçâðàùàåò PRICE_LOW=3
      case 4: return(PRICE_MEDIAN);                        // Âîçâðàùàåò PRICE_MEDIAN=4
      case 5: return(PRICE_TYPICAL);                       // Âîçâðàùàåò PRICE_TYPICAL=5
      case 6: return(PRICE_WEIGHTED);                      // Âîçâðàùàåò PRICE_WEIGHTED=6
     }
  }
//============================================================================================
int fGetTimeFrame(int TF)
  {
   switch(TF)
     {
      case 0: return(0);                                    // Âîçâðàùàåò 0 - ïåðèîä òåêóùåãî ãðàôèêà
      case 1: return(PERIOD_M1);                            // Âîçâðàùàåò PERIOD_M1=1
      case 2: return(PERIOD_M5);                            // Âîçâðàùàåò PERIOD_M5=2
      case 3: return(PERIOD_M15);                           // Âîçâðàùàåò PERIOD_M15=3
      case 4: return(PERIOD_M30);                           // Âîçâðàùàåò PERIOD_M30=4
      case 5: return(PERIOD_H1);                            // Âîçâðàùàåò PERIOD_H1=5
      case 6: return(PERIOD_H4);                            // Âîçâðàùàåò PERIOD_H4=6
      case 7: return(PERIOD_D1);                            // Âîçâðàùàåò PERIOD_D1=7
      case 8: return(PERIOD_W1);                            // Âîçâðàùàåò PERIOD_W1=8
      case 9: return(PERIOD_MN1);                           // Âîçâðàùàåò PERIOD_MN1=9
     }
  }
//============================================================================================
void fObjVLine(
               string aObjectName,  // 1 èìÿ
               int aWindowNumber,   // 2 îêíî
               datetime aTime_1,    // 3 âðåìÿ
               color aColor,        // 4 öâåò
               int aWidth,          // 5 òîëùèíà
               int aStyle           // 6 0-STYLE_SOLID, 1-STYLE_DASH, 2-STYLE_DOT, 3-STYLE_DASHDOT, 4-STYLE_DASHDOTDOT
               )
  {
   if(ObjectFind(aObjectName)!=aWindowNumber)
     {
      ObjectCreate(aObjectName,OBJ_VLINE,aWindowNumber,aTime_1,0);
     }
   ObjectSet(aObjectName,OBJPROP_COLOR,aColor);
   ObjectSet(aObjectName,OBJPROP_WIDTH,aWidth);
   ObjectSet(aObjectName,OBJPROP_STYLE,aStyle);
//return;       
  }
//============================================================================================
void fObjHLine(
               string aObjectName,  // 1 èìÿ
               int aWindowNumber,   // 2 îêíî
               double aPrice_1,     // 3 öåíà
               color aColor,        // 4 öâåò
               int aWidth,          // 5 òîëùèíà
               int aStyle           // 6 0-STYLE_SOLID, 1-STYLE_DASH, 2-STYLE_DOT, 3-STYLE_DASHDOT, 4-STYLE_DASHDOTDOT
               )
  {
   if(ObjectFind(aObjectName)!=aWindowNumber)
     {
      ObjectCreate(aObjectName,OBJ_HLINE,aWindowNumber,0,aPrice_1);
     }
   ObjectSet(aObjectName,OBJPROP_COLOR,aColor);
   ObjectSet(aObjectName,OBJPROP_WIDTH,aWidth);
   ObjectSet(aObjectName,OBJPROP_STYLE,aStyle);
  }
//============================================================================================
void fObjArrow(
               string aObjectName,  // 1 èìÿ
               int aWindowNumber,   // 2 îêíî
               datetime aTime_1,    // 3 âðåìÿ
               double aPrice_1,     // 4 öåíà
               color aColor,        // 5 öâåò
               int aArrowCode       // 6 êîä ñòðåëêè
               )
  {
   if(ObjectFind(aObjectName)!=aWindowNumber)
     {
      ObjectCreate(aObjectName,OBJ_ARROW,aWindowNumber,aTime_1,aPrice_1);
     }
   ObjectSet(aObjectName,OBJPROP_COLOR,aColor);
   ObjectSet(aObjectName,OBJPROP_ARROWCODE,aArrowCode);
  }
//============================================================================================
void fObjTrendLine(
                   string aObjectName,  // 1 èìÿ
                   int aWindowNumber,   // 2 îêíî
                   datetime aTime_1,    // 3 âðåìÿ
                   double aPrice_1,     // 4 öåíà
                   datetime aTime_2,    // 3 âðåìÿ
                   double aPrice_2,     // 4 öåíà
                   color aColor,        // 5 öâåò
                   int aWidth,          // 6 êîä ñòðåëêè
                   int aStyle           // 7 0-STYLE_SOLID, 1-STYLE_DASH, 2-STYLE_DOT, 3-STYLE_DASHDOT, 4-STYLE_DASHDOTDOT
                   )
  {
   if(ObjectFind(aObjectName)!=aWindowNumber)
     {
      ObjectCreate(aObjectName,OBJ_TREND,aWindowNumber,aTime_1,aPrice_1,aTime_2,aPrice_2);
     }
   ObjectSet(aObjectName,OBJPROP_COLOR,aColor);
   ObjectSet(aObjectName,OBJPROP_WIDTH,aWidth);
   ObjectSet(aObjectName,OBJPROP_STYLE,aStyle);
  }
//============================================================================================

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 ---