Hi,
I'm learning to program. I already used several functions, but now I want to know how to program multi time frame indicators. For example, how I can get signals fractals "m15" in "m5" (current time frame)?
I do not know how to work with functions of time or bars.
If anyone can tell me how I can start would appreciate.
Thank you very much
Use iBarShift()
int shift = iBarShift(NULL,PERIOD_M15,Time[i]); double fractal_upper = iFractals(NULL,PERIOD_M15,MODE_UPPER,shift);
The indicator shows no sign:
#property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 2 //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); if (counted_bars>0) counted_bars--; int limit= Bars-counted_bars; for (int i=0;i<limit;i++) { int shift = iBarShift(NULL,PERIOD_M15,Time[i]); double fractal_upper = iFractals(NULL,PERIOD_M15,MODE_UPPER,shift); } return(0); }
#property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); if (counted_bars>0) counted_bars--; int limit= Bars-counted_bars; for (int i=0;i<limit;i++) { int shift = iBarShift(NULL,PERIOD_M15,Time[i]); double fractal_upper = iFractals(NULL,PERIOD_M15,MODE_UPPER,shift); } return(0); }
The indicator shows no sign:
You have to declare an array and assign it to a buffer.
#property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 1 double fractal_upper[]; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ init() { SetIndexBuffer(0,fractal_upper); SetIndexStyle(... } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); if(counted_bars>0) counted_bars--; int limit=Bars-counted_bars; for(int i=0;i<limit;i++) { int shift=iBarShift(NULL,PERIOD_M15,Time[i]); fractal_upper[i]=iFractals(NULL,PERIOD_M15,MODE_UPPER,shift); } return(0); } //+------------------------------------------------------------------+
The fractalsUp, in current time frame indicator works correctly, but if I try to display signs of "m15" in "m5", I have no signal.
#property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 DeepSkyBlue #property indicator_color2 Red //---- input parameters extern int Equals=5; extern int nLeftUp=2; extern int nRightUp=2; extern int nLeftDown=2; extern int nRightDown=2; //---- buffers double fractalsUp[]; //+------------------------------------------------------------------+ //| Custom indicator initialization functi | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,217); SetIndexBuffer(0,fractalsUp); SetIndexEmptyValue(0,0.0); return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); if (counted_bars>0) counted_bars--; int limit= Bars-counted_bars; for (int i=0;i<limit;i++) { int shift=iBarShift(NULL,PERIOD_M15,Time[i]); fractalsUp[i]=iCustom(NULL,PERIOD_M15,"fractalsUp",Equals,nLeftUp,nRightUp,nLeftDown,nRightDown,0,shift); } return(0);
The fractalsUp, in current time frame indicator works correctly, but if I try to display signs of "m15" in "m5", I have no signal.
Try using iBarShift() in fractalsUp instead?
I send you a PM,
I try but I continued without signal
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi,
I'm learning to program. I already used several functions, but now I want to know how to program multi time frame indicators. For example, how I can get signals fractals "m15" in "m5" (current time frame)?
I do not know how to work with functions of time or bars.
If anyone can tell me how I can start would appreciate.
Thank you very much