Вопрос разработчикам по MarketInfo(Symbol(),MODE_MARGINREQUIRED) и тем, кто знает и захочет ответить, конечно

 

Как я понял - MarketInfo(Symbol(),MODE_MARGINREQUIRED) выдаст размер свободных средств в валюте депо, необходимых для открытия 1 лота на покупку по цене MarketInfo(Symbol(),MODE_ASK).

Вопрос1: можно ли определить данный размер для другой цены ask, например по закрытию бара 3.

Вроде прямая пропорция

ask0=MarketInfo(Symbol(),MODE_ASK);
ask3=Close[3]+MarketInfo(Symbol(),MODE_SPREAD);
mrgrqrd0=MarketInfo(Symbol(),MODE_MARGINREQUIRED);
mrgrqrd3=mrgrqrd0*ask3/ask0;

дает погоду в Африке. Особенно для непрямых кроссов. А как?

Вопрос2: чем MarketInfo(Symbol(),MODE_MARGINREQUIRED) отличается от MODE_MARGININIT и от "стоимости покупки 1 лота"?

Вопрос3: по поводу MarketInfo(Symbol(),MODE_TICKVALUE) - если минимальный лот 0.1, а шаг изменения 0.01 - какое значение возвращает маркетинфо?

 
Похоже опять задаю вопросы, на которые разработчики ответить не могут, а остальным не интересно... :)
 
Bookkeeper писал(а) >>

Вопрос3: по поводу MarketInfo(Symbol(),MODE_TICKVALUE) - если минимальный лот 0.1, а шаг изменения 0.01 - какое значение возвращает маркетинфо?

А может потому что вопросы легки... ;)

Величины маржы, центы тика и т.д...

указаны, точнее возвращаемы из расчёта на 1 лот.

*

Единственно что нужно учесть некоторых дилЕрОв которые

играют в самодеятельность и у них например 1 лот это 10.000 ебв.

(что у нормальных = 0.1 лоту)

 

Ну, если легко, так влегкую - на вопрос №1?

 
Здравствуйте,
Согласно MQL4 документации "MODE_LOTSIZE" должна возвращать "Размер контракта в базовой валюте инструмента".
Однако сервер может быть настроен так, что "MODE_LOTSIZE" будет возвращать "Размер контракта в валюте депозита".
В этом случае "MODE_MARGINREQUIRED" означает стоимость покупки по текущей цене 1 лота, поделенную на "AccountLeverage ()".

Во обоих случаях, зная стоимость контракта по одной цене, стоимость контракта по другой цене легко определить.
С уважением,
Ais.
 
Ais писал(а) >>
зная стоимость контракта по одной цене, стоимость контракта по другой цене легко определить

Здравствуйте.

Пожалуйста - если легко, то как конкретно для NZDJPY по цене закрытия 3-го бара, для примера? ДЦ и счет без выпендрежа, например типа Альпари-стандарт - никаких отклонений в рассчетах (надеюсь за рекламу или обсуждение ДЦ не сочтут? если сочтут, тогда любой другой ДЦ, где все стандартно, мне по барабану). Пропорция по посту 1 не работает.

 
Пример вычисления размера залога:

int init()
{
double QuotePoint  = MarketInfo ( Symbol () , MODE_POINT          )               ;
double QuoteSpread = MarketInfo ( Symbol () , MODE_SPREAD         ) * QuotePoint  ;
double ask0        = MarketInfo ( Symbol () , MODE_ASK            )               ;
double ask3        = iClose     ( Symbol () , Period () , 3       ) + QuoteSpread ;
double mrgrqrd0    = MarketInfo ( Symbol () , MODE_MARGINREQUIRED )               ;
 
double mrgrqrd3    = mrgrqrd0   * ask3 / ask0                                     ;
 
Alert ( ""                                                                      ) ;
Alert ( "mrgrqrd3    = " , mrgrqrd3                                             ) ;
Alert ( "mrgrqrd0    = " , mrgrqrd0                                             ) ;
Alert ( "ask3        = " , ask3                                                 ) ;
Alert ( "ask0        = " , ask0                                                 ) ;
Alert ( "QuoteSpread = " , QuoteSpread                                          ) ;
Alert ( "QuotePoint  = " , QuotePoint                                           ) ;
}
 
Ну вот - моя ошибка: забыл " *QuotePoint " при определении спреда! Спасибо!!!
 
Пожалуйста

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