Предложение добавить функцию определения суффикса-префикса финансового инструмента

 
  • 39% (26)
  • 43% (29)
  • 18% (12)
Всего проголосовало: 67
 

Уважаемые разработчики терминала MetaTrader.

Большинство брокеров любят добавлять префиксы и суфиксы к своим финансовым инструментам.

EURUSD может иметь имена  EURUSD.m,  EURUSD_i и другие. Определить приставку на любом финансовом инструменте сложно так как бывают фин. инструменты типа SI.04 и другие.

В связи с чем обмен данными между разными брокерами может быть сильно затруднен. Те же копиры могут работать не корректно.

Прошу рассмотреть возможность добавления функции типа:

string  SymbolInfoString(
   string  name,           // символ
   SYMBOL_PREFIX           // Префикс финансового инструмента
   );

Функция будет возвращать из  EURUSD.m префикс .m, из  EURUSD _i префикс _i

Это значительно улучшит работу многих программ. Благодарю за любой ответ.

 
Vladimir Pastushak #:

Уважаемые разработчики терминала MetaTrader.

Большинство брокеров любят добавлять префиксы и суфиксы к своим финансовым инструментам.

EURUSD может иметь имена  EURUSD.m,  EURUSD_i и другие. Определить приставку на любом финансовом инструменте сложно так как бывают фин. инструменты типа SI.04 и другие.

В связи с чем обмен данными между разными брокерами может быть сильно затруднен. Те же копиры могут работать не корректно.

Прошу рассмотреть возможность добавления функции типа:

Функция будет возвращать из  EURUSD.m префикс .m, из  EURUSD _i префикс _i

Это значительно улучшит работу многих программ. Благодарю за любой ответ.

А что будет возвращать SI.04 ?

---

Это всё решается тремя строками кода в пользовательской функции

Если кратко, то определяем рынок, если это форекс, то ищем суффикс, а если сток, то ничего не ищем.

 
Vitaly Muzichenko #:

А что будет возвращать SI.04 ?

---

Это всё решается тремя строками кода в пользовательской функции

Если кратко, то определяем рынок, если это форекс, то ищем суффикс, а если сток, то ничего не ищем.

Есть стандарты.

EURUSD для такого имени возврат NULL или "" или EURUSD

Это всё решается тремя строками кода в пользовательской функции

Покажите код, через который можно получить имя стандарт, любого финасового инструмента...

 
Vladimir Pastushak #:

Есть стандарты.

EURUSD для такого имени возврат NULL или "" или EURUSD

Покажите код, через который можно получить имя стандарт, любого финасового инструмента...

Определяем рынок

SymbolInfoInteger(symb,SYMBOL_TRADE_CALC_MODE)

Обрезаем лишнее после 6-ти символов, если форекс

string  StringSubstr( 
   string  string_value,     // строка 
   int     start_pos,        // с какой позиции начать 
   int     length=-1         // длина извлекаемой строки 
   );
 

Написать-то можно, но вопрос "А ЗАЧЕМ"

зачем нужен отдельно суффикс ?? покажите сценарий применения суффикса

понимаю ещё ISO-имя валютных пар, так оно легко ищется и так - если форекс, то посмотрел в базе base,quote и сложил воедино

 
Maxim Kuznetsov #:

Написать-то можно, но вопрос "А ЗАЧЕМ"

зачем нужен отдельно суффикс ?? покажите сценарий применения суффикса

понимаю ещё ISO-имя валютных пар, так оно легко ищется и так - если форекс, то посмотрел в базе base,quote и сложил воедино

очевидно что это нужно для мультивалютных ЕА и индикаторов.

 
Vitaly Muzichenko #:

Определяем рынок

Обрезаем лишнее после 6-ти символов, если форекс

Пост ради поста...

А если не форекс ?

Maxim Kuznetsov #:

Написать-то можно, но вопрос "А ЗАЧЕМ"

зачем нужен отдельно суффикс ?? покажите сценарий применения суффикса

понимаю ещё ISO-имя валютных пар, так оно легко ищется и так - если форекс, то посмотрел в базе base,quote и сложил воедино

Что бы получить стандартное имя фин инструмента в терминале А (где EURUSD.x ) и использовать его в терминале Б (где EURUSD_i)

Не придирайтесь к форексу. На акциях то же брокеры лепят префиксы...

 
Vitaly Muzichenko #:

Определяем рынок

Обрезаем лишнее после 6-ти символов, если форекс

а если одновременно есть префикс и суффикс?

 
Vladimir Pastushak #:

Пост ради поста...


Ра́вно как и опрос ради опроса.

 
Vladimir Pastushak #:

Пост ради поста...

Что бы получить стандартное имя фин инструмента в терминале А (где EURUSD.x ) и использовать его в терминале Б (где EURUSD_i)

Не придирайтесь к форексу. На акциях то же брокеры лепят префиксы...

Ну выходов много, у меня это давно реализовано, но многое зависит от задачи

Функцию можно переделать под конкретную задачу

temp // пришедший символ
real // Полное имя, как в обзоре рынка
//===============================================================================================
//------------------------ Преобразование символа к терминальному виду -------------------------+
//===============================================================================================
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);
 }
Причина обращения: