Скачать MetaTrader 5

Странности работы MarketInfo(Symbol(), MODE_SPREAD) у разных брокеров

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Подключи MQL5 Cloud Network. Начни зарабатывать!
Forex Trader
114257
Forex Trader 2006.08.09 09:03 
Имеем 2 терминала. Первый - это InterbankFX, второй - Альпари. Оба терминала проапдейтены по LiveUpdate до последней версии 195 (30.06.2006). Запускаем простой скрипт:

//+------------------------------------------------------------------+
//|                                                         test.mq4 |
//|                      Copyright © 2006, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
int spread = MarketInfo(Symbol(), MODE_SPREAD);
int digits=MarketInfo(Symbol(),MODE_DIGITS);
Print("spread=",spread);
Print("digits=",digits);
//----
   return(0);
  }
//+------------------------------------------------------------------+



В результате на терминале Альпари видим следующий лог работы:
2006.08.09 12:59:13 test EURUSD,M30: removed
2006.08.09 12:59:13 test EURUSD,M30: digits=4
2006.08.09 12:59:13 test EURUSD,M30: spread=3
2006.08.09 12:59:13 test EURUSD,M30: loaded successfully

А на терминале InterbankFX получаем следующее:
2006.08.09 12:59:54 test EURUSDm,M30: removed
2006.08.09 12:59:54 test EURUSDm,M30: digits=4
2006.08.09 12:59:54 test EURUSDm,M30: spread=0
2006.08.09 12:59:54 test EURUSDm,M30: loaded successfully

Я то знаю что у InterbankFX спред равен 2, но вот почему этого не может показать мне функция MarketInfo(Symbol(), MODE_SPREAD)? Ведь в МТС практически всегда используется данный параметр, а так как этот параметр у InterbankFX равен 0, то возможен сбой в работе МТС (отсюда могут быть массированные запросы на установку ордеров, отклоняемые сервером). Как могли бы разработчики прокомментировать данный факт?


MetaQuotes Software Corp.
Модератор
181260
MetaQuotes Software Corp. 2006.08.09 09:30  
Спред=0 означает, что спред определяется не сервером и может быть плавающим. Хотя при значении 0 нам лучше выдавать текущий спред.
Forex Trader
114257
Forex Trader 2006.08.09 09:56  
Спред=0 означает, что спред определяется не сервером и может быть плавающим

Действительно во время резких движений рынка на новостях спред бывает больше 2 вплоть до 5 или даже 6. Но то что значение, выдаваемое этой функцией не должно быть равно 0 - это точно! Ждём исправлений в новом билде.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий