//+------------------------------------------------------------------+ //| Multi currency pair Indicator DM.mq4 | //+------------------------------------------------------------------+ #property copyright "H.Odhabi" #property link "hodhabi@gmail.com" #property indicator_separate_window extern int HistoryShift=0; extern bool DrawVLine=false; int EURLong=0; int USDLong=0; int GBPLong=0; extern int scaleX=30,// horizontal interval at which the squares are created scaleY=20, // vertical interval offsetX=35, // horizontal indent of all squares offsetY=20, // vertical indent fontSize=20; // font size string periodString[]={"EUR","USD","JPY","GBP","CHF","AUD","CAD"}; string signalNameString[]={"EUR","GBP","USD"}; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int init() { IndicatorShortName("MCP"); int windowIndex=WindowFind("MCP"); if(windowIndex<0) { // if the subwindow number is -1, there is an error Print("Can\'t find window"); return(0); } for(int x=0;x<7;x++) for(int y=0;y<3;y++) { ObjectCreate("signal"+x+y,OBJ_LABEL,windowIndex,0,0,0,0); ObjectSet("signal"+x+y,OBJPROP_XDISTANCE,x*scaleX+offsetX); ObjectSet("signal"+x+y,OBJPROP_YDISTANCE,y*scaleY+offsetY); ObjectSetText("signal"+x+y,CharToStr(110),fontSize,"Wingdings",Gold); } for(x=0;xiOpen("EURUSD",0,HistoryShift)) { ObjectSetText("signal"+1+"0",CharToStr(110),fontSize,"Wingdings",Green); EURLong++; } else if(iClose("EURUSD",0,HistoryShift)iOpen("EURJPY",0,HistoryShift)) { ObjectSetText("signal"+2+"0",CharToStr(110),fontSize,"Wingdings",Green); EURLong++; } else if(iClose("EURJPY",0,HistoryShift)iOpen("EURGBP",0,HistoryShift)) { ObjectSetText("signal"+3+"0",CharToStr(110),fontSize,"Wingdings",Green); EURLong++; } else if(iClose("EURGBP",0,HistoryShift)iOpen("EURCHF",0,HistoryShift)) { ObjectSetText("signal"+4+"0",CharToStr(110),fontSize,"Wingdings",Green); EURLong++; } else if(iClose("EURCHF",0,HistoryShift)iOpen("EURAUD",0,HistoryShift)) { ObjectSetText("signal"+5+"0",CharToStr(110),fontSize,"Wingdings",Green); EURLong++; } else if(iClose("EURAUD",0,HistoryShift)iOpen("EURCAD",0,HistoryShift)) { ObjectSetText("signal"+6+"0",CharToStr(110),fontSize,"Wingdings",Green); EURLong++; } else if(iClose("EURCAD",0,HistoryShift)iOpen("EURGBP",0,HistoryShift)) { ObjectSetText("signal"+0+"1",CharToStr(110),fontSize,"Wingdings",Red); GBPLong--; } if(iClose("GBPUSD",0,HistoryShift)>iOpen("GBPUSD",0,HistoryShift)) { ObjectSetText("signal"+1+"1",CharToStr(110),fontSize,"Wingdings",Green); GBPLong++; } else if(iClose("GBPUSD",0,HistoryShift)iOpen("GBPJPY",0,HistoryShift)) { ObjectSetText("signal"+2+"1",CharToStr(110),fontSize,"Wingdings",Green); GBPLong++; } else if(iClose("GBPJPY",0,HistoryShift)iOpen("GBPCHF",0,HistoryShift)) { ObjectSetText("signal"+4+"1",CharToStr(110),fontSize,"Wingdings",Green); GBPLong++; } else if(iClose("GBPCHF",0,HistoryShift)iOpen("GBPAUD",0,HistoryShift)) { ObjectSetText("signal"+5+"1",CharToStr(110),fontSize,"Wingdings",Green); GBPLong++; } else if(iClose("GBPAUD",0,HistoryShift)iOpen("GBPCAD",0,HistoryShift)) { ObjectSetText("signal"+6+"1",CharToStr(110),fontSize,"Wingdings",Green); GBPLong++; } else if(iClose("GBPCAD",0,HistoryShift)iOpen("EURUSD",0,HistoryShift)) { ObjectSetText("signal"+0+"2",CharToStr(110),fontSize,"Wingdings",Red); USDLong--; } ObjectSetText("signal"+1+"2",CharToStr(110),fontSize,"Wingdings",White); if(iClose("USDJPY",0,HistoryShift)>iOpen("USDJPY",0,HistoryShift)) { ObjectSetText("signal"+2+"2",CharToStr(110),fontSize,"Wingdings",Green); USDLong++; } else if(iClose("USDJPY",0,HistoryShift)iOpen("GBPUSD",0,HistoryShift)) { ObjectSetText("signal"+3+"2",CharToStr(110),fontSize,"Wingdings",Red); USDLong--; } if(iClose("USDCHF",0,HistoryShift)>iOpen("USDCHF",0,HistoryShift)) { ObjectSetText("signal"+4+"2",CharToStr(110),fontSize,"Wingdings",Green); USDLong++; } else if(iClose("USDCHF",0,HistoryShift)iOpen("AUDUSD",0,HistoryShift)) { ObjectSetText("signal"+5+"2",CharToStr(110),fontSize,"Wingdings",Red); USDLong--; } if(iClose("USDCAD",0,HistoryShift)>iOpen("USDCAD",0,HistoryShift)) { ObjectSetText("signal"+6+"2",CharToStr(110),fontSize,"Wingdings",Green); USDLong++; } else if(iClose("USDCAD",0,HistoryShift)