//+------------------------------------------------------------------+ //| UpDown.mq4 | //| Copyright 2015, mrak297. | //| https://www.mql5.com/ru/users/mrak297 | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, mrak297." #property link "https://www.mql5.com/ru/users/mrak297" #property version "15.6" #property strict #property indicator_chart_window #define LINES 50 //Number of pairs #define ELEMS 3 //Number of elements //--- input parameters input string Info = "MODE button for change sorting."; input int Method = 1; //Method (1 open/close, 2 high/low) input int Num = 10; //Number of buttons input int FontSize = 10; //Font Size input color UpColor = clrDarkGreen; //Color for uptrend input color DownColor = clrOrangeRed; //Color for downtrend input color TextColor = clrBlack; //Color for text input ENUM_BASE_CORNER CORNER=CORNER_LEFT_UPPER; //Corner //--- string buttonname=" "; int X; int Y; int ModeSort=1; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int init() { X = 10; Y = 20; if(CORNER==CORNER_LEFT_LOWER) { Y=FontSize*2+10; for(int m=Num; m>=0; m--) { buttonname=IntegerToString(m); ButtonCreate(buttonname,clrBlack,X,Y); Y=Y+(FontSize*2); } } else if(CORNER==CORNER_RIGHT_LOWER) { Y = FontSize*2+10; X = X + FontSize*10; for(int m=Num; m>=0; m--) { buttonname=IntegerToString(m); ButtonCreate(buttonname,clrBlack,X,Y); Y=Y+(FontSize*2); } } else if(CORNER==CORNER_RIGHT_UPPER) { X=X+FontSize*10; for(int m=0; m<=Num; m++) { buttonname=IntegerToString(m); ButtonCreate(buttonname,clrBlack,X,Y); Y=Y+(FontSize*2); } } else { for(int m=0; m<=Num; m++) { buttonname=IntegerToString(m); ButtonCreate(buttonname,clrBlack,X,Y); Y=Y+(FontSize*2); } } return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { Find(); return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int deinit() { for(int d=Num; d>=0; d--) ObjectDelete(0,(string)d); return(0); } //+------------------------------------------------------------------+ //| Main function | //+------------------------------------------------------------------+ void Find() { string name; double Pairs[LINES][ELEMS]; //--- ArrayInitialize(Pairs,1000); //--- for(int i=0; iarray[a+1][1]) { for(int b=0; bcl) result=(op-cl)/Pp; else if(op cl) res = -1; if(op < cl) res = 1; if(op==cl) res=0; return(res); } //+-------------------------------------------------------------------+