В процессе загрузки ресурсов... загрузка...

Торговая система с прорывом разрыва по тренду с фильтром SMA

Автор:Чао Чжан, Дата: 2024-11-29 15:07:43
Тэги:ГАПSMAМ.А.

img

Обзор

Это система торговли, основанная на ценовых разрывах и фильтрации скользящих средних. Стратегия улавливает трендовые возможности путем выявления статистически значимых ценовых разрывов в сочетании с фильтрами тренда SMA, выполняя сделки, когда появляются четкие рыночные тенденции.

Принципы стратегии

Стратегия основана на нескольких ключевых элементах:

  1. Определение разрыва - Система определяет разрывы путем расчета процентной разницы между начальной ценой и предыдущей ценой закрытия, с минимальным порогом разрыва для отфильтрации незначительных колебаний.
  2. Направленный выбор - предлагает несколько режимов торговли разрывом (длинные разрывы вверх, короткие разрывы вниз и т. д.), что позволяет пользователям адаптироваться к рыночным условиям.
  3. Простая скользящая средняя для определения общей тенденции, вводя позиции только тогда, когда цена соответствует направлению тренда.
  4. Управление позициями - использует заранее установленные периоды хранения для управления позициями и контроля рисков.

Преимущества стратегии

  1. Ясные сигналы - сигналы пробелов визуально отчетливы и легко идентифицируются и выполняются.
  2. Контролируемый риск - минимальные пороги разрыва и фиксированные периоды хранения эффективно управляют риском.
  3. Высокая гибкость - на основе рыночных условий можно выбрать различные направления торговли.
  4. Подтверждение тренда - фильтр SMA обеспечивает дополнительное подтверждение тренда, улучшая уровень успеха.
  5. Высокая автоматизация - четкая логика стратегии облегчает автоматизированную реализацию торговли.

Стратегические риски

  1. Риск ложного прорыва - пробелы могут быстро заполниться, что приводит к ложным сигналам.
  2. Риск скольжения - открытие сделок с разрывом может привести к значительному скольжению.
  3. Риск переворота тренда - фиксированные периоды хранения могут пропустить перевороты тренда.
  4. Зависимость от рыночной среды - меньше эффективных сигналов на рынках с низкой волатильностью.

Направления оптимизации стратегии

  1. Динамический период хранения - корректировка времени хранения на основе волатильности рынка.
  2. Многократное подтверждение - включить показатели объема и волатильности для подтверждения сигнала.
  3. Оптимизация сдерживания потерь - добавление остановок или остановок на основе волатильности.
  4. Гранификация сигнала - проектирование размеров позиций на основе размера разрыва.
  5. Выбор рынка - Разработка механизмов определения рыночных условий для выборочной торговли.

Резюме

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Simplified Gap Strategy with SMA Filter", overlay=true)

// Input fields for user control
long_gap_threshold = input.float(0.1, title="Gap Threshold (%)", minval=0.01, step=0.01)  // Minimum percentage for gaps
hold_duration = input.int(10, title="Hold Duration (bars)", minval=1)  // Duration to hold the position
gap_trade_option = input.string("Long Up Gap", title="Select Trade Option", options=["Long Up Gap", "Short Down Gap", "Short Up Gap", "Long Down Gap"])  // Combined option
use_sma_filter = input.bool(false, title="Use SMA Filter")  // Checkbox to activate SMA filter
sma_length = input.int(200, title="SMA Length", minval=1)  // Length of the SMA

// RGB color definitions for background
color_up_gap = color.new(color.green, 50)    // Green background for up gaps
color_down_gap = color.new(color.red, 50)    // Red background for down gaps

// Gap size calculation in percentage terms
gap_size = (open - close[1]) / close[1] * 100  // Gap size in percentage

// Calculate gaps based on threshold input
up_gap = open > close[1] and gap_size >= long_gap_threshold  // Long gap condition
down_gap = open < close[1] and math.abs(gap_size) >= long_gap_threshold  // Short gap condition

// Calculate the SMA
sma_value = ta.sma(close, sma_length)

// Define the trading logic based on selected option and SMA filter
if (gap_trade_option == "Long Up Gap" and up_gap and (not use_sma_filter or close > sma_value))
    strategy.entry("Long", strategy.long)
if (gap_trade_option == "Short Down Gap" and down_gap and (not use_sma_filter or close < sma_value))
    strategy.entry("Short", strategy.short)
if (gap_trade_option == "Short Up Gap" and up_gap and (not use_sma_filter or close < sma_value))
    strategy.entry("Short", strategy.short)
if (gap_trade_option == "Long Down Gap" and down_gap and (not use_sma_filter or close > sma_value))
    strategy.entry("Long", strategy.long)

// Exit position after the hold duration
if (strategy.opentrades > 0)
    if (bar_index - strategy.opentrades.entry_bar_index(0) >= hold_duration)
        strategy.close("Long")
        strategy.close("Short")

// Background coloring to highlight gaps on the chart
bgcolor((gap_trade_option == "Long Up Gap" and up_gap) ? color_up_gap : na, title="Up Gap Background")
bgcolor((gap_trade_option == "Short Down Gap" and down_gap) ? color_down_gap : na, title="Down Gap Background")
bgcolor((gap_trade_option == "Short Up Gap" and up_gap) ? color_down_gap : na, title="Short Up Gap Background")
bgcolor((gap_trade_option == "Long Down Gap" and down_gap) ? color_up_gap : na, title="Long Down Gap Background")

// Plot the SMA for visualization
plot(use_sma_filter ? sma_value : na, color=color.white, title="SMA", linewidth=1)


Связанные

Больше