//+------------------------------------------------------------------+ //| 3MAKairi.mq4| //| version:0.0| //| Copyright 2012, FX_Kurai_sora | //| http://goldsearch.blog24.fc2.com/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2012, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_separate_window #property indicator_buffers 3 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; string ShortName = "3MAKairi"; double P1,P2,P3; extern int FastMA=21;//MACD FastMA and Kairi_MA extern int SlowMA=42;//MACD SlowMA extern int MAMethod = 1;// 0:SMA 1:EMA 2:SMMA 3:LWMA extern bool MACD_Mode = false;// true="Percentage of difference from moving average" false="MACD" extern string Pair1 = "_US30"; extern string Pair2 = "EURUSD"; extern string Pair3 = "USDJPY"; extern int Pair1_Double = 1;//Adjust Digits (MACD Mode only) extern int Pair2_Double = 1; extern int Pair3_Double = 1; extern color indicator_clr1 = White; //EUR extern color indicator_clr2 = Yellow; //GBP extern color indicator_clr3 = RoyalBlue; //AUD extern int Pair1_width = 1; //1 extern int Pair2_width = 1; extern int Pair3_width = 1; double Idx[],Idx1[],Idx2[],Idx12[],Idx22[],Idx32[]; int init() { //---- Line level SetLevelStyle(2,1,DimGray); SetLevelValue(0,0); //---- indicators name //string label = ShortName; string label =ShortName; IndicatorShortName(label+" ("+FastMA+") ("+SlowMA+") "); IndicatorDigits(3); //---- indicators SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,Pair1_width,indicator_clr1); SetIndexBuffer(0,Idx); SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,Pair2_width,indicator_clr2); SetIndexBuffer(1,Idx1); SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,Pair3_width,indicator_clr3); SetIndexBuffer(2,Idx2); //---- 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() { //---- //---- 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 PAIR1MA,PAIR2MA,PAIR3MA; if (MACD_Mode) { P1=(iMA(Pair1,0,FastMA,0,MAMethod,PRICE_CLOSE,i)-iMA(Pair1,0,SlowMA,0,MAMethod,PRICE_CLOSE,i))*Pair1_Double; P2=(iMA(Pair2,0,FastMA,0,MAMethod,PRICE_CLOSE,i)-iMA(Pair2,0,SlowMA,0,MAMethod,PRICE_CLOSE,i))*Pair2_Double; P3=(iMA(Pair3,0,FastMA,0,MAMethod,PRICE_CLOSE,i)-iMA(Pair3,0,SlowMA,0,MAMethod,PRICE_CLOSE,i))*Pair3_Double; }else{ PAIR1MA=iMA(Pair1,0,FastMA,0,MAMethod,PRICE_CLOSE,i); PAIR2MA=iMA(Pair2,0,FastMA,0,MAMethod,PRICE_CLOSE,i); PAIR3MA=iMA(Pair3,0,FastMA,0,MAMethod,PRICE_CLOSE,i); if(PAIR1MA !=0) P1=(iClose(Pair1,0,i)-iMA(Pair1,0,FastMA,0,MAMethod,PRICE_CLOSE,i))/PAIR1MA*100; if(PAIR2MA !=0) P2=(iClose(Pair2,0,i)-iMA(Pair2,0,FastMA,0,MAMethod,PRICE_CLOSE,i))/PAIR2MA*100; if(PAIR3MA !=0) P3=(iClose(Pair3,0,i)-iMA(Pair3,0,FastMA,0,MAMethod,PRICE_CLOSE,i))/PAIR3MA*100; } Idx[i] = P1; Idx1[i] = P2; Idx2[i] = P3; } ObjectCreate(Pair1, OBJ_LABEL, WindowFind(ShortName+" ("+FastMA+") ("+SlowMA+") "), 0, 0); ObjectSetText(Pair1,Pair1,10, "Vardana"); ObjectSet(Pair1, OBJPROP_COLOR, indicator_clr1); ObjectSet(Pair1, OBJPROP_CORNER, 0); ObjectSet(Pair1, OBJPROP_XDISTANCE, 200); ObjectSet(Pair1, OBJPROP_YDISTANCE, 3); ObjectCreate(Pair2, OBJ_LABEL, WindowFind(ShortName+" ("+FastMA+") ("+SlowMA+") "), 0, 0); ObjectSetText(Pair2,Pair2,10, "Vardana"); ObjectSet(Pair2, OBJPROP_COLOR, indicator_clr2); ObjectSet(Pair2, OBJPROP_CORNER, 0); ObjectSet(Pair2, OBJPROP_XDISTANCE, 275); ObjectSet(Pair2, OBJPROP_YDISTANCE, 3); ObjectCreate(Pair3, OBJ_LABEL, WindowFind(ShortName+" ("+FastMA+") ("+SlowMA+") "), 0, 0); ObjectSetText(Pair3,Pair3,10, "Vardana"); ObjectSet(Pair3, OBJPROP_COLOR, indicator_clr3); ObjectSet(Pair3, OBJPROP_CORNER, 0); ObjectSet(Pair3, OBJPROP_XDISTANCE, 350); ObjectSet(Pair3, OBJPROP_YDISTANCE, 3); return(0); } //+------------------------------------------------------------------+ ///* // */ //+------------------------------------------------------------------+