//+------------------------------------------------------------------+ //| MACD 4H.mq4 | //| Copyright © 2006, lukas1 | //| MACD from old timeframe | //| v.05 | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, lukas1" //---- indicator settings #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 MediumPurple #property indicator_color2 Red #property indicator_width1 2 //---- indicator parameters extern int FastEMA=12; extern int SlowEMA=26; extern int SignalSMA=9; extern int AppliedPrice = 0; // 0=PRICE_CLOSE; 1=PRICE_OPEN; 5=PRICE_TYPICAL extern int VarPeriod=240; //òàéìôðåéì ñòàðøåãî ïåðèîäà //PERIOD_M5 5 5 ìèíóò //PERIOD_M15 15 15 ìèíóò //PERIOD_M30 30 30 ìèíóò //PERIOD_H1 60 1 ÷àñ //PERIOD_H4 240 4 ÷àñà //PERIOD_D1 1440 1 äåíü //PERIOD_W1 10080 1 íåäåëÿ //PERIOD_MN1 43200 1 ìåñÿö //---- indicator buffers double MacdBuffer[],SignalBuffer[]; int p; // òåêóùèé ïåðèîä int k; // êðàòíîñòü ïåðèîäà ââåðõ //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- drawing settings //p = Period(); SetIndexStyle(0, DRAW_HISTOGRAM); SetIndexStyle(1, DRAW_LINE); SetIndexStyle(2, 12); SetIndexStyle(3, 12); SetIndexDrawBegin(0, SlowEMA); SetIndexDrawBegin(1, SlowEMA); IndicatorDigits(Digits + 1); //---- indicator buffers mapping SetIndexBuffer(0, MacdBuffer); SetIndexBuffer(1, SignalBuffer); //---- name for DataWindow and indicator subwindow label IndicatorShortName("MACD 4H (" + FastEMA + "," + SlowEMA + "," + SignalSMA + ", " + VarPeriod + "min)"); SetIndexLabel(0, "MACD 4H(" + VarPeriod + ")"); SetIndexLabel(1, "Signal 4H(" + VarPeriod + ")"); //---- initialization done return(0); } //+------------------------------------------------------------------+ //| Moving Averages Convergence/Divergence (MACD) for old timeframe | //+------------------------------------------------------------------+ int start() { int limit; int counted_bars = IndicatorCounted(); //---- check for possible errors if(counted_bars < 0) return(-1); if(counted_bars <= SlowEMA) limit = Bars - SlowEMA ; else limit = Bars - counted_bars; p = Period(); k = VarPeriod/p; // êðàòíîñòü ïåðèîäà ââåðõ for(int i=0; i<limit; i++) { MacdBuffer[i] = iMACD(NULL, VarPeriod, FastEMA, SlowEMA, SignalSMA, AppliedPrice, 0, i/k); SignalBuffer[i] = iMACD(NULL, VarPeriod, FastEMA, SlowEMA, SignalSMA, AppliedPrice, 1, i/k); } //---- done return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Implements a curve of type DRAW_HISTOGRAM
Implements a curve of type DRAW_LINE
Implements a curve of type 12
Indicators Used:
MACD Histogram
Custom Indicators Used:
Order Management characteristics:
Other Features: