Digital_MACD

Author: Digital MACD rewritten by CrazyChart
Digital_MACD
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
Digital_MACD
//+------------------------------------------------------------------+
//|                                                 Digital MACD.mq4 |
//|                             Digital MACD rewritten by CrazyChart |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Digital MACD rewritten by CrazyChart"
#property link      " "
//----
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 YellowGreen
#property indicator_color2 White
//---- input parameters
extern int       CountBars=300;
extern int       SignalMAPeriod=5;
//---- buffers
double ExtGraph[];
double ExtSignal[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,ExtGraph);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,ExtSignal);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- TODO: add your code here
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//---- TODO: add your code here
   int shift,cnt,loop,AccountedBars;
   double value1,value2,AVG;
   bool firstTime=true;
   if (firstTime)
     {
      AccountedBars=Bars-CountBars;
      loop=CountBars-SignalMAPeriod-1;
      firstTime=false;
     }
   for(shift=Bars-2;shift>=0;shift--)
     {
      value1=
      0.2149840610*Close[shift+0]
      +0.2065763732*Close[shift+1]
      +0.1903728890*Close[shift+2]
      +0.1675422436*Close[shift+3]
      +0.1397053150*Close[shift+4]
      +0.1087951881*Close[shift+5]
      +0.0768869405*Close[shift+6]
      +0.0460244906*Close[shift+7]
      +0.0180517395*Close[shift+8]
      -0.0055294579*Close[shift+9]
      -0.0236660212*Close[shift+10]
      -0.0358140055*Close[shift+11]
      -0.0419497760*Close[shift+12]
      -0.0425331450*Close[shift+13]
      -0.0384279507*Close[shift+14]
      -0.0307917433*Close[shift+15]
      -0.0209443384*Close[shift+16]
      -0.0102335925*Close[shift+17]
      +0.0000932767*Close[shift+18]
      +0.0089950015*Close[shift+19]
      +0.0157131144*Close[shift+20]
      +0.0198149331*Close[shift+21]
      +0.0211989019*Close[shift+22]
      +0.0200639819*Close[shift+23]
      +0.0168532934*Close[shift+24]
      +0.0121825067*Close[shift+25]
      +0.0067474241*Close[shift+26]
      +0.0012444305*Close[shift+27]
      -0.0037087682*Close[shift+28]
      -0.0076300416*Close[shift+29]
      -0.0102110543*Close[shift+30]
      -0.0113306266*Close[shift+31]
      -0.0110462105*Close[shift+32]
      -0.0095662166*Close[shift+33]
      -0.0072080453*Close[shift+34]
      -0.0043494435*Close[shift+35]
      -0.0013771970*Close[shift+36]
      +0.0013575268*Close[shift+37]
      +0.0035760416*Close[shift+38]
      +0.0050946166*Close[shift+39]
      +0.0058339574*Close[shift+40]
      +0.0058160431*Close[shift+41]
      +0.0051486631*Close[shift+42]
      +0.0039984014*Close[shift+43]
      +0.0025619380*Close[shift+44]
      +0.0010531475*Close[shift+45]
      -0.0003481453*Close[shift+46]
      -0.0014937154*Close[shift+47]
      -0.0022905986*Close[shift+48]
      -0.0027000514*Close[shift+49]
      -0.0027359080*Close[shift+50]
      -0.0024543322*Close[shift+51]
      -0.0019409837*Close[shift+52]
      -0.0012957482*Close[shift+53]
      -0.0006179734*Close[shift+54]
      +0.0000057542*Close[shift+55]
      +0.0005111297*Close[shift+56]
      +0.0008605279*Close[shift+57]
      +0.0010441921*Close[shift+58]
      +0.0010775684*Close[shift+59]
      +0.0009966494*Close[shift+60]
      +0.0008537300*Close[shift+61]
      +0.0007142855*Close[shift+62]
      +0.0006599146*Close[shift+63]
      -0.0008151017*Close[shift+64];
      //----
      value2=
      0.0825641231*Close[shift+0]
      +0.0822783080*Close[shift+1]
      +0.0814249974*Close[shift+2]
      +0.0800166909*Close[shift+3]
      +0.0780735197*Close[shift+4]
      +0.0756232268*Close[shift+5]
      +0.0727009740*Close[shift+6]
      +0.0693478349*Close[shift+7]
      +0.0656105823*Close[shift+8]
      +0.0615409157*Close[shift+9]
      +0.0571939540*Close[shift+10]
      +0.0526285643*Close[shift+11]
      +0.0479025123*Close[shift+12]
      +0.0430785482*Close[shift+13]
      +0.0382152880*Close[shift+14]
      +0.0333706133*Close[shift+15]
      +0.0286021160*Close[shift+16]
      +0.0239614376*Close[shift+17]
      +0.0194972056*Close[shift+18]
      +0.0152532583*Close[shift+19]
      +0.0112682658*Close[shift+20]
      +0.0075745482*Close[shift+21]
      +0.0041980052*Close[shift+22]
      +0.0011588603*Close[shift+23]
      -0.0015292889*Close[shift+24]
      -0.0038593393*Close[shift+25]
      -0.0058303888*Close[shift+26]
      -0.0074473108*Close[shift+27]
      -0.0087203043*Close[shift+28]
      -0.0096645874*Close[shift+29]
      -0.0102995666*Close[shift+30]
      -0.0106483424*Close[shift+31]
      -0.0107374524*Close[shift+32]
      -0.0105952115*Close[shift+33]
      -0.0102516944*Close[shift+34]
      -0.0097377645*Close[shift+35]
      -0.0090838346*Close[shift+36]
      -0.0083237046*Close[shift+37]
      -0.0074804382*Close[shift+38]
      -0.0065902734*Close[shift+39]
      -0.0056742995*Close[shift+40]
      -0.0047554314*Close[shift+41]
      -0.0038574209*Close[shift+42]
      -0.0029983549*Close[shift+43]
      -0.0021924972*Close[shift+44]
      -0.0014513858*Close[shift+45]
      -0.0007848072*Close[shift+46]
      -0.0001995891*Close[shift+47]
      +0.0003009728*Close[shift+48]
      +0.0007162164*Close[shift+49]
      +0.0010478905*Close[shift+50]
      +0.0012994016*Close[shift+51]
      +0.0014755433*Close[shift+52]
      +0.0015824007*Close[shift+53]
      +0.0016272598*Close[shift+54]
      +0.0016185271*Close[shift+55]
      +0.0015648336*Close[shift+56]
      +0.0014747659*Close[shift+57]
      +0.0013569946*Close[shift+58]
      +0.0012193896*Close[shift+59]
      +0.0010695971*Close[shift+60]
      +0.0009140878*Close[shift+61]
      +0.0007591540*Close[shift+62]
      +0.0016019033*Close[shift+63];
      ExtGraph[shift]=value1-value2;
      if (shift>0) AccountedBars=AccountedBars+1;
     }
   for(shift=loop;shift>=0;shift--)
     {
      AVG=0;
      for(cnt=0;cnt<=SignalMAPeriod-1;cnt++)
        {
         AVG=AVG + ExtGraph[shift+cnt];
        }
      ExtSignal[shift]=AVG/SignalMAPeriod;
      if (shift>0) loop=loop-1;
     }
//----
   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 ---