надо кликнуть правой кнопкой мыши на этот список и выбрать Forex all
string Currencies[] = {"AED", "AUD", "BHD", "BRL", "CAD", "CHF", "CNY",
"CYP", "CZK", "DKK", "DZD", "EEK", "EGP", "EUR",
"GBP", "HKD", "HRK", "HUF", "IDR", "ILS", "INR",
"IQD", "IRR", "ISK", "JOD", "JPY", "KRW", "KWD",
"LBP", "LTL", "LVL", "LYD", "MAD", "MXN", "MYR",
"NOK", "NZD", "OMR", "PHP", "PLN", "QAR", "RON",
"RUB", "SAR", "SEK", "SGD", "SKK", "SYP", "THB",
"TND", "TRY", "TWD", "USD", "VEB", "XAG", "XAU",
"YER", "ZAR", "_","DJI","DXY","ES","GC","NQ","QG","QM","SI"};
string Symbols[];
int pars()
{
colpars=(CreateSymbolList());
for(int x=colpars-1;x>=0;x--)
{
Print(Symbols[x]);
}
}
int CreateSymbolList()
{
int SymbolCount = 0;
int CurrencyCount = ArrayRange(Currencies, 0);
int Loop, SubLoop;
string TempSymbol;
for(Loop = 0; Loop < CurrencyCount; Loop++)
for(SubLoop = 0; SubLoop < CurrencyCount; SubLoop++)
{
TempSymbol = Currencies[Loop] + Currencies[SubLoop];
if(MarketInfo(TempSymbol, MODE_BID) > 0)
{
ArrayResize(Symbols, SymbolCount + 1);
Symbols[SymbolCount] = TempSymbol;
SymbolCount++;
}
}
return(SymbolCount);
}
Вот так:
Код:string Currencies[] = {"AED", "AUD", "BHD", "BRL", "CAD", "CHF", "CNY", "CYP", "CZK", "DKK", "DZD", "EEK", "EGP", "EUR", "GBP", "HKD", "HRK", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JOD", "JPY", "KRW", "KWD", "LBP", "LTL", "LVL", "LYD", "MAD", "MXN", "MYR", "NOK", "NZD", "OMR", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "SKK", "SYP", "THB", "TND", "TRY", "TWD", "USD", "VEB", "XAG", "XAU", "YER", "ZAR", "_","DJI","DXY","ES","GC","NQ","QG","QM","SI"}; string Symbols[]; int pars() { colpars=(CreateSymbolList()); for(int x=colpars-1;x>=0;x--) { Print(Symbols[x]); } } int CreateSymbolList() { int SymbolCount = 0; int CurrencyCount = ArrayRange(Currencies, 0); int Loop, SubLoop; string TempSymbol; for(Loop = 0; Loop < CurrencyCount; Loop++) for(SubLoop = 0; SubLoop < CurrencyCount; SubLoop++) { TempSymbol = Currencies[Loop] + Currencies[SubLoop]; if(MarketInfo(TempSymbol, MODE_BID) > 0) { ArrayResize(Symbols, SymbolCount + 1); Symbols[SymbolCount] = TempSymbol; SymbolCount++; } } return(SymbolCount); }
int SymbolsList(string &Symbols[], bool Selected)
{ string SymbolsFileName;
if(Selected) SymbolsFileName = "symbols.sel";
else SymbolsFileName = "symbols.raw";
int hFile = FileOpenHistory(SymbolsFileName, FILE_BIN|FILE_READ);
if(hFile < 0) return(-1);
if(Selected) { SymbolsNumber = (FileSize(hFile) - 4) / 128; Offset = 116; }
else { SymbolsNumber = FileSize(hFile) / 1936; Offset = 1924; }
ArrayResize(Symbols, SymbolsNumber);
if(Selected) FileSeek(hFile, 4, SEEK_SET);
for(int i = 0; i < SymbolsNumber; i++)
{ Symbols[i] = FileReadString(hFile, 12);
FileSeek(hFile, Offset, SEEK_CUR); }
FileClose(hFile);
return(SymbolsNumber);
}
int start(){
string SymbolsList[];
if(SymbolsList(SymbolsList, true) > 0)
int pos = Bars-IndicatorCounted() ;
if(Индикатор==0){
while(pos >= 0)
{ ma1_buffer[pos] = (iMA(SymbolsList[0], T , X, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[0],T,Time[pos],FALSE ))-iMA(SymbolsList[0], T , Период_CCI, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[0],T,Time[pos],FALSE )))/MarketInfo(SymbolsList[0],MODE_POINT);
ma2_buffer[pos] = (iMA(SymbolsList[1], T , X, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[1],T,Time[pos],FALSE ))-iMA(SymbolsList[1], T , Период_CCI, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[1],T,Time[pos],FALSE )))/MarketInfo(SymbolsList[1],MODE_POINT);
ma3_buffer[pos] = (iMA(SymbolsList[2], T , X, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[2],T,Time[pos],FALSE ))-iMA(SymbolsList[2], T , Период_CCI, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[2],T,Time[pos],FALSE )))/MarketInfo(SymbolsList[2],MODE_POINT);
ma4_buffer[pos] = (iMA(SymbolsList[3], T , X, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[3],T,Time[pos],FALSE ))-iMA(SymbolsList[3], T , Период_CCI, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[3],T,Time[pos],FALSE )))/MarketInfo(SymbolsList[3],MODE_POINT);
ma5_buffer[pos] = (iMA(SymbolsList[4], T , X, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[4],T,Time[pos],FALSE ))-iMA(SymbolsList[4], T , Период_CCI, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[4],T,Time[pos],FALSE )))/MarketInfo(SymbolsList[4],MODE_POINT);
ma6_buffer[pos] = (iMA(SymbolsList[5], T , X, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[5],T,Time[pos],FALSE ))-iMA(SymbolsList[5], T , Период_CCI, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[5],T,Time[pos],FALSE )))/MarketInfo(SymbolsList[5],MODE_POINT);
ma7_buffer[pos] = (iMA(SymbolsList[6], T , X, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[6],T,Time[pos],FALSE ))-iMA(SymbolsList[6], T , Период_CCI, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[6],T,Time[pos],FALSE )))/MarketInfo(SymbolsList[6],MODE_POINT);
ma8_buffer[pos] = (iMA(SymbolsList[7], T , X, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[7],T,Time[pos],FALSE ))-iMA(SymbolsList[7], T , Период_CCI, 0, Метод_Вычисления, Используемая_цeна, iBarShift(SymbolsList[7],T,Time[pos],FALSE )))/MarketInfo(SymbolsList[7],MODE_POINT); pos--;}}
PHP:Пробуйте =)) Пример _http://codebase.mql4.com/ru/6287[/QUOTE] Спасибо, но такие способы мне и самому известны. Я надеялся что все-таки в пору своей невнимательности, просто упустил из виду функцию в mt4 для получения этого самого списка. Так что будем ждать появление mt5.