Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1544

 

Как рассчитать маржу на демо-счете MT5?

Я заключил сделку на USD против золота с объемом = 1 (сбоку написано 100 XAUUSD, но я не уверен, что это означает лоты или микролоты и т.д.), цена = 2422 с кредитным плечом 1:30, и вдруг маржа появилась на открытой позиции, а затем исчезла, когда я закрыл позицию с TP $101 (хотя у меня все еще есть свободная маржа, равная моему балансу и капиталу). Он говорит, что маржа составляет ~12k, но не уверен, как она туда попала...

 
maxvoronin74 #:
Прошу прощения за невнимательность. Конечно, не компилятор, а терминал выдает ошибку.

Смог найти, что IndMax в коде

if(VolatilitiLow1==0&&VolatilitiLow2>0&&VolatilitiLow3==0&&VolatilitiLow4>0&&VolatilitiLow5==0&&VolatilitiLow6>0)
{
   double Array42[]={VolatilitiUp1,VolatilitiLow2,VolatilitiUp3,VolatilitiLow4,VolatilitiUp5,VolatilitiLow6};
   int IndMax=ArrayMaximum(Array42,WHOLE_ARRAY,0);
   Volatiliti=Array42[IndMax];
}
имеет значение -1. Чего, как я понимаю, не может быть. Проверка показала, что массив имеет положительное количество элементов, с положительными значениями. Отсюда уточняющий вопрос, как правильно поставить задачу на определение индекса наибольшего элемента массива?
Файлы:
 
maxvoronin74 #:

Смог найти, что IndMax в коде

имеет значение -1. Чего, как я понимаю, не может быть.
Могу ошибаться, но проверьте порядок аргументов у функции ArrayMaximum(). Кажется, 0 должен идти перед WHOLE_ARRAY
 
Yuriy Bykov #:
Могу ошибаться, но проверьте порядок аргументов у функции ArrayMaximum(). Кажется, 0 должен идти перед WHOLE_ARRAY
Правда. Заработало. Благодарю. Не подумал сразу это проверить.
 

Вместо значения согласно формулы переменная Volatiliti принимает значение цены. Не вижу, где ошибка.

В лог файле первые 2 строчки - составные части, из которых по формуле расчитывается эта переменная. По итогу явно получается цена с рынка, а не результат вычисления.

Благодарю за помощь.

Файлы:
 
Здравствуйте! Подскажите пожалуйста, как исправить это предупреждение:
implicit conversion from 'string' to 'string'

Выдает это предупреждение здесь:
double SL = edit7.Text();


 
Igor168 #:
Здравствуйте! Подскажите пожалуйста, как исправить это предупреждение:
implicit conversion from 'string' to 'string'

Выдает это предупреждение здесь:
double SL = (double)edit7.Text();
 

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

Скажите, пожалуйста, есть ли ограничение в МТ4-5 на количество индикаторов на одном графике. Делаю в МТ5. Десять индикаторов - работают хорошо одиннадцатый и далее - не получается. 

Буфер не инициализирует одиннадцатый массив изначально при инициализации, отказывается. 

 
Александр #:
Десять индикаторов - работают хорошо одиннадцатый и далее - не получается.

Чего то не так делаете. Пример кода нужен для воспроизведения.

 
Aleksey Vyazmikin #:

Чего то не так делаете. Пример кода нужен для воспроизведения.

То есть официально ограничения нет? С кодом дольше будет. Пока хотелось бы понять есть ли ограничения или нет. Просто не помню где, но я встречал где-то вроде бы в МТ5 ограничение на 10 индикаторов на один график и не более. Поиск ничего не дал, поэтому спрашиваю.