Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 147
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прошу помощи - не могу понять, почему получаю ноль при вычислении массива VesMass в значениях i>0 ?
Читай документацию и станет ясно. Хорошо что сам справился.
Можно написать 4.0/5 или (double)4/5 - тогда результатом будет вещественное число.Это особенность не только МКЛ, в С++ и других языках программирования тоже самое - деление двух целых чисел или переменных типа (int) даст усечённый до целого результат. В вашем случае 4/5=0.
Можно написать 4.0/5 или (double)4/5 - тогда результатом будет вещественное число.Это особенность не только МКЛ, в С++ и других языках программирования тоже самое - деление двух целых чисел или переменных типа (int) даст усечённый до целого результат. В вашем случае 4/5=0.
Это то я понял, но не понял логику решения - т.е. потребность.
Это то я понял, но не понял логику решения - т.е. потребность.
Ну вы же не спорите "почему 2*2=4 в арифметике, в чём логика решения"? Просто принимаете это за аксиому и пользуетесь. Вот так и с делением двух целых.
Ну вы же не спорите "почему 2*2=4 в арифметике, в чём логика решения"? Просто принимаете это за аксиому и пользуетесь. Вот так и с делением двух целых.
Я проверю сложением...
Линия - трендовая. Поменял свойства на луч. Не помогло. В идеале нужно чтобы выводилась цена независимо от положения нулевого бара (сверху, снизу).
Такой код тоже не работает.
int start() {
double pr=ObjectGetValueByShift("line",0);
If (Bid==pr){
Alert (pr);}
return(0);}
Имя линии правильно прописываеш?
Попробуй этот скрипт, и покаж что в логах написано.
}
Скрипт объект определяет, имя правильное пишет. Но цену берет абсолютно левую. На фото отметил ее горизонтальной линией. Он эти цены выдает не зависимо пересекали бары линию или нет.
Линия - трендовая. Поменял свойства на луч. Не помогло. В идеале нужно чтобы выводилась цена независимо от положения нулевого бара (сверху, снизу).
Такой код тоже не работает.
int start() {
double pr=ObjectGetValueByShift("line",0);
If (Bid==pr){
Alert (pr);}
return(0);}
Bid может легко перескочить вашу линию, он не обязан задерживаться на каждом пункте (то есть точного равенства не будет ну никак)
поменяйте условие например на if ( (MathMin(Close[1],Open[0])<=pr && Bid>=pr) || (MathMax(Close[1],Open[0])>=pr && Bid<=pr)) или подобное..
Bid может легко перескочить вашу линию, он не обязан задерживаться на каждом пункте (то есть точного равенства не будет ну никак)
поменяйте условие например на if ( (MathMin(Close[1],Open[0])<=pr && Bid>=pr) || (MathMax(Close[1],Open[0])>=pr && Bid<=pr)) или подобное..
Спасибо! идею понял.
А если ситуация другая. Есть на графике горизонтальные линии с разными именами. Нужно чтобы скрипт вычислил какой линии какая цена соответствует.