Скриптинг (собственные индикаторы и стратегии)

Скриптинг в торговой платформе — это написание собственных индикаторов и стратегий кодом, чтобы они работали на данных платформы, а не ограничивались встроенным каталогом. Индикатор возвращает значения для отрисовки на графике; стратегия возвращает решения, которые двигают симулированный счёт, повтор, бэктест или — там, где это разрешено и явно взведено, — живые заявки.

Senzoukria · Глоссарий · Обновлено: сентябрь 2026


Индикатор и стратегия — разные скрипты

Скрипт-индикатор получает бары и возвращает одну или несколько серий, которые рисуются на графике или в своей панели. Скрипт-стратегия получает те же данные и возвращает решение на каждый закрытый бар: купить, продать, закрыть или ничего. Различие важно, потому что у стратегии есть последствия за пределами экрана: она может двигать симулированный счёт, тестироваться на истории или дотягиваться до брокера через путь автоматизации, который требует отдельного разрешения.

Что скриптинг по ордерфлоу даёт на вход

  • По каждому ценовому уровню внутри бара: объём по bid, объём по ask и их дельта (объём ask минус объём bid).
  • Дисбалансы, считанные диагонально по соглашению ATAS: объём ask на одной цене против объёма bid на тик ниже.
  • OHLC бара, метки времени и границы сессий — сами по себе они позволили бы лишь классические свечные индикаторы.
  • Отсутствующие данные остаются отсутствующими: уровень без записанных сделок — это не нулевой объём, и скрипт должен относиться к нему именно так.

Песочница и её цена

Запуск пользовательского кода внутри торгового приложения — прежде всего вопрос безопасности, а уже потом возможность. Изолированная среда не имеет ни сети, ни доступа к файлам, ни прямого API брокера: она получает данные, возвращает значения и снимается, если работает слишком долго. Цена в том, что скрипт не может загрузить внешние данные или записать файл; выигрыш в том, что ошибка в скрипте не уронит приложение и не отправит заявку случайно.

В Senzoukria

Страница скриптинга («Пишите собственные индикаторы и полностью автоматические стратегии. Всё выполняется в песочнице на этом компьютере — без сети, без доступа к файлам, без API брокера.») разделяет «Индикаторы» и «Автостратегии», с кнопками «Новый индикатор» и «Новая стратегия», редактором, запуском на тестовых данных (Ctrl+Enter) и шаблонами: лента EMA, накопленная дельта сессии, дисбалансы покупателей, максимум/минимум сессии, ATR в процентах и пробойная стратегия. Языки — JavaScript, Python на встроенном интерпретаторе и C++17, компилируемый Clang в WebAssembly. Скрипты выполняются в изолированном воркере с бюджетом в две секунды; бесконечный цикл убивает свой воркер, но не приложение. Стратегия по умолчанию торгует на симулированном оценочном счёте; исторические бэктесты поддерживают JavaScript и Python, а C++ работает как индикаторы и в повторе. Живое исполнение существует только через отдельную панель автопилота, на совместимом счёте Rithmic и после того, как вы взведёте его сами. Ассистент, работающий на вашем собственном ключе API, может написать или отредактировать скрипт по описанию или по скриншоту.

Типичные ошибки

  • Считать скрипт, который отработал без ошибок на тестовых данных, проверенной стратегией.
  • Читать отсутствующий уровень как ноль и считать дисбалансы против него.
  • Думать, что выбор языка ничего не решает: пути бэктеста и повтора у языков различаются.
  • Ждать, что скрипт выставит заявки: скрипт возвращает решения, а что будет дальше, решают платформа и её права.

Эта страница на других языках

Частые вопросы

На каком языке писать торговый скрипт?
Выбирайте язык под нужную операцию. В Senzoukria у стратегий на JavaScript и Python есть пути исторического бэктеста; C++ работает как индикаторы и в повторе через среду WebAssembly, но исторического бэктеста не имеет. Для первого индикатора правильный язык — тот, который вы уже свободно читаете.
Может ли скрипт отправлять заявки моему брокеру?
Напрямую — нет. Скрипт-стратегия возвращает решения; по умолчанию они двигают симулированный счёт, повтор или бэктест. Чтобы дойти до брокера, нужны отдельный путь автоматизации платформы, совместимый подключённый счёт с правом на автоматизацию и явное взведение трейдером.
Почему мой индикатор ничего не возвращает?
Обычно потому, что скрипт ждёт поле, которого нет в тестовых данных или в потоке, возвращает не ту форму или превышает бюджет выполнения. Сначала запустите его на тестовых данных, чтобы вскрыть синтаксические ошибки и отсутствующие поля, затем проверьте данные, которые реально держит график, и только потом подозревайте формулу.