[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 309
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Обычно <= используется. Или >=. В обоих случаях, реализация - аппаратная, Метаквоты - ни при чем.
Разработчики других языков - тоже ни при чем. Базовая операция. Как + и -.
Поскольку в условии находится не строгая дизъюнкия (а она всегда истинна если хотябы 1 её элемент является истинным), то на месте разработчика самое логичное для обработки данного условия было бы сначала разделить молекулу (a>b || c>d) на атомы "a>b" и "c>d", затем организовать цикл последовательного перебора атомов для проверки на предмет истинности. И если очередной атом истинный, то тут же прервать цикл, дав возможность программе выполнить действие, которое лежит сразу за скобками условия - то есть, не перебирать оставшиеся атомы, ибо в этом уже нет нужды. И тут не имеет значения, перебираем мы атомы из начала в конец или из конца в начало созданного списка атомов. Направление перебора может показать Вам только разработчик (метаквотесы). А зачем оно Вам понадобилось-то? Вы что, свой компилятор пишете?
На ум пришло: если в логике ТС условие a>b является истинным гораздо чаще, нежели c>d==true, то тогда может иметь значение порядок проверки истинности этих двух условий для ускорения работы программы
На самом деле выражение выглядит так: if(a>b || (a<=b && c>d)). Если проверка истинности происходит слева направо, то выражение a<=b будет лишним с точки зрения ускорения работы программы. Вопрос как раз и был в том, слева направо или наоборот или в разных случаях по-разному.
На самом деле выражение выглядит так: if(a>b || (a<=b && c>d)). Если проверка истинности происходит слева направо, то выражение a<=b будет лишним с точки зрения ускорения работы программы. Вопрос как раз и был в том, слева направо или наоборот или в разных случаях по-разному.
Подскажите в чем причина, советник не открывакет ордера, пишет error 133
Необходимо время открытия позиций сравнивать со временем открытия текущего бара Time[0]. Если время открытия позиции больше или равно времени открытия бара - експерт не открывает новые позиции. Когда появится новый бар Time[0] поменяет значение на позднее время и такое сравнение покажет, что на текущем (новом) баре позиция ещё не была открыта и можно торговать.
Кстати, ваш вопрос можно ещё разбить на 2 под-вопроса:
1. На текущем баре открылась позиция и успела закрыться, однако и так ждём новый бар.
2. На текущем баре открылась позиция и успела закрыться, тогда можно ещё раз на этом же бар открыть позицию (т.е. на 1 баре одновременно можно открыть 1 позицию).
в общем такая проблема: в один и тот бар на несколько минут условие для открытия ордера становится тру и ордер открывается. потом становится фолс и опять тру и открывается второй ордер. как с этим боросться? я придумал только открытие ордера раз в бар может есть другие варианты?
Вижу, что вы используете флаг, который позволяет/запрещает открытие позиции. Не зная условие для флага невозможно что-либо подсказать. Я в своём советнике использую 2 подход при открытии позиии и могу предложить такой код:
что такое детрендирование??? это типа "хватит трындеть"?
Применение к ряду фильтра низких частот == вычитание трендовой (наклонной) составляющей. простейший пример : наложить мувинг на цену, и потом показать разность в отдельном окне.
Вижу, что вы используете флаг, который позволяет/запрещает открытие позиции. Не зная условие для флага невозможно что-либо подсказать. Я в своём советнике использую 2 подход при открытии позиии и могу предложить такой код:
не совсем понял что куда и откуда.
если то-то и то-то, тогда равно тру
если равно тру то ордер открывается.
Если я запишу если то-то и то-то, то ордер открывается. это решит проблему?