// indicator code
#property strict
#property indicator_chart_window
input string symbolstring = "EURUSD,GBPUSD,NZDUSD"; // symbols
input ENUM_TIMEFRAMES timeframe = PERIOD_M1; // chart time frame
input int interval = 14; // rsi period
input ENUM_APPLIED_PRICE appliedprice = PRICE_MEDIAN; // price constant
string symbols[];
double rsis[];
double val[];
int key[];
string rsistring;
int sz;
int OnInit() {
	StringSplit(symbolstring, ',', symbols);
	sz = ArraySize(symbols);
	ArrayResize(rsis, sz);
	ArrayResize(val, sz);
	ArrayResize(key, sz);
	return 0;
}
void OnDeinit(const int reason) {
	Comment("");
}
int OnCalculate(const int rates_total, const int prev_calculated,
					 const datetime &time[], const double &open[],
					 const double &high[], const double &low[],
					 const double &close[], const long &tick_volume[],
					 const long &volume[], const int &spread[]) {
	for(int i = 0; i < ArraySize(symbols); i++) {
		rsis[i] = iRSI(symbols[i], timeframe, interval, appliedprice, 0);
	}
	sort();
	rsistring = "\n\n\n";
	for(int i = 0; i < ArraySize(symbols); i++) {
		rsistring += symbols[key[i]] + " " + DoubleToString(val[i], 0) + "\n";
	}
	Comment(rsistring);
	return(rates_total);
}
void sort() {
	int p;
	for(int i = 0; i < sz; i++) {
		p = 0;
		for(int j = 0; j < sz; j++) {
			if(rsis[i] < rsis[j])
				p++;
		}
		val[p] = rsis[i];
		key[p] = i;
	}
}
