//+------------------------------------------------------------------+ //| 7JPYCross.mq4| //| version:0.0| //| Copyright © 2010, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2010, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" // Legend added by Newtofx #property indicator_separate_window #property indicator_buffers 8 bool EUR_B = 1; bool GBP_B = 1; bool AUD_B = 1; bool CHF_B = 1; bool NZD_B = 1; bool CAD_B = 1; bool USD_B = 1; bool JPY_B = 1; #property indicator_color1 Red //EUR #property indicator_color2 Lime //GBP #property indicator_color3 RoyalBlue //AUD #property indicator_color4 White //CHF #property indicator_color5 DeepPink //NZD #property indicator_color6 BlueViolet //CAD #property indicator_color7 Orange //USD #property indicator_color8 Aqua //JPY string ShortName = "7JPYCross"; double EUR,GBP,AUD,CHF,NZD,CAD,USD,JPY; extern int FastMA=6;//MACD FastMA and Kairi_MA extern int SlowMA=27;//MACD SlowMA extern int MAMethod = 3;// 0:SMA 1:EMA 2:SMMA 3:LWMA extern bool Kairi_Mode = true;// true=MA_Kairi ratio false=MACD extern color indicator_clr1 = Red; //EUR extern color indicator_clr2 = Lime; //GBP extern color indicator_clr3 = RoyalBlue; //AUD extern color indicator_clr4 = White; //CHF extern color indicator_clr5 = DeepPink; //NZD extern color indicator_clr6 = BlueViolet; //CAD extern color indicator_clr7 = Orange; //USD extern color indicator_clr8 = Aqua; //JPY double Idx[],Idx1[],Idx2[],Idx3[],Idx4[],Idx5[],Idx6[],Idx7[]; int init() { //---- Line level SetLevelStyle(2,1,DimGray); SetLevelValue(0,0); //---- indicators name //string label = ShortName; string label =ShortName; IndicatorShortName(label); IndicatorDigits(3); //---- indicators SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,indicator_color1); SetIndexBuffer(0,Idx); SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1,indicator_color2); SetIndexBuffer(1,Idx1); SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1,indicator_color3); SetIndexBuffer(2,Idx2); SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,1,indicator_color4); SetIndexBuffer(3,Idx3); SetIndexStyle(4,DRAW_LINE,STYLE_SOLID,1,indicator_color5); SetIndexBuffer(4,Idx4); SetIndexStyle(5,DRAW_LINE,STYLE_SOLID,1,indicator_color6); SetIndexBuffer(5,Idx5); SetIndexStyle(6,DRAW_LINE,STYLE_SOLID,1,indicator_color7); SetIndexBuffer(6,Idx6); SetIndexStyle(7,DRAW_LINE,STYLE_SOLID,1,indicator_color8); SetIndexBuffer(7,Idx7); //---- Prameter check if (FastMA<1) FastMA=1; if (SlowMA<2) SlowMA=2; if (MAMethod>3) MAMethod=3; //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //ObjectsDeleteAll(0, OBJ_LABEL); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; int limit=Bars-counted_bars; for(int i=limit; i>=0; i--) { double EURMA,GBPMA,AUDMA,CHFMA,NZDMA,CADMA,USDMA,JPYMA; if (Kairi_Mode) { EURMA=iMA("EURJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i); GBPMA=iMA("GBPJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i); AUDMA=iMA("AUDJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i); CHFMA=iMA("CHFJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i); USDMA=iMA("USDJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i); CADMA=iMA("CADJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i); NZDMA=iMA("NZDJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i); if(EURMA !=0) EUR=(iClose("EURJPY",0,i)-iMA("EURJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i))/EURMA*100; if(GBPMA !=0) GBP=(iClose("GBPJPY",0,i)-iMA("GBPJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i))/GBPMA*100; if(AUDMA !=0) AUD=(iClose("AUDJPY",0,i)-iMA("AUDJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i))/AUDMA*100; if(CHFMA !=0) CHF=(iClose("CHFJPY",0,i)-iMA("CHFJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i))/CHFMA*100; if(USDMA !=0) USD=(iClose("USDJPY",0,i)-iMA("USDJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i))/USDMA*100; if(CADMA !=0) CAD=(iClose("CADJPY",0,i)-iMA("CADJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i))/CADMA*100; if(NZDMA !=0) NZD=(iClose("NZDJPY",0,i)-iMA("NZDJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i))/NZDMA*100; }else{ EUR=(iMA("EURJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i)-iMA("EURJPY",0,SlowMA,0,MAMethod,PRICE_CLOSE,i)); GBP=(iMA("GBPJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i)-iMA("GBPJPY",0,SlowMA,0,MAMethod,PRICE_CLOSE,i)); AUD=(iMA("AUDJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i)-iMA("AUDJPY",0,SlowMA,0,MAMethod,PRICE_CLOSE,i)); CHF=(iMA("CHFJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i)-iMA("CHFJPY",0,SlowMA,0,MAMethod,PRICE_CLOSE,i)); USD=(iMA("USDJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i)-iMA("USDJPY",0,SlowMA,0,MAMethod,PRICE_CLOSE,i)); CAD=(iMA("CADJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i)-iMA("CADJPY",0,SlowMA,0,MAMethod,PRICE_CLOSE,i)); NZD=(iMA("NZDJPY",0,FastMA,0,MAMethod,PRICE_CLOSE,i)-iMA("NZDJPY",0,SlowMA,0,MAMethod,PRICE_CLOSE,i)); } JPY=-(EUR+GBP+AUD+CHF+NZD+CAD+USD)/7; Idx[i] = EUR; Idx1[i] = GBP; Idx2[i] = AUD; Idx3[i] = CHF; Idx4[i] = NZD; Idx5[i] = CAD; Idx6[i] = USD; Idx7[i] = JPY; } //ObjectSet("7JPYCross", OBJPROP_COLOR, Green); ObjectCreate("EUR", OBJ_LABEL, WindowFind("7JPYCross"), 0, 0); ObjectSetText("EUR","EUR",10, "Vardana"); ObjectSet("EUR", OBJPROP_COLOR, indicator_clr1); ObjectSet("EUR", OBJPROP_CORNER, 0); ObjectSet("EUR", OBJPROP_XDISTANCE, 290); ObjectSet("EUR", OBJPROP_YDISTANCE, 3); ObjectCreate("GBP", OBJ_LABEL, WindowFind("7JPYCross"), 0, 0); ObjectSetText("GBP","GBP",10, "Vardana"); ObjectSet("GBP", OBJPROP_COLOR, indicator_clr2); ObjectSet("GBP", OBJPROP_CORNER, 0); ObjectSet("GBP", OBJPROP_XDISTANCE, 330); ObjectSet("GBP", OBJPROP_YDISTANCE, 3); ObjectCreate("AUD", OBJ_LABEL, WindowFind("7JPYCross"), 0, 0); ObjectSetText("AUD","AUD",10, "Vardana"); ObjectSet("AUD", OBJPROP_COLOR, indicator_clr3); ObjectSet("AUD", OBJPROP_CORNER, 0); ObjectSet("AUD", OBJPROP_XDISTANCE, 370); ObjectSet("AUD", OBJPROP_YDISTANCE, 3); ObjectCreate("CHF", OBJ_LABEL, WindowFind("7JPYCross"), 0, 0); ObjectSetText("CHF","CHF",10, "Vardana"); ObjectSet("CHF", OBJPROP_COLOR, indicator_clr4); ObjectSet("CHF", OBJPROP_CORNER, 0); ObjectSet("CHF", OBJPROP_XDISTANCE, 410); ObjectSet("CHF", OBJPROP_YDISTANCE, 3); ObjectCreate("NZD", OBJ_LABEL, WindowFind("7JPYCross"), 0, 0); ObjectSetText("NZD","NZD",10, "Vardana"); ObjectSet("NZD", OBJPROP_COLOR, indicator_clr5); ObjectSet("NZD", OBJPROP_CORNER, 0); ObjectSet("NZD", OBJPROP_XDISTANCE, 450); ObjectSet("NZD", OBJPROP_YDISTANCE, 3); ObjectCreate("CAD", OBJ_LABEL, WindowFind("7JPYCross"), 0, 0); ObjectSetText("CAD","CAD",10, "Vardana"); ObjectSet("CAD", OBJPROP_COLOR, indicator_clr6); ObjectSet("CAD", OBJPROP_CORNER, 0); ObjectSet("CAD", OBJPROP_XDISTANCE, 490); ObjectSet("CAD", OBJPROP_YDISTANCE, 3); ObjectCreate("USD", OBJ_LABEL, WindowFind("7JPYCross"), 0, 0); ObjectSetText("USD","USD",10, "Vardana"); ObjectSet("USD", OBJPROP_COLOR, indicator_clr7); ObjectSet("USD", OBJPROP_CORNER, 0); ObjectSet("USD", OBJPROP_XDISTANCE, 530); ObjectSet("USD", OBJPROP_YDISTANCE, 3); ObjectCreate("JPY", OBJ_LABEL, WindowFind("7JPYCross"), 0, 0); ObjectSetText("JPY","JPY",10, "Vardana"); ObjectSet("JPY", OBJPROP_COLOR, indicator_clr8); ObjectSet("JPY", OBJPROP_CORNER, 0); ObjectSet("JPY", OBJPROP_XDISTANCE, 570); ObjectSet("JPY", OBJPROP_YDISTANCE, 3); return(0); } //+------------------------------------------------------------------+ ///* // */ //+------------------------------------------------------------------+