Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2688

 
Nikolay Skrigan #:
Всем добрый день.
Столкнулся с проблемой. На ряде серверов МТ5 нет возможности получить значение маржи по стандартным запросам языка MQL5.
Как выйти из ситуации?
Сорри, проблему решил с помощью китайского ИИ
 
Nikolay Skrigan #:
Сорри, проблему решил с помощью китайского ИИ
Увы, проблема осталась. Китайский друг не справился.
 
grezky #:
В добавление к предыдущему сообщению - как в МТ5 вручную добавить на график стрелку вправо, чтобы ее центр соответствовал требуемой цене?
Например вручную на график устанавливается 'стрелка вправо' с центром на уровне цены 1.5, 
если после этого будет запущен скрипт который будет считывать значение стрелки, он получит из свойств стрелки значение 1.5
(без каких-либо 'хитрых манипуляций').
Документацию откройте и почитайте 
 
Nikolay Skrigan #:
Увы, проблема осталась. Китайский друг не справился.
поконкретнее - какая именно маржа вам нужна?
 
Arch #:
Документацию откройте и почитайте 
какую документацию открыть, где об этом сказано?
 
Бред какой-то. В справке языка MQL5 написано: "Все массивы и индикаторные буферы по умолчанию имеют направление индексации слева направо. Индекс первого элемента всегда равен нулю."
Код же в скрипте
Alert("High 1 свечи графика = ",iHigh(Symbol(),0,1));
Alert("High 2 свечи графика = ",iHigh(Symbol(),0,2));
Alert("High 3 свечи графика = ",iHigh(Symbol(),0,3));
выводит значение цен хай 1, 2 и 3 свеч как в MQL4 справа налево. Это в справке опечатка (не верно указано направление слева-направо), или iHagh() - это не касается? Или я что-то не понимаю?
 
iHigh() - это ни массив, ни индикаторный буфер. Это функция, которая берёт из них значения и возвращает туда, где её вызвали. В ней значения получаются именно в том порядке, как вы видите.
 
Yuriy Bykov #:
iHigh() - это ни массив, ни индикаторный буфер. Это функция, которая берёт из них значения и возвращает туда, где её вызвали. В ней значения получаются именно в том порядке, как вы видите.
Я правильно понимаю, что нумерация свеч на графике терминала MT5 осталась такая же, как и в МТ4, то есть, из настоящего в прошлое? Если да, то отсюда вопрос, зачем было по умолчанию в массивах и индикаторных буферах назначать порядок нумерации ячеек в обратном порядке, какая от этого польза?
 
Vitaly Murlenko #:
Я правильно понимаю, что нумерация свеч на графике терминала MT5 осталась такая же, как и в МТ4, то есть, из настоящего в прошлое? Если да, то отсюда вопрос, зачем было по умолчанию в массивах и индикаторных буферах назначать порядок нумерации ячеек в обратном порядке, какая от этого польза?

Как указано в справке, при получении данных через функции iHigh(), iClose() и т.п. мы указываем в третьем параметре shift сдвиг относительно текущего бара на указанное количество баров назад. Это одинаково и в MT4, и в MT5.

double  iHigh(
   const string        symbol,          // символ
   ENUM_TIMEFRAMES     timeframe,       // период
   int                 shift            // сдвиг
   );

Если я правильно помню, то для массивов и индикаторных буферов мы можем установить как прямой, так и обратный порядок индексации, используя функцию ArraySetAsSeries(). В приведённой вами цитате из справки говорится, какой порядок индексации используется именно по умолчанию, то есть если мы не будем его менять. На вопрос "Зачем?" точно ответить не могу. Возможно, что в разных ситуациях может оказаться удобнее или один, или другой порядок.

 
Nikita Chernyshov #:
поконкретнее - какая именно маржа вам нужна?
Для открытия позиции. 
По стандартны запросам MQL5 идут нули. Нужно искать какие-то косвенные решения.