Рылся в документации
Информация об инструментеНи одно из свойств явно , вменяемо не определяет, что символ является фьючерсом.
Возможно через танцы с бубном , как то можно вычислить что символ принадлежит именно к субстанции фьючерсов. Сходу найти не смог.
Например зачитать описание инструмента и найти фразу фьючерс - но это как то криво.
Второй вариант зачитать свойство "Последний день обращения" , данный вариант лучше выглядит.
p.s.
:(
Вообще не удивляет , MT5 не биржевой терминал, потому и язык не заточен.
Но как же без танцев и шаманства, четко понять, что данный символ это фьючерс ?
SymbolInfoString(symbol,SYMBOL_CATEGORY) не оно ?
SYMBOL_CATEGORY
string symbol_c = SymbolInfoString(symbol,SYMBOL_CATEGORY);
printf("[ %s ]", symbol_c );
на выходе
2025.01.16 18:02:35.771 type (SPH5,H4) [ ]
----
p.s.
Более того, например в добрые времена , когда деревья были зеленей , сахар был белее и слаще, девушки моложе и был жив брокер Открытие , в Открытии некоторые функции что то выдавали, а в финаме нет и наоборот.
Это я к тому, что если на одном брокере вы что то чудесно отладили , то тот же код у другого брокера работать не будет.
Бесит конечно, просто придется писать код типа:
if ( stringБрокер == "FINAM" )
if ( stringБрокер == "КАКОЙ ТО ДРУГОЙ БРОКЕР С MT5" )
Это в Финаме:
string symbol_c = SymbolInfoString(symbol,SYMBOL_DESCRIPTION);
printf("[ %s ]", symbol_c );
2025.01.16 18:13:15.789 type (SPH5,H4) [ Фьючерсный контракт SBPR-3.25 ]
это более чем весело , в Открытии ( когда он был жив ) с большой долей вероятности, тот же код выдал бы другое.
Это конечно весьма кривой способ , програнмно определять что это фьючерс.
p.s.
Друзья подскажите , есть в РФ кто то еще на ФОНДОВОМ кроме финам на MT5 ?
У разных брокеров настроено по-разному.
У Финама, наверное, можно посмотреть SYMBOL_EXCHANGE - ФОРТС и SYMBOL_TRADE_CALC_MODE - SYMBOL_CALC_MODE_EXCH_FUTURES
Насколько знаю, только в Финаме MT5 остался.У разных брокеров настроено по-разному.
У Финама, наверное, можно посмотреть SYMBOL_EXCHANGE - ФОРТС и SYMBOL_TRADE_CALC_MODE - SYMBOL_CALC_MODE_EXCH_FUTURES
Насколько знаю, только в Финаме MT5 остался.У меня при переходе из О, где использовались длинные имена фьючей, в Ф, где используются короткие, добавилось вот такое:
void ExpBase::SetSym(void) { string str,str1[]; ushort ch; sym=_Symbol; if(StringLen(sym)==4) { ch=StringGetCharacter(sym,3); if(ch>='0' || ch<='9') { ch=StringGetCharacter(sym,2); if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z')) { str=SymbolInfoString(sym,SYMBOL_DESCRIPTION); if(StringSplit(str,' ',str1)>=0) { sym=str1[ArraySize(str1)-1]; } } } } sym_base=StringSubstr(sym,0,StringFind(sym,"-")); sym_date=StringSubstr(sym,StringFind(sym,"-")+1); }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
День добрый дорогие друзья по увлечению!
Как в MQL5 выяснить что полученный из включеyных в окружение инструментов является фьючерсом ?