Короткая стратегия MACD медвежьего рынка

Автор:Чао Чжан, Дата: 14 сентября 2023 года 18:04:28
Тэги:

Логика стратегии

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

Логика такова:

  1. Расчет коротких, длинных и гистограммных линий MACD

  2. Медленный перекресток MACD сигнализирует о потенциальном нисходящем тренде

  3. Цена ниже 450-дневного MA подтверждает долгосрочный спад

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

  5. Приобретение прибыли на 8% ниже входной цены

  6. Стоп-лосс установлен на уровне 4% выше входной цены

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

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

  • MACD сигнализирует о краткосрочном потенциале снижения

  • Длинный фильтр MA позволяет избежать реверсий короткого хода

  • Соотношение прибыли/убытка 2:1 контролирует риск

Риски

  • Требует настройки параметров MACD

  • Длинная МА, склонная к отставанию сигналов

  • ШОРТ просто упускает длинные возможности.

Резюме

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


/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=5
strategy("Shorting Bearish MACD Cross with Price Below EMA 450 (By Coinrule)", overlay=true, initial_capital = 10000, default_qty_value = 30, default_qty_type = strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.1)

// EMAs 
slowEMA = ta.ema(close, 450)

// MACD
[macdLine, signalLine, histogramLine] = ta.macd(close, 11, 26, 9)

// Conditions
goShortCondition1 = ta.crossunder(macdLine, signalLine)
goShortCondition2 = slowEMA > close

timePeriod = time >= timestamp(syminfo.timezone, 2021, 12, 1, 0, 0)
notInTrade = strategy.position_size <= 0
strategyDirection = strategy.direction.short

if (goShortCondition1 and goShortCondition2 and timePeriod and notInTrade)
    stopLoss = high * 1.04
    takeProfit = low * 0.92
    strategy.entry("Short", strategy.short)
    strategy.exit("exit","Short", stop=stopLoss, limit=takeProfit)
    
plot(slowEMA, color=color.green)


Больше