Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Все программы в Code Base доступны из MetaTrader 5. Опубликуй и ты свою!
Forex Trader
114252
Forex Trader 2005.09.13 15:10 
Нужно изменить свойства символа, такие как спрэд

// код эксперта 
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
114252
Forex Trader 2005.09.13 16:06  
это выставляется на стороне ДЦ...
к какому серверу присоединён терминал? туда и вопрос...
Forex Trader
114252
Forex Trader 2005.09.13 17:59  
это выставляется на стороне ДЦ...
к какому серверу присоединён терминал? туда и вопрос...


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

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

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

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

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

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

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

right click on Market Watch -> Symbols -> Properties

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


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

right click on Market Watch -> Symbols -> Properties

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


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

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

Попробую :)

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

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

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


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

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

Это засада для тестера. Придется тогда задавать спред руками, например, на табе Optimisation свойств эксперта в тестере. Опция, кстати, не помешала бы при любом раскладе.
Forex Trader
114252
Forex Trader 2005.09.14 01:03  
Это засада для тестера. Придется тогда задавать спред руками, например, на табе 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
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий