Названия валютных пар, какие варианты бывают? - страница 3 123 Новый комментарий Yuriy Zaytsev 2017.03.18 22:48 #21 Mikhail Sergeev: Например: эксперт на EURUSD использует MA5, на GBPUSD использует MA7. И чтобы работало у всех брокеров.Может есть другой способ это реализовать?Да есть вариант реализации. читаем имя пары в строку, затем ищем в строке EUR затем USD и все.И как бы пара не называлась , советник понимает - что он работает на евро-долларе. Roman Starostin 2020.05.21 15:28 #22 Может кому пригодится, написал для себя функцию поиска префикса и постфикса для текущего брокера: //+-----------------------------------------------------------------------------------------------+ void FindBrokerPrefixPostfix() { //поиск префикса, постфикса брокера string BrokerPrefix = "", BrokerPostfix = ""; int smbls = SymbolsTotal(false); for(int i=0; i<smbls; i++){ string symbol = SymbolName(i,false); int n = StringFind(symbol,"EURUSD",0); if(n > -1) { if(n == 0) BrokerPrefix = ""; else BrokerPrefix = StringSubstr(symbol,0,n); BrokerPostfix = StringSubstr(symbol,n+6,0); Print("Symbol: " + symbol + "| BrokerPrefix: " + (BrokerPrefix == "" ? "No" : BrokerPrefix) + "| BrokerPostfix: " + (BrokerPostfix == "" ? "No" : BrokerPostfix)); break; } } } Vitaly Muzichenko 2020.05.21 16:25 #23 Roman Starostin: Может кому пригодится, написал для себя функцию поиска префикса и постфикса для текущего брокера: Немного переделать можно int OnInit() { string tSymb=FillSymb[d]; // EURUSD string rSymb=""; // реальный if(RealSymbol(tSymb,rSymb)) { ... } //=============================================================================================== //------------------------ Преобразование символа к терминальному виду -------------------------+ //=============================================================================================== bool RealSymbol(string temp,string& real) { int cn=SymbolsTotal(false); for(int i=0;i<cn;i++) { string symb=SymbolName(i,false); if(StringFind(symb,temp,0)>-1) { real=symb; return(true); }} return(false); } 123 Новый комментарий
Например: эксперт на EURUSD использует MA5, на GBPUSD использует MA7. И чтобы работало у всех брокеров.
Может есть другой способ это реализовать?
Да есть вариант реализации. читаем имя пары в строку, затем ищем в строке EUR затем USD и все.
И как бы пара не называлась , советник понимает - что он работает на евро-долларе.
Может кому пригодится, написал для себя функцию поиска префикса и постфикса для текущего брокера:
Может кому пригодится, написал для себя функцию поиска префикса и постфикса для текущего брокера:
Немного переделать можно