Условия
Условия решают, по какой связи пойдёт поток после шлюза. Их задают на связях, выходящих из шлюза: выберите связь на схеме и откройте панель свойств.
Конструктор
Заголовок раздела «Конструктор»Конструктор собирает условие без кода:
- Что проверяем? — переменная блока выше по потоку или параметр стратегии. Для списков (свечи, индикатор) выберите поле и какую свечу: последнюю, предыдущую или 3 назад.
- Оператор — больше, меньше, равно, не равно, а также пересекает снизу вверх и пересекает сверху вниз.
- С чем сравниваем — с числом или с другой переменной.
Несколько условий объединяются: Выполнять, если верны все (и) или любое (или). Под формой показано, как условие читается словами.
Если выше по потоку нет блоков с результатом, конструктору нечего предложить — добавьте перед шлюзом, например, Рассчитать индикатор или Статус ордера.
Выражение (FEEL)
Заголовок раздела «Выражение (FEEL)»Вкладка Выражение позволяет написать условие кодом на языке FEEL. Редактор подсказывает имена переменных и подсвечивает ошибки.
result[-1].Value > 70klines[-1].Close > klines[-2].Close and strategyParams.direction = "long"Правила, которые чаще всего путают:
- списки нумеруются с 1; последний элемент —
[-1], предпоследний —[-2]; - сравнение на равенство — одинарный
=; - строки — в двойных кавычках.
Если выражение сложнее, чем умеет конструктор, его можно править только как код. Чтобы снова собрать условие в конструкторе, очистите поле.
Связь по умолчанию
Заголовок раздела «Связь по умолчанию»У шлюза «Условие» можно отметить одну связь как связь по умолчанию: поток пойдёт по ней, если ни одно условие не выполнилось. Без неё шлюз, у которого все условия ложны, остановит процесс с инцидентом.