Стратегия кроссовера разрушения двойной скользящей средней и прорыва уровня давления


Дата создания: 2024-01-31 14:34:16 Последнее изменение: 2024-01-31 14:34:16
Копировать: 1 Количество просмотров: 613
1
Подписаться
1617
Подписчики

Стратегия кроссовера разрушения двойной скользящей средней и прорыва уровня давления

Обзор

Эта стратегия использует технологию скрещивания двойных движущихся средних и технологию прорыва давления, устанавливает сигналы покупки и продажи, реализует автоматическую торговлю. Когда краткосрочная средняя линия снизу вверх прорывает среднесрочную среднюю линию, и цена акции прорывает давление, создается сигнал покупки; когда цена акций повышается на 15%, устанавливается стоп-стоп, а при падении на 3% устанавливается стоп-стоп.

Стратегический принцип

Эта стратегия создает торговые сигналы, основанные на следующих технических показателях и условиях:

  1. Двухлинейный пересекающий метод: вычисление 20- и 44-дневных простых движущихся средних, которые, когда 20-дневная средняя линия пересекает 44-дневную среднюю линию, рассматриваются как рынок в восходящем тренде и генерируют сигнал к покупке.

  2. Техника прорыва уровня давления: на графике показано, что цена акции несколько раз приближалась к этому уровню, но не смогла его преодолеть. Это место называется “ударным”. Когда цена акции успешно прорывает уровень давления, это указывает на то, что цена вступает в новую стадию роста.

  3. RSI: относительно сильный индекс, который определяет, является ли рынок перекупленным или перепроданным. Эта стратегия устанавливает сигнал о перекупе, когда 14-дневный RSI больше 50.

  4. Анализ объемов сделок: объем сделок, превышающий средний объем сделок за последние 10 дней, свидетельствует о более сильной позиции покупки или продажи.

  5. Сигнал покупки: Сигнал покупки возникает, если краткосрочная средняя линия проходит среднесрочную среднюю линию и цена акций пробивает давление, рынок находится в состоянии перекупа, а объем торгов выше среднего объема торгов за последние 10 дней.

  6. Сигнал продажи: установка стандарта “стоп-стоп-лосс”, если цена акции повысится на 15% по сравнению с ценой покупки, то она будет остановлена; если она снизится на 3%, то она будет остановлена.

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

Стратегические преимущества

  1. Использование однородной техники для определения структуры рынка позволяет стабильно улавливать тенденции рынка;

  2. объединение анализа объемов сбыта, чтобы избежать открытия позиций в фальшивых прорывах с несовместимыми объемами сбыта;

  3. Установка механизма сдерживания, сдерживания и выхода из сделки позволяет контролировать риск-прибыль в отдельных сделках, чтобы избежать увеличения убытков;

  4. В целом, эта стратегия, которая позволяет точно оценивать структуру рынка, строгие правила торговли и контроль риска, является эффективной количественной стратегией.

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

  1. Двухлинейная торговая система более чувствительна к параметрам, которые требуют корректировки в разные периоды времени;

  2. Стратегии, основанные на простом отслеживании тенденций, не способны реагировать на неожиданные события, такие как неизбежные остановки при значительных прибылях и убытках;

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

  4. В долгосрочной перспективе технические индикаторы часто появляются уже после того, как рынок перевернулся.

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

  1. Можно использовать метод оптимизации параметров для поиска оптимальной комбинации параметров двойной средней линии, оптимизируя уровень стоп-стоп-убытков;

  2. Добавление других показателей, таких как диапазон скорректировки по Брин-Бенду и MACD, чтобы улучшить время подачи сигнала;

  3. Повышение уровня фундаментальных или новостных суждений, чтобы избежать ущерба от значительных негативных новостей;

  4. Оптимизация стратегий управления капиталом, таких как торговля фиксированным количеством, торговля фиксированной долей капитала и т. д., чтобы контролировать риски.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Advanced Strategy with Conditional Stop Loss", overlay=true)

// Parameters
ma_length_20 = 20
ma_length_44 = 44
ma_length_100 = 100
rsi_length = 14
volume_length = 10
profit_target = 1.15 // 15% above the buy price
stop_loss_target = 0.97 // 3% below the buy price
wait_candles = 10 // Number of candles to wait after selling, unless MA cross condition met

// Indicators
moving_average_20 = ta.sma(close, ma_length_20)
moving_average_44 = ta.sma(close, ma_length_44)
moving_average_100 = ta.sma(close, ma_length_100)
rsi = ta.rsi(close, rsi_length)
volumeAvg = ta.sma(volume, volume_length)

// Variables to manage the wait period after a sell
var int last_sell_candle = 0

// Update last sell candle
if (strategy.position_size[1] > 0 and strategy.position_size == 0)
    last_sell_candle := bar_index

// Trend identification
uptrend = close > moving_average_20
above_ma20_by_1_percent = close > moving_average_20 * 1.01
ma_cross = ta.crossover(moving_average_20, moving_average_44) or ta.crossunder(moving_average_20, moving_average_44)
close_near_high = (close >= high * 0.993) and (close <= high)

// Buy condition (only in uptrend, above 1% from 20-day MA, and respecting new filter)
can_buy_after_cross = ma_cross and close > high[1]
can_buy_after_wait = (bar_index - last_sell_candle) > wait_candles
buy_condition = (can_buy_after_cross or can_buy_after_wait) and uptrend and above_ma20_by_1_percent and close > moving_average_44 and close > moving_average_100 and close > high[1] and rsi > 50 and volume > volumeAvg and not close_near_high

// Entry
if (buy_condition and strategy.position_size == 0)
    strategy.entry("Buy", strategy.long)

// Exit conditions
if (strategy.position_size > 0)
    // Profit target
    profit_level = strategy.position_avg_price * profit_target
    strategy.exit("Take Profit", "Buy", limit=profit_level)

    // Dynamic Stop Loss - Check on every bar if the price has dropped 3% below the buy price
    stop_loss_level = strategy.position_avg_price * stop_loss_target
    if (low < stop_loss_level)
        strategy.close("Buy", comment="Stop Loss")

// Plotting
plot(moving_average_20, color=color.green, title="20-Day Moving Average")
plot(moving_average_44, color=color.blue, title="44-Day Moving Average")
plot(moving_average_100, color=color.red, title="100-Day Moving Average")