Скачать MetaTrader 5

MarketInfo - и свойства символа

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114297
Forex Trader  
Нужно изменить свойства символа, такие как спрэд

// код эксперта 
int start()
  {
int spread = MarketInfo (Symbol(), MODE_SPREAD); 
Comment ("### Спрэд [", spread, "] ", Bid, " >< ", Ask);
  } 



И вот что он мне пишет в комментарии на фунте:
### Спрэд [3] 1.8213 >< 1.8218

т.е. 1.8218 - 1.8213 = 0.0003 ??????????
В чем подвох?

И вопрос всем кто знает, в том числе к разработчикам (на форуме ничего не нашел), если MarketInfo выдает вот такое!!!, так что все тестирование проводится на таком точном спрэде, хотя спрэд ДЦ 5 пипсов?
Есть ли способ изменять спецификации контракта?

С уважением, Господа.

Forex Trader
114297
Forex Trader  
это выставляется на стороне ДЦ...
к какому серверу присоединён терминал? туда и вопрос...
Forex Trader
114297
Forex Trader  
это выставляется на стороне ДЦ...
к какому серверу присоединён терминал? туда и вопрос...


сервер брокера AI&S (реал).

Фактический спрэд брокер выдает правильно, тобишь 5 пипсов, но функция MarketInfo выдает 3, именно такое значение установлено в терминале, см. свойства символа. Вот в чем фикус-пикус!?!

И при тестировании:
Print("BID [", Bid, "] ASK [", Ask, "]"); // вызывается потиково
получаем в логе: (для данного примера)
............ BID [1.8213] ASK [1.8216] (сервер отключен!)
все те же 3 пипса.

Почему вопрос к дилеру? вот таким будет его ответ: "пипс 5, можете проверить", я проверяю, то что перед глазами 5.
Непонятно, откуда функция MarketInfo( ) получает информацию, тот дилера или от терминала, в хэлпе об этом не сказано.

А что показывает MarketInfo у Вас ув. komposter?
Благодарю за ответ.
Forex Trader
114297
Forex Trader  

Непонятно, откуда функция MarketInfo( ) получает информацию, тот дилера или от терминала, в хэлпе об этом не сказано.

А что показывает MarketInfo у Вас ув. komposter?
Благодарю за ответ.

right click on Market Watch -> Symbols -> Properties

Я со своим дилером тоже ругался по поводу того, что они спред в 0 ставят. Игнорируют, гады. :(
Forex Trader
114297
Forex Trader  
это выставляется на стороне ДЦ...
к какому серверу присоединён терминал? туда и вопрос...


Или Вы хотите сказать, что свойства символа прошил в терминал брокер, и специально мутит воду, тогда какой смысл на такой очевидной дырке обманывать?
Forex Trader
114297
Forex Trader  

right click on Market Watch -> Symbols -> Properties

Я со своим дилером тоже ругался по поводу того, что они спред в 0 ставят. Игнорируют, гады. :(


right click on Market Watch -> Symbols -> Properties
по советски пожалуйста.
Forex Trader
114297
Forex Trader  

right click on Market Watch -> Symbols -> Properties
по советски пожалуйста.

Попробую :)

Правой кнопкой мыши на окне Market Watch, далее Symbols в контекстном меню, потом Properties на выбранной паре.
MetaQuotes Software Corp.
Модератор
188162
MetaQuotes Software Corp.  
MarketInfo(Symbol(), MODE_SPREAD) выдает базовый спред инструмента из самих настроек сервера. Он может быть равен 0 - это означает, что спред может быть плавающий или контролируемый извне на уровне датафидов.

В новой версии клиентского терминала (выйдет ближе к 1 октябрю) будет показываться точный результат MarketInfo(Symbol(), MODE_SPREAD) с учетом всех возможных базовых спредов и коррекций. Также если базовый спред =0, то мы будем выдавать текущий реальный спред как ask-bid.
Forex Trader
114297
Forex Trader  
MarketInfo(Symbol(), MODE_SPREAD) выдает базовый спред инструмента из самих настроек сервера. Он может быть равен 0 - это означает, что спред может быть плавающий или контролируемый извне на уровне датафидов.

В новой версии клиентского терминала (выйдет ближе к 1 октябрю) будет показываться точный результат MarketInfo(Symbol(), MODE_SPREAD) с учетом всех возможных базовых спредов и коррекций. Также если базовый спред =0, то мы будем выдавать текущий реальный спред как ask-bid.


Спасибо за инф. поддержку
Forex Trader
114297
Forex Trader  
MarketInfo(Symbol(), MODE_SPREAD) выдает базовый спред инструмента из самих настроек сервера. Он может быть равен 0 - это означает, что спред может быть плавающий или контролируемый извне на уровне датафидов.

В новой версии клиентского терминала (выйдет ближе к 1 октябрю) будет показываться точный результат MarketInfo(Symbol(), MODE_SPREAD) с учетом всех возможных базовых спредов и коррекций. Также если базовый спред =0, то мы будем выдавать текущий реальный спред как ask-bid.

Это засада для тестера. Придется тогда задавать спред руками, например, на табе Optimisation свойств эксперта в тестере. Опция, кстати, не помешала бы при любом раскладе.
Forex Trader
114297
Forex Trader  
Это засада для тестера. Придется тогда задавать спред руками, например, на табе Optimisation свойств эксперта в тестере. Опция, кстати, не помешала бы при любом раскладе.


Возвращает реальный Ask (только для тестирования), проверил, работает.
int spread = 5; // спред брокера (условно)
double Ask_ = Ask; // заменяет цену спроса на реальный Ask
int start()
{
int spread_=MarketInfo(Symbol(),MODE_SPREAD); 
Print("Спрэд до [ ",(Ask_ - Bid) / Point," ] ( ",Bid," >< ",Ask_," )");  
if(IsTesting())
   {
    if (spread_ == spread)
        Ask_= Ask;
        else Ask_= Bid + spread * Point;
    }
     else Ask_= Ask;
Print("Спрэд после [ ",(Ask_ - Bid) / Point," ] ( ",Bid," >< ",Ask_," )");    
}




Попробую :)

Правой кнопкой мыши на окне Market Watch, далее Symbols в контекстном меню, потом Properties на выбранной паре.



Заманчиво, но этим ничего не изменить
Strategy Tester > Symbol Properties тоже самое

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий