//+------------------------------------------------------------------+ //| MultySymbolsChart_v2.mq4 | //| * | //| * | //+------------------------------------------------------------------+ #property copyright "Integer" #property link "for-good-letters@yandex.ru" #property indicator_separate_window #property indicator_buffers 7 #property indicator_color1 Black #property indicator_color2 Pink #property indicator_color3 DodgerBlue #property indicator_color4 Black #property indicator_color5 Pink #property indicator_color6 DodgerBlue #property indicator_color7 Black #property indicator_width2 2 #property indicator_width3 2 #property indicator_width4 2 //---- input parameters extern string Symbols="AUDUSD,EURUSD,GBPUSD,USDCAD,USDCHF,USDJPY"; extern int TimeFrame=0; extern int BarsOfSymbol=21; extern int SpaceBars=5; extern color LblColor=Yellow; extern double Header=0.15; //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; double ExtMapBuffer5[]; double ExtMapBuffer6[]; double ExtMapBuffer7[]; double ExtMapBuffer8[]; string sa[]; bool du[]; int Size; string sn="MSC"; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void fArrayInvert_string(string & aArray[]){ int tSize=ArraySize(aArray)-1; for(int ti=0;tio2){ c=o+0.333; h=MathMax(h,c); break; } if(c2o){ ExtMapBuffer2[j+i*(BarsOfSymbol+SpaceBars)]=c; ExtMapBuffer3[j+i*(BarsOfSymbol+SpaceBars)]=o; ExtMapBuffer5[j+i*(BarsOfSymbol+SpaceBars)]=h; ExtMapBuffer6[j+i*(BarsOfSymbol+SpaceBars)]=l; } if(c=0;i--){ if(StringFind(ObjectName(i),aPrefix,0)==0){ ObjectDelete(ObjectName(i)); } } } void fObjVLine( string aObjectName, // 1 имя datetime aTime_1, // 2 время color aColor=Red, // 3 цвет int aWidth=1, // 4 толщина int aWindowNumber=0, // 5 окно int aStyle=0, // 6 0-STYLE_SOLID, 1-STYLE_DASH, 2-STYLE_DOT, 3-STYLE_DASHDOT, 4-STYLE_DASHDOTDOT bool aBack=false // 7 фон ){ if(ObjectFind(aObjectName)!=aWindowNumber){ ObjectCreate(aObjectName,OBJ_VLINE,aWindowNumber,aTime_1,0); } ObjectSet(aObjectName,OBJPROP_TIME1,aTime_1); ObjectSet(aObjectName,OBJPROP_COLOR,aColor); ObjectSet(aObjectName,OBJPROP_WIDTH,aWidth); ObjectSet(aObjectName,OBJPROP_BACK,aBack); ObjectSet(aObjectName,OBJPROP_STYLE,aStyle); } string fTimeFrameName(int arg){ // fTimeFrameName(); int v; if(arg==0){ v=Period(); } else{ v=arg; } switch(v){ case 0: return("0"); case 1: return("M1"); case 5: return("M5"); case 15: return("M15"); case 30: return("M30"); case 60: return("H1"); case 240: return("H4"); case 1440: return("D1"); case 10080: return("W1"); case 43200: return("MN1"); default: return("M"+arg); } } void fObjText( string aObjectName, // 1 имя datetime aTime_1, // 2 время double aPrice_1, // 3 цена string aText, // 4 текст color aColor=Red, // 5 цвет int aFontSize=8, // 6 размер шрифта int aWindowNumber=0, // 7 окно string aFont="Arial", // 8 шрифт bool aBack=false // 9 фон ){ // fText("",Time[1],Close[1],"",Red,8); // fText("",Time[1],Close[1],"",Red,8,0,"Arial",false); if(ObjectFind(aObjectName)!=aWindowNumber){ ObjectCreate(aObjectName,OBJ_TEXT,aWindowNumber,aTime_1,aPrice_1); } ObjectSet(aObjectName,OBJPROP_TIME1,aTime_1); ObjectSet(aObjectName,OBJPROP_PRICE1,aPrice_1); ObjectSetText(aObjectName,aText,aFontSize,aFont,aColor); ObjectSet(aObjectName,OBJPROP_BACK,aBack); } void fStrSplit(string aString,string & aArray[],string aDelimiter){ int tCounter=0; int tDelimiterLength=StringLen(aDelimiter); ArrayResize(aArray,tCounter); int tPos1=0; int tPos2=StringFind(aString,aDelimiter,0); while(tPos2!=-1){ if(tPos2>tPos1){ tCounter++; ArrayResize(aArray,tCounter); aArray[tCounter-1]=StringSubstr(aString,tPos1,tPos2-tPos1); } tPos1=tPos2+tDelimiterLength; tPos2=StringFind(aString,aDelimiter,tPos1); } tPos2=StringLen(aString); if(tPos2>tPos1){ tCounter++; ArrayResize(aArray,tCounter); aArray[tCounter-1]=StringSubstr(aString,tPos1,tPos2-tPos1); } } void fArrStrTrimLR(string & aArray[]){ for(int ti=0;ti