Can someone help me write a script which calculate n day simple moving average ( shifted to the right by one day so that no calculation is needed for any newly incoming ticks ) and draw it on intraday charts? Thanks.
- Envelopes - Trend Indicators - Indicators - Charts - MetaTrader 5 for Android
- Envelopes - Trend Indicators - Indicators - Chart - MetaTrader 5 for iPhone
- Envelopes - Trend Indicators - Technical Indicators - Price Charts, Technical and Fundamental Analysis
Can someone help me write a script which calculate n day simple moving average ( shifted to the right by one day so that no calculation is needed for any newly incoming ticks ) and draw it on intraday charts? Thanks.
here ya go...
it is the indicator with same parameters as standard moving average, with addition of the "timeframe" parameter which should be set to timeframe (in minutes) you wish to calculate average for
so, in your case, you should set timeframe to 1440 and all other parameters to your likings
it makes no sense to try to display average from shorter timeframe in longer one (for instance 1H average on a daily chart)
hope this helps
swacc
#property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red extern int timeframe=1440; //minutes extern int period=14; extern int shift=0; extern int method=MODE_SMA; extern int applyToPrice=PRICE_CLOSE; double movingAverage[]; int init() { SetIndexStyle(0,DRAW_LINE); SetIndexShift(0,0); SetIndexDrawBegin(0,0); SetIndexEmptyValue(0,0.0); SetIndexLabel(0,"Moving Average"); SetIndexBuffer(0,movingAverage); IndicatorShortName("Moving Average " + timeframe + " minutes, shown on " + (Time[0]-Time[1])/60 + " min chart"); return(0); } int deinit() { return(0); } int start() { int limit=0; int i=0; int counted_bars=IndicatorCounted(); static int longerTimeframeBarShift=0; if(counted_bars<0) { return(-1); } if(counted_bars>0){ counted_bars--; } limit=Bars-counted_bars; for(i=0; i<limit; i++) { if(Time[i]%60 == 0 && (Time[i]/60)%timeframe == 0) { longerTimeframeBarShift++; } movingAverage[i]=iMA(NULL, timeframe, period, shift, method, PRICE_CLOSE, longerTimeframeBarShift); } return(0); }
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register