Открыть на GitHub

Пересечение SMA в заданный час

English | 中文 | Español | Deutsch | Português | 日本語

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

schema

Обзор стратегии

  • Завершённые тридцатиминутные свечи поступают в SMA(8) и SMA(21), выдающие только сформированные значения. Решение не передаётся дальше, пока для одной свечи не готовы обе средние.
  • Бычий тренд означает SMA(8) > SMA(21), а медвежий — SMA(8) < SMA(21). При равных значениях действие не выполняется.
  • После подготовки значений тренда блок Time передаёт метку времени решения, а Converter извлекает из неё Hour. В пакете завершённой свечи эта метка совпадает с OpenTime, используемым правилом. Одноразовый Flag допускает ровно одно решение по этой свече, в том числе при синхронных событиях заявки.
  • Состояние, обновляемое исполнениями, хранит чистую позицию как -1, 0 или 1. Каждая из четырёх ветвей заранее готовит собственное следующее состояние и записывает его только после исполнения заявки этой ветви.
  • Каждое действие запускает задержку на восемь свечей. Последующие свечи с первой по седьмую заблокированы; восьмая последующая завершённая свеча уменьшает счётчик до нуля до проверки условий и снова может дать действие.

Правила входа и выхода

  • Плановое бычье действие: На свече с OpenTime.Hour, равным 12, бычий тренд при нулевой или короткой позиции отправляет рыночную покупку объёмом 1. Короткая позиция сокращается до нуля, а не переворачивается.
  • Плановое медвежье действие: В тот же час медвежий тренд при нулевой или длинной позиции отправляет рыночную продажу объёмом 1. Длинная позиция сокращается до нуля, а не переворачивается.
  • Выход вне заданного часа: При любом другом часе открытия медвежий тренд закрывает длинную позицию одной рыночной продажей, а бычий тренд закрывает короткую позицию одной рыночной покупкой. Новая позиция вне часа 12 не открывается.
  • Отдельного часа закрытия нет. Все четыре ветви требуют завершения задержки, и только истинная ветвь запускает свой независимый блок Modify position.

Параметры

Параметр Значение по умолчанию Описание
BTC Data Security BTCUSDT@BNBFT Инструмент для блоков Candles и Strategy trades. Для транзакций задайте Strategy Security тот же инструмент.
Candle Series 00:30:00 Интервал завершённых свечей и такт обновления индикаторов и задержки.
Fast SMA Length 8 Число завершённых свечей в быстрой простой скользящей средней.
Slow SMA Length 21 Число завершённых свечей в медленной простой скользящей средней.
Trade Hour 12 Допустимое значение поля OpenTime.Hour завершённой свечи для плановых действий входа.
Cooldown N 8 Самый ранний номер последующей завершённой свечи, на которой снова можно рассматривать действие.
Volume 1 Фиксированное количество каждой рыночной покупки или продажи.

Детали схемы

  • Variable BTC передаёт инструмент в построенные завершённые Candles и Strategy trades.
  • Два сформированных блока Indicator рассчитывают SMA(8) и SMA(21). Блоки Formula передают числовые значения в бычий и медвежий блоки Comparison.
  • Time по порядку выдаёт сохранённую позицию, заданный час, нулевой уровень, состояние задержки, свою метку времени в Converter часа и фиксированный объём. Последним он запускает хранилище готовности, поэтому каждый логический блок с пятью входами получает согласованный снимок одной свечи.
  • Одноразовый Flag подавляет повторный вход в логику при обработке синхронных событий транзакций. Четыре отдельных блока Modify position не позволяют ложной ветви забрать объём, подготовленный для истинной ветви.
  • Кандидаты плановой покупки и продажи равны позиция + 1 и позиция - 1, а оба кандидата выхода равны нулю. Кандидат попадает в состояние позиции только через выход MyTrade соответствующего Modify position.
  • Блок Delay получает каждую свечу до решений по этой же свече. Истинная ветвь действия сначала отмечает задержку недоступной и запускает N = 8, затем отправляет заявку. На графике показаны свечи, обе средние, исполненная позиция, четыре потока исполнений действий и все исполнения стратегии.

Использование

Импортируйте файл .json в Designer, задайте Strategy Security равным BTCUSDT@BNBFT, выберите портфель и запустите схему на тридцатиминутной истории. На встроенных мартовских данных с указанными значениями проверка дала 59 завершённых рыночных заявок и 59 исполнений без ошибок транзакций. Перед реальной торговлей проверьте часовой пояс свечей, поле часа, объём и работу задержки.