//+-------------------------------------------------------------------------------------- // 10/11/2007 - Modified to work with IBFX mini accounts and dropped USDJPY references // 10/11/2007 - Corrected local/global variable usage in init() and initialization of tik & t #property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Green //gbpusd #property indicator_color2 Red //chart limits #property indicator_color3 White //eurusd #property indicator_color4 Yellow //usdchf extern int period=200; extern bool IBFXMiniAcct=true; double ExtMapBuffer1[],ExtMapBuffer2[],ExtMapBuffer3[],ExtMapBuffer4[]; int tik=0,t=0; double bufGU[],MaxB,MinB=1000, bufEU[],bufUCH[]; double startpricegbpusd,startpriceeurusd,startpriceusdchf; double avgvalue; string eurusd="EURUSD",gbpusd="GBPUSD",usdchf="USDCHF"; //+------------------------------------------------------------------+ int init() { SetIndexStyle(0,DRAW_SECTION); SetIndexBuffer(0,ExtMapBuffer1); SetIndexLabel(0,"GBPUSD Tick"); SetIndexStyle(1,DRAW_NONE); SetIndexBuffer(1,ExtMapBuffer2); SetIndexLabel(1,"Chart Limit"); SetIndexStyle(2,DRAW_SECTION); SetIndexBuffer(2,ExtMapBuffer3); SetIndexLabel(2,"EURUSD Tick"); SetIndexStyle(3,DRAW_SECTION); SetIndexBuffer(3,ExtMapBuffer4); SetIndexLabel(3,"USDCHF Tick"); if(IBFXMiniAcct) { eurusd="EURUSDm"; gbpusd="GBPUSDm"; usdchf="USDCHFm"; } startpricegbpusd=MarketInfo(gbpusd,MODE_BID); startpriceeurusd=MarketInfo(eurusd,MODE_BID); startpriceusdchf=MarketInfo(usdchf,MODE_BID); return(0); } //+------------------------------------------------------------------+ int start() { int i,b; double bidgbpusd=MarketInfo(gbpusd,MODE_BID); double pointgbpusd=MarketInfo(gbpusd,MODE_POINT); double bideurusd=MarketInfo(eurusd,MODE_BID); double pointeurusd=MarketInfo(eurusd,MODE_POINT); double bidusdchf=MarketInfo(usdchf,MODE_BID); double pointusdchf=MarketInfo(usdchf,MODE_POINT); t++; b=period; ArrayResize(bufGU,b); ArrayResize(bufEU,b); ArrayResize(bufUCH,b); if(tik==0) { for(i=0;i0;i--) { bufGU[i]=bufGU[i-1]; if(MaxBbufGU[i])MinB=bufGU[i]; bufEU[i]=bufEU[i-1]; if(MaxBbufEU[i])MinB=bufEU[i]; bufUCH[i]=bufUCH[i-1]; if(MaxBbufUCH[i])MinB=bufUCH[i]; } bufGU[0]=(bidgbpusd-startpricegbpusd)/pointgbpusd; bufEU[0]=(bideurusd-startpriceeurusd)/pointeurusd; bufUCH[0]=(bidusdchf-startpriceusdchf)/pointusdchf* (-1); for(i=0;i