. . .
if (БУ(Массив1)+БУ(Массив1)>0) .....
. . .
Предлагаю перефразировать "афоризм" - "дьявол кроется в многоточии". :(
if (БУ(Массив1)+БУ(Массив1)>0) .....
где БУ() - функция.
Ругается, говорит, что лишняя скобка.
я не спец. Но мне представляется, что здесь явная ошибка. Вот какая.
Разве знак "+" имеет приоритет над знаком ">" ?
Запись кажется мне странной. Скобок(двух) явно не хватает. Надо, видимо, сделать так:
if ((БУ(Массив1)+БУ(Массив1))>0)Кстати, Pingvin-man, как вы безубыток вычисляете?
Разве знак "+" имеет приоритет над знаком ">" ?
Запись кажется мне странной. Скобок(двух) явно не хватает. Надо, видимо, сделать так:
Возможно. Но так сказать, что бы не думалось. Я бы всё таки сделал со скобками.
а+в>0
(a+b)>0
Всё таки вторая запись кажется мне более корректной! Кроме того, я не вижу иной причины ошибки при компиллированиии ...
Разве знак "+" имеет приоритет над знаком ">" ?
Запись кажется мне странной. Скобок(двух) явно не хватает. Надо, видимо, сделать так:
Кстати, Pingvin-man, как вы безубыток вычисляете?Да, с этой ошибкой уже разобрался. Причём через пару минут после того, как создал топик.
А вот насчёт безубытка - вопрос встал во весь рост.
Как вычислять, если ордера направлены в одну сторону, представляю себе очень хорошо.
Безубыток = сумма вложений / сумму лотов, или
lots=lots+OrderLots(); sum=sum+OrderLots()*OrderOpenPrice(); BU=sum/lots;
А вот что нужно делать, если ордера направлены в разные стороны?
Верно ли будет такое решение:
if (OrderType()==0) { lots=lots+OrderLots(); sum=sum+OrderLots()*OrderOpenPrice(); } if (OrderType()==1) { lots=lots-OrderLots(); sum=sum-OrderLots()*OrderOpenPrice(); } BU=sum/lots;
В случае Sell лоты будут плюсоваться, и сумма будет плюсоваться (расти в плюс), т.к. значение количества лотов будет возвращаться отрицательное, минус на минус - будет плюс. Правильно ли это? Или же для Селов должны получаться отрицательные значения суммы и количества лотов?
Башка совсем не варит.
Help.
Да, нужно сначала поиском пользоваться.
Блин, на сапре сам пишу людям, чтобы при задании вопроса сначала воспользовались поиском. А тут сам в лужу сел...
https://forum.mql4.com/ru/7057
Возможно. Но так сказать, что бы не думалось. Я бы всё таки сделал со скобками.
а+в>0
(a+b)>0
Всё таки вторая запись кажется мне более корректной! Кроме того, я не вижу иной причины ошибки при компиллированиии ...
верно
пусть там приоритеты по умолчанию какие угодно будут!
так наглядней к тому же
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вопрос простой:
Можно ли в условии использовать функцию?
if (БУ(Массив1)+БУ(Массив1)>0) .....
где БУ() - функция.
Ругается, говорит, что лишняя скобка.