//+------------------------------------------------------------------+ //| Xma.mq4 | //| Copyright © 2009, XrustSolution. Toys from Vinin.| //| http://www.xrust.ucoz.net http://www.vinin.ucoz.ru | //| xrust@land.ru xrust@gmail.com xrust@mksat.net | //| Õîòü äàííàÿ ïðîãðàììà è ÿâëÿåòñÿ ñâîáîäíî ðàñïðîñòðàíÿåìîé, | //| ïóáëèêàöèÿ åå áåç óêàçàíèÿ íà ïåðâîèñòî÷íèê çàïðåùåíà | //-------------------------------------------------------------------+ //mod 3col granit http://codebase.mql4.com/ru/5899 #property copyright "#Copyright © 2008, XrustSolution.#" #property link "#http://www.xrust.ucoz.net#" #property indicator_chart_window #property indicator_buffers 5 #property indicator_color1 Yellow #property indicator_color2 Blue #property indicator_color3 Blue #property indicator_color4 Red #property indicator_color5 Red extern int period=12; extern int porog =3; extern int metod =1; extern int metod2=1; extern int prise =0; //---- buffers double Signal[]; double Up[]; double Dn[]; double Up1[]; double Dn1[]; //+------------------------------------------------------------------+ void init(){ SetIndexBuffer(0,Signal); SetIndexBuffer(1,Up1); SetIndexBuffer(2,Up); SetIndexBuffer(3,Dn1); SetIndexBuffer(4,Dn); IndicatorShortName("Xma_color"+period+porog); return;} //+------------------------------------------------------------------+ int start() { int limit; double tmp1,tmp2; int counted_bars=IndicatorCounted(); int i; if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for (i = limit;i>=0;i--){ tmp1=iMA(Symbol(),0,period,0,metod,prise,i); tmp2=iMA(Symbol(),0,period,1,metod2,prise,i); if(MathAbs(tmp1-tmp2)>=porog*Point) Signal[i]=tmp2; else Signal[i]=Signal[i+1]; Up[i] =EMPTY_VALUE; Dn[i] =EMPTY_VALUE; Up1[i]=EMPTY_VALUE; Dn1[i]=EMPTY_VALUE; if (Signal[i]<Signal[i+1]) { if (Dn[i+2]!=EMPTY_VALUE) { Dn1[i]=Signal[i]; Dn1[i+1]=Signal[i+1]; } else { Dn[i] =Signal[i]; Dn[i+1] =Signal[i+1]; } } if (Signal[i]>Signal[i+1]) { if (Up[i+2]!=EMPTY_VALUE) { Up1[i]=Signal[i]; Up1[i+1]=Signal[i+1]; } else { Up[i] =Signal[i]; Up[i+1] =Signal[i+1]; } } } return(0); }
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Moving average indicator
Custom Indicators Used:
Order Management characteristics:
Other Features: