Бета-тестирование MetaTrader 5 началось! - страница 89

 
SHOOTER777 >>:

При использовании функции SymbolInfoInteger() для получения текущей рыночной информации о SPREAD происходит следующее :

при записи вида

выдается предупреждение - conversion possible loss of data и результат равен 0

при записи вида

ошибок при компиляции нет, но результат отсутствует вообще

Насколько я понял SymbolInfoInteger(name[i],SYMBOL_SPREAD) результат возвращает не int, а double.

Если результат SymbolInfoInteger(name[i],SYMBOL_SPREAD) = 0 то спред плавающий...

Файлы:
test.mq5  1 kb
tspread.mqh  3 kb
 
SHOOTER777 >>:

При использовании функции SymbolInfoInteger() для получения текущей рыночной информации о SPREAD происходит следующее :

при записи вида

выдается предупреждение - conversion possible loss of data и результат равен 0

при записи вида

ошибок при компиляции нет, но результат отсутствует вообще

Проблема возникает для "пятизнака". Благо эта дурь не так сильно распространена.

И это одно из первых с чем столкнулся при знакомстве с мт5...

Путь решения ещё не окончательный, но видимо крайний:

Spread=SymbolInfoInteger(Symbol(),SYMBOL_SPREAD);
if(Spread==0) 
Spread=NormalizeDouble((SymbolInfoDouble(СИМВОЛ,SYMBOL_ASK)-SymbolInfoDouble(СИМВОЛ,SYMBOL_BID))/SymbolInfoDouble(СИМВОЛ,SYMBOL_POINT), 0);
 
betmen >>:

Насколько я понял SymbolInfoInteger(name[i],SYMBOL_SPREAD) результат возвращает не int, а double.

Если результат SymbolInfoInteger(name[i],SYMBOL_SPREAD) = 0 то спред плавающий...


Из 4 версии справки по MQL5

SYMBOL_DIGITS

Количество знаков после запятой

int

SYMBOL_SPREAD

Размер спреда в пунктах

int

 

betmen писал(а) >>

Если результат SymbolInfoInteger(name[i],SYMBOL_SPREAD) = 0 то спред плавающий...



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

 
kombat >>:

Проблема возникает для "пятизнака". Благо эта дурь не так сильно распространена.

И это одно из первых с чем столкнулся при знакомстве с мт5...

Путь решения ещё не окончательный, но видимо крайний:





Конечно и так можно проблему решить, но желательно сразу все реализовать в самом MQL5 (тем более что в MT4 тоже были котировки с 5 знаком, а код при этом работал без ошибок)...

 
Не отображается нормально график GBPUSD всё что свыше 6-ти минутки.
 
Interesting >>:

Из 4 версии справки по MQL5

SYMBOL_DIGITS

Количество знаков после запятой

int

SYMBOL_SPREAD

Размер спреда в пунктах

int

Я знаю что по логике вещей и в справке это int. Речь как раз и идет о том что некорректно работает команда...

В пятой версии справки тоже на этот счет ничего не менялось

 
den200 >>:
Не отображается нормально график GBPUSD всё что свыше 6-ти минутки.

У меня по крайней мере все нормально на H1, сверялся с реальным счетом на MT4...

 
betmen >>:

Я знаю что по логике вещей и в справке это int. Речь как раз и идет о том что некорректно работает команда...

В пятой версии справки тоже на этот счет ничего не менялось

А где нынче 5 справку раздают?

 
Причина обращения: