Стратегия следования за трендом криптовалюты на основе индикатора Seagull


Дата создания: 2024-01-19 17:40:52 Последнее изменение: 2024-01-19 17:40:52
Копировать: 0 Количество просмотров: 679
1
Подписаться
1617
Подписчики

Стратегия следования за трендом криптовалюты на основе индикатора Seagull

Обзор

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

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

Стратегия использует среднюю линию EMA на 50 и 100 циклов. В то же время, она рассчитывает линию шелка, которая является специальной линией, которая может фильтровать рыночный шум. Стратегия использует цены открытия, закрытия, максимума и минимума шелковой линии и применяет ее к линии EMA на 100 циклов, чтобы получить более точный торговый сигнал.

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

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

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

  • Использование криптовалютных индексов эффективно отфильтровывает шум, делая торговые сигналы более четкими и надежными.
  • Многоциклическая EMA в сочетании с показателем Seesaw позволяет идентифицировать более сильные средние и длинные тренды
  • Недостаток возможностей можно избежать, объединив несколько критериев.
  • Эта стратегия особенно подходит для криптовалютного рынка с высокой волатильностью.
  • Он может быть сконфигурирован только для выполнения нескольких стратегий, чтобы снизить операционный риск

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

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

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

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

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

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

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

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

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

//@version=4
//@SoftKill21
strategy(title="CRYPTO HA Strategy", shorttitle="CRYPTO HA Strategy", overlay=true , default_qty_type =strategy.percent_of_equity, default_qty_value =100, commission_type= strategy.commission.percent,commission_value =0.1 )


ma1_len = input(50)
ma2_len = input(100)

fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2020, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


//First Moving Average data
o = ema(open, ma1_len)
c = ema(close, ma1_len)
h = ema(high, ma1_len)
l = ema(low, ma1_len)

// === HA calculator ===
ha_t = heikinashi(syminfo.tickerid)
ha_o = security(ha_t, timeframe.period, o)
ha_c = security(ha_t, timeframe.period, c)
ha_h = security(ha_t, timeframe.period, h)
ha_l = security(ha_t, timeframe.period, l)

//Second Moving Average data

o2 = ema(ha_o, ma2_len)
c2 = ema(ha_c, ma2_len)
h2 = ema(ha_h, ma2_len)
l2 = ema(ha_l, ma2_len)

// === Color def ===
ha_col = o2 > c2 ? color.white : color.lime

sell = o2 > c2 and o2[1] < c2[1] and time_cond
buy = o2 < c2 and o2[1] > c2[1] and time_cond
plotshape(buy, color=color.green, text= "Buy", location= location.belowbar,style= shape.labelup, textcolor=color.white, size = size.tiny, title="Buy Alert",editable=false, transp=60)
plotshape(sell, color=color.red, text= "Sell", location= location.abovebar,style= shape.labeldown, textcolor=color.white, size = size.tiny, title="Sell Alert", editable=false, transp=60)

trendColor = buy ? color.red : sell ? color.green : na
plot( buy ? close: sell  ? close : na , color=trendColor, style=plot.style_line, linewidth=4, editable=false)



onlylong=input(true)
original=input(false)

if(onlylong)
    strategy.entry("long",1,when=buy)
    strategy.close("long",when=sell)
if(original)
    strategy.entry("long",1,when=buy)
    strategy.entry("short",0,when=sell)

sl = input(0.075)
strategy.exit("closelong", "long" , loss = close * sl / syminfo.mintick, alert_message = "sl point")
strategy.exit("closeshort", "short" , loss = close * sl / syminfo.mintick, alert_message = "sl point")