Стратегия «Золотой крест» и «Крест смерти», основанная на скользящей средней


Дата создания: 2024-01-29 16:02:08 Последнее изменение: 2024-01-29 16:02:08
Копировать: 0 Количество просмотров: 592
1
Подписаться
1617
Подписчики

Стратегия «Золотой крест» и «Крест смерти», основанная на скользящей средней

Обзор

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

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

Стратегия включает в себя 3 движущихся средних: короткосрочную простую движущуюся среднюю, среднесрочную весовую и долгосрочную показательную. В частности, они включают в себя SMA длиной 1, WMA длиной 20 и EMA длиной 25.

Когда краткосрочная линия SMA проходит среднюю линию WMA, а цена закрытия выше линии WMA, это означает, что рынок перевернулся снизу вверх, образуя многоголовый сигнал; когда краткосрочная линия SMA проходит среднюю линию WMA или цена закрытия ниже линии WMA, это означает пустой сигнал. Таким образом, эта стратегия определяет многоголовое состояние рынка, сравнивая высокие, низкие и перекрестные ситуации трех средних линий.

Анализ преимуществ

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

Анализ рисков

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

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

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

Эта стратегия может быть оптимизирована в следующих аспектах:

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

  2. Факторы, увеличивающие объем продаж, такие как прорыв в объеме продаж

  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("EMA Candle Close Strategy KHANH 11/11/2023", overlay=true, initial_capital=100, commission_type=strategy.commission.percent, commission_value=0.0000005, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len1 = input.int(1, title="SMA #1 Length", minval=1)
src1 = input(close, title="SMA Source #1")
out1 = ta.sma(src1, len1)
plot(out1, title="SMA #1", color=close >= out1 ? color.rgb(120, 123, 134, 100) : color.rgb(120, 123, 134, 100), linewidth=1)

len2 = input.int(20, title="HMA #2 Length", minval=1)
src2 = input(close, title="HMA Source #2")
out2 = ta.hma(src2, len2)
plot(out2, title="HMA #2", color=close >= out2 ? color.rgb(253, 255, 254, 100) : color.rgb(255, 255, 255, 100), linewidth=1)

len3 = input.int(25, title="EMA #3 Length", minval=1)
src3 = input(close, title="EMA Source #3")
out3 = ta.ema(src3, len3)
plot(out3, title="EMA #3", color=close >= out3 ? color.blue : color.blue, linewidth=1)

// Define the long condition
longCondition = (out1 > out2 and close > out2)

// Define the short condition
shortCondition = (out1 < out2 or close < out2)

// Entry conditions
if (longCondition)
    strategy.entry("Long",strategy.long)
else if (shortCondition)
    strategy.entry("Short", strategy.short)

// Trade channel plot
PeriodLookBack = input(55, title="Period Look Back")
xHighest55 = request.security(syminfo.tickerid, timeframe.period, ta.highest(PeriodLookBack))
xLowest55 = request.security(syminfo.tickerid, timeframe.period, ta.lowest(PeriodLookBack))
plot(xHighest55[1], color=color.red, title="HH")
plot(xLowest55[1], color=color.green, title="LL")



//@version=5
//indicator("Custom Moving Averages", shorttitle="CMA", overlay=true)

shortLength = input(defval=40, title="Short Length")
longLength = input(defval=80, title="Long Length")

// Sử dụng khung thời gian của biểu đồ đang sử dụng thay vì cố định là "D"
shortTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, shortLength))
shortBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, shortLength))

longTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, longLength))
longBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, longLength))

shortAverageLine = (shortTopBorder + shortBottomBorder) / 2
longAverageLine = (longTopBorder + longBottomBorder) / 2

plot(shortAverageLine, color=color.new(#fc0000, 0))
plot(longAverageLine, color=color.new(#01ff27, 0))