Code Zero Visual Trading
Русский
  • Общие сведения
    • 🚀О комплексе
    • ✅Наши преимущества
  • Руководство пользователя
    • ⏩Создание и тестирование стратегии
    • 🤝Как поделиться стратегией
    • 📊TradingView для новичков
    • Как включить Hedge-mode
    • Как создать API-ключи на Binance
    • Как создать API-ключи на ByBit
    • Как создать API-ключи на OKX
    • 🚦Как изменить индикатор для работы с CDZV Toolkit
  • CDZV Toolkit
    • 📈Индикаторы
      • 💻CONDITION MANAGER
        • ⚪RULE
        • ⚪GROUP
        • ⚪CONSTANT
        • ⚪ALERT
        • ⬜Источник данных
        • ⬜Функции-агрегаторы
        • ⬜Условие
        • ⚪Тестирование
        • ⬜Выходные данные
      • 🔢DATA SOURCE
      • 🔂STATE MACHINE
        • Интерфейс
        • Специальные переменные
        • Выходные данные
        • Тестирование
      • 🔀IF-THEN-ELSE
      • 📍SWITCH
      • 🏷️SOURCE MARKER [1-9]
      • ⌚INTERVAL
      • ⏳TIMER
      • 🎞️SESSIONS
    • 📊Стратегии
      • 👾CONDITION MANAGER STRATEGY
      • 🪜MARTIN GRID STRATEGY
    • Как добавить индикаторы в TradingView?
  • Coin Rebalancer
    • Coin Rebalancer
  • SMART Grid Pro
    • SMART Grid Pro
  • ПОДДЕРЖКА
    • 📖FAQ
      • 🧠Вопросы - ответы
    • 🕶️Privacy Policy
    • ❗Term of use
    • ⚠️Disclaimer
    • ▶️YouTube
Powered by GitBook
On this page
  • Общее описание индикатора
  • 1. Интерфейс
  • 2. Передача значений между состояниями
  • 3. Выходные данные
  • 4. Тестирование
  1. CDZV Toolkit
  2. Индикаторы

STATE MACHINE

Code Zero Visual Trading for TradingView

PreviousDATA SOURCENextIF-THEN-ELSE

Last updated 8 months ago

Познавательно

State machine, или автомат состояний - это система, которая может находиться в одном из нескольких состояний. Она меняет свои состояния в ответ на события или входные сигналы.

Представьте себе стиральную машину: она имеет разные режимы (состояние) - стирка, полоскание, отжим. В зависимости от того, что вы выберете (событие), она перейдет в нужное состояние и выполнит нужную программу.

Так же и state machine в программировании или электронике "переключается" между состояниями по заданным правилам.

Общее описание индикатора

STATE MACHINE - это революционный инструмент для трейдеров, который позволяет создавать стратегии, основанные на последовательности событий. Он автоматизирует вашу торговлю, учитывая время и условия, которые вы задали, превращая ваш план в прибыльные действия. Это ваше преимущество в трейдинге, воплощающее сложные стратегии без усилий.

Модуль STATE MACHINE - это как игра в шахматы для вашей торговой стратегии. Он позволяет вам "ходить" по разным состояниям (как позициям на шахматной доске), каждое из которых соответствует определенному моменту или событию в вашей стратегии. Вы сами устанавливаете правила, когда и как перейти от одного состояния к другому, вплоть до пятого.

Если нужно, можно сделать паузу на нескольких барах, прежде чем проверять условия для следующего хода. И если ваша фигура (состояние) не может сделать ход в течение определенного времени, она может вернуться на исходную позицию (состояние 0). Таким образом, STATE MACHINE помогает вам создать стратегию, которая реагирует на изменения рынка в зависимости от времени и событий, как опытный шахматист, планирующий свои ходы наперед.

Важно

Вы сами решаете, что и когда должно произойти в вашей стратегии.

Лучше всего понять логику состояний можно на примере.

Представим, что мы хотим создать торговую стратегию с использованием STATE MACHINE которая будет генерировать сигнал на покупку акции, когда несколько условий удовлетворяются одно за другим. Вот пример стратегии на 3 состояния:

Состояние 0: Запуск

  • Система запущена и переходит в Состояние 1.

Состояние 1: Наблюдение за рынком.

  • Система находится в состоянии ожидания и наблюдает за ценой акции.

  • Если цена закрытия превышает среднее значение EMA(50), система переходит в Состояние 2.

Состояние 2: Проверка дополнительных условий.

  • Система проверяет, RSI (Индекс относительной силы) меньше 30, что может указывать на перепроданность акции.

  • Если условие RSI удовлетворяется сейчас или в течение 5 баров, система переходит в Состояние 3.

  • Если условие не удовлетворяется в течение 5 баров, система возвращается в Состояние 0.

Состояние 3: Генерация сигнала на покупку.

  • Система проверяет объем торгов - если он больше среднего объема за последние 10 баров, это может свидетельствовать о растущем интересе к акции.

  • Если объем торгов выше среднего на протяжении 2 баров, система генерирует сигнал на покупку.

  • Если объем торгов не выше среднего на протяжении 2 баров, система возвращается в Состояние 0

Таким образом, STATE MACHINE автоматически продвигается шаг за шагом через логическую цепь условий и выжидает нужные промежутки времени между событиями, пока не будут удовлетворены все необходимые критерии для покупки. Как только это произойдет, трейдер получает сигнал и может выполнить покупку, опираясь на предварительно определенную стратегию.

Вся логика работы базируется на состоянии. Машина может быть только в одном состоянии. Перейти в другое состояние она может только по какому-то событию. Событие - это выполнение соответствующего условия. В каждом состоянии можно находиться бесконечно долго, ожидая выполнения условия, или задать количество баров, сколько ждать этого условия. Если условие не выполнится за это время, автомат переходит в состояние 0 и снова начинает работу сначала.

На диаграмме приведен пример.

Состояние 0 - машина готова к работе и ожидает выполнения условия [R1]: RSI(14) < 30. Максимальное время ожидания: бесконечно.

Состояние 1 - машина перешла в это состояние после выполнения условия [R1] и ожидает выполнения условия [R2]: VOLUME > VOLUME MA(50) Максимальное время ожидания: 10 баров.

Теперь возникает ситуация возможного ветвления, куда дальше перейдет машина.

  1. Если выполнится условие [R2] будет осуществлен переход в состояние 2.

  2. Если пройдет 10 баров и условие [R2] не выполнится, машина перейдет в начальное состояние 0 и начнет работу заново.

Состояние 2 - машина перешла в это состояние после выполнения [R2] и ожидает выполнения условия [R3]: close > open (Bullish bar) Максимальное время ожидания: бесконечно.

Состояния 3 - машина перешла в это состояние после выполнения [R3], генерирует выходной сигнал об успешном выполнении всех условий и переходит в начальное состояние 0 и начнет работу заново.

Таким образом, машина снова ждет нужной ситуации не рынке.

1. Интерфейс

Когда STATE MACHINE доходит до последнего шага, который вы задали, она "говорит": "Все, задача выполнена!" и начинает все заново.

Как только вы перейдете к новому шагу, он начнет ждать выполнения заданного условия и будет это делать до тех пор, пока оно не сработает. Если такое бесконечное ожидание не подходит для вашей стратегии или перед выполнением нового шага необходимо внести какую-то задержку, вы всегда можете это настроить:

N
Описание

1

2

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

3

Сколько баров ждать выполнения условия, прежде чем оно станет неактуальным и STATE MACHINE нужно будет перезапустить (перейти в состояние заданное в параметре 5 "Reset to").

4

Сигнал по которому STATE MACHINE нужно будет перезапустить (перейти в состояние заданное в параметре 5 "Reset to").

5

Состояние на которое нужно перейти при перезапуске текущего состояния (по п. 2 или п. 3 или п.4).

2. Передача значений между состояниями

Чтобы принять решение на основе данных из прошлого, в модуле есть специальные "запоминающие" переменные: S1_VAR, S2_VAR, S3_VAR, S4_VAR. Они как заметки, куда записываются важные числа из предыдущих шагов (состояний).

Затем, когда вам нужно сделать новый шаг, вы можете взглянуть на эти заметки и использовать записанное для решения, как именно двигаться дальше.

Например,

значение RSI(14) при переходе из состояния 1 в состояние 2 записывается в специальную переменную S1_VAR,

которую при переходе в состояние 4 можно использовать для перехода в состояние 5: "RSI(14) на шаге 1 был равен 25?".

3. Выходные данные

Модуль STATE MACHINE имеет три выхода:

  • Сигнал о том, что все состояния пройдены успешно и мы можем работать дальше (SIGNAL).

  • Состояние, в котором мы находимся сейчас (CURRENT STATE).

  • Состояние, которое мы ожидаем при успешном окончании (TARGET STATE).

4. Тестирование

Чтобы увидеть результаты для конкретного состояния, выберите его из списка доступных состояний. Затем на графике вы увидите линию с синими квадратами, которые покажут моменты активации STATE MACHINE в этом состоянии. Таким образом вы можете пройтись по всем состояниям и протестировать их. Это даст вам четкое представление о том, когда и почему модуль переходил из одного состояния в другое, и как это влияло на торговые решения.

Условие () для каждого состояния задается так же как и в модуле . При его выполнении система переходит в следующее состояние и ожидает его выполнения.

Выбор источника данных, который будет записан в переменную Sx_VAR в момент перехода из этого состояния в следующее. Эту переменную можно будет использовать в следующих состояниях для создания условий правил.

Для тестирования работы модуля STATE MACHINE используется та же самая , что и в . Она показывает, как настроенная вами логика работала бы на исторических данных. Вы можете последовательно проверить работу каждого состояния, что поможет вам понять, как ваши настройки реагируют на рыночные условия.

📈
🔂
CONDITION MANAGER
CONDITION MANAGER
RULE
Backtesting Line