Indicators Used
Moving average indicator
0 Views
0 Downloads
0 Favorites
MW_ZigZag
//+------------------------------------------------------------------+
//|                                                    MW_ZigZag.mq4 |
//|                        
//|                                                     marwi1@o2.pl |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DarkTurquoise
#property indicator_color2 Yellow

extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;

extern int       barn=300;
extern int       Length=6;

double MA;

double HighMapBuffer[];
double LowMapBuffer[];

double HighMapBuffer1[];
double LowMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorDigits(5);
   string short_name;

   short_name="MW_ZIGZAG";
   IndicatorShortName(short_name);

   SetIndexArrow(0,32);
   SetIndexArrow(1,32);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   if(Bars<20) return(-1);

   MA=iMA(NULL,0,20,0,MODE_SMMA,PRICE_MEDIAN,0);
   int n1,i1;
   double b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20;
   double s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,b00;

   int size=100;
   ArrayResize(HighMapBuffer1,size);
   ArrayResize(LowMapBuffer1,size);
//------------      
   i1=0;
   for(n1=0;n1<=20;)
     {
      if(b0>0) {b20=b19; b19=b18; b18=b17; b17=b16; b16=b15; b15=b14; b14=b13;b13=b12; b12=b11; b11=b10; b10=b9; b9=b8; b8=b7; b7=b6; b6=b5;  b5=b4; b4=b3; b3=b2; b2=b1; b1=b0;}

      b0=iCustom(Symbol(),0,"High_Low v2",0,i1);
      b00=iCustom(Symbol(),0,"High_Low v2",0,i1);
      if(b0>0)
         n1+=1;

      i1++;

      if(b19>b20)
        {
         r1=b1; s1=b2;r2=b3; s2=b4; r3=b5; s3=b6; r4=b7; s4=b8; r5=b9; s5=b10;
         r6=b11; s6=b12; r7=b13; s7=b14; r8=b15; s8=b16; r9=b17; s9=b18; r10=b19; s10=b20;
        }
      else
        {
         s1=b1; r1=b2;s2=b3; r2=b4; s3=b5; r3=b6; s4=b7; r4=b8; s5=b9; r5=b10;
         s6=b11; r6=b12;s7=b13; r7=b14; s8=b15; r8=b16; s9=b17; r9=b18; s10=b19; r10=b20;
        }
      HighMapBuffer1[n1]=r10;
      LowMapBuffer1[n1]=s10;
     }

   ObjectDelete("Res1");
   ObjectCreate("Res1",OBJ_HLINE,0,0,r1);
   ObjectSet("Res1",OBJPROP_COLOR,White);
   ObjectSet("Res1",OBJPROP_WIDTH,1);
   ObjectSet("Res1",OBJPROP_RAY,false);
   ObjectSetText("Res1","Up & Price_0 "+r1,10,"Times New Roman",Green);

   ObjectDelete("Sup1");
   ObjectCreate("Sup1",OBJ_HLINE,0,0,s1);
   ObjectSet("Sup1",OBJPROP_COLOR,Yellow);
   ObjectSet("Sup1",OBJPROP_WIDTH,1);
   ObjectSet("Sup1",OBJPROP_RAY,false);
   ObjectSetText("Sup1","Down & Price_1 "+s1,10,"Times New Roman",Green);

//
   ObjectDelete("Res2");
   ObjectCreate("Res2",OBJ_HLINE,0,0,r2);
   ObjectSet("Res2",OBJPROP_COLOR,White);
   ObjectSet("Res2",OBJPROP_WIDTH,1);
   ObjectSet("Res2",OBJPROP_RAY,false);
   ObjectSetText("Res2","Up & Price_0 "+r2,10,"Times New Roman",Green);

   ObjectDelete("Sup2");
   ObjectCreate("Sup2",OBJ_HLINE,0,0,s2);
   ObjectSet("Sup2",OBJPROP_COLOR,Yellow);
   ObjectSet("Sup2",OBJPROP_WIDTH,1);
   ObjectSet("Sup2",OBJPROP_RAY,false);
   ObjectSetText("Sup2","Down & Price_1 "+s2,10,"Times New Roman",Green);
//
   ObjectDelete("Res3");
   ObjectCreate("Res3",OBJ_HLINE,0,0,r3);
   ObjectSet("Res3",OBJPROP_COLOR,White);
   ObjectSet("Res3",OBJPROP_WIDTH,1);
   ObjectSet("Res3",OBJPROP_RAY,false);
   ObjectSetText("Res3","Up & Price_0 "+r3,10,"Times New Roman",Green);

   ObjectDelete("Sup3");
   ObjectCreate("Sup3",OBJ_HLINE,0,0,s3);
   ObjectSet("Sup3",OBJPROP_COLOR,Yellow);
   ObjectSet("Sup3",OBJPROP_WIDTH,1);
   ObjectSet("Sup3",OBJPROP_RAY,false);
   ObjectSetText("Sup3","Down & Price_1 "+s3,10,"Times New Roman",Green);

   ObjectDelete("Res4");
   ObjectCreate("Res4",OBJ_HLINE,0,0,r4);
   ObjectSet("Res4",OBJPROP_COLOR,White);
   ObjectSet("Res4",OBJPROP_WIDTH,1);
   ObjectSet("Res4",OBJPROP_RAY,false);
   ObjectSetText("Res2","Up & Price_0 "+r4,10,"Times New Roman",Green);

   ObjectDelete("Sup4");
   ObjectCreate("Sup4",OBJ_HLINE,0,0,s4);
   ObjectSet("Sup4",OBJPROP_COLOR,Yellow);
   ObjectSet("Sup4",OBJPROP_WIDTH,1);
   ObjectSet("Sup4",OBJPROP_RAY,false);
   ObjectSetText("Sup4","Down & Price_1 "+s4,10,"Times New Roman",Green);

   ObjectDelete("Res5");
   ObjectCreate("Res5",OBJ_HLINE,0,0,r5);
   ObjectSet("Res5",OBJPROP_COLOR,White);
   ObjectSet("Res5",OBJPROP_WIDTH,1);
   ObjectSet("Res5",OBJPROP_RAY,false);
   ObjectSetText("Res5","Up & Price_0 "+r5,10,"Times New Roman",Green);

   ObjectDelete("Sup5");
   ObjectCreate("Sup5",OBJ_HLINE,0,0,s5);
   ObjectSet("Sup5",OBJPROP_COLOR,Yellow);
   ObjectSet("Sup5",OBJPROP_WIDTH,1);
   ObjectSet("Sup5",OBJPROP_RAY,false);
   ObjectSetText("Sup5","Down & Price_1 "+s5,10,"Times New Roman",Green);

//===
   ObjectDelete("Res6");
   ObjectCreate("Res6",OBJ_HLINE,0,0,r6);
   ObjectSet("Res6",OBJPROP_COLOR,White);
   ObjectSet("Res6",OBJPROP_WIDTH,1);
   ObjectSet("Res6",OBJPROP_RAY,false);
   ObjectSetText("Res6","Up & Price_0 "+r6,10,"Times New Roman",Green);

   ObjectDelete("Sup6");
   ObjectCreate("Sup6",OBJ_HLINE,0,0,s6);
   ObjectSet("Sup6",OBJPROP_COLOR,Yellow);
   ObjectSet("Sup6",OBJPROP_WIDTH,1);
   ObjectSet("Sup6",OBJPROP_RAY,false);
   ObjectSetText("Sup6","Down & Price_1 "+s6,10,"Times New Roman",Green);

//
   ObjectDelete("Res7");
   ObjectCreate("Res7",OBJ_HLINE,0,0,r7);
   ObjectSet("Res7",OBJPROP_COLOR,White);
   ObjectSet("Res7",OBJPROP_WIDTH,1);
   ObjectSet("Res7",OBJPROP_RAY,false);
   ObjectSetText("Res7","Up & Price_0 "+r7,10,"Times New Roman",Green);

   ObjectDelete("Sup7");
   ObjectCreate("Sup7",OBJ_HLINE,0,0,s7);
   ObjectSet("Sup7",OBJPROP_COLOR,Yellow);
   ObjectSet("Sup7",OBJPROP_WIDTH,1);
   ObjectSet("Sup7",OBJPROP_RAY,false);
   ObjectSetText("Sup7","Down & Price_1 "+s7,10,"Times New Roman",Green);
//
   ObjectDelete("Res8");
   ObjectCreate("Res8",OBJ_HLINE,0,0,r8);
   ObjectSet("Res8",OBJPROP_COLOR,White);
   ObjectSet("Res8",OBJPROP_WIDTH,1);
   ObjectSet("Res8",OBJPROP_RAY,false);
   ObjectSetText("Res8","Up & Price_0 "+r8,10,"Times New Roman",Green);

   ObjectDelete("Sup8");
   ObjectCreate("Sup8",OBJ_HLINE,0,0,s8);
   ObjectSet("Sup8",OBJPROP_COLOR,Yellow);
   ObjectSet("Sup8",OBJPROP_WIDTH,1);
   ObjectSet("Sup8",OBJPROP_RAY,false);
   ObjectSetText("Sup8","Down & Price_1 "+s8,10,"Times New Roman",Green);

   ObjectDelete("Res9");
   ObjectCreate("Res9",OBJ_HLINE,0,0,r9);
   ObjectSet("Res9",OBJPROP_COLOR,White);
   ObjectSet("Res9",OBJPROP_WIDTH,1);
   ObjectSet("Res9",OBJPROP_RAY,false);
   ObjectSetText("Res9","Up & Price_0 "+r9,10,"Times New Roman",Green);

   ObjectDelete("Sup9");
   ObjectCreate("Sup9",OBJ_HLINE,0,0,s9);
   ObjectSet("Sup9",OBJPROP_COLOR,Yellow);
   ObjectSet("Sup9",OBJPROP_WIDTH,1);
   ObjectSet("Sup9",OBJPROP_RAY,false);
   ObjectSetText("Sup9","Down & Price_1 "+s9,10,"Times New Roman",Green);

   ObjectDelete("Res10");
   ObjectCreate("Res10",OBJ_HLINE,0,0,r10);
   ObjectSet("Res10",OBJPROP_COLOR,White);
   ObjectSet("Res10",OBJPROP_WIDTH,1);
   ObjectSet("Res10",OBJPROP_RAY,false);
   ObjectSetText("Res10","Up & Price_0 "+r10,10,"Times New Roman",Green);

   ObjectDelete("Sup10");
   ObjectCreate("Sup10",OBJ_HLINE,0,0,s10);
   ObjectSet("Sup10",OBJPROP_COLOR,Yellow);
   ObjectSet("Sup10",OBJPROP_WIDTH,1);
   ObjectSet("Sup10",OBJPROP_RAY,false);
   ObjectSetText("Sup10","Down & Price_1 "+s10,10,"Times New Roman",Green);

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