Стратегия двойного разрыва биткоина и золота

Автор:Чао Чжан, Дата: 2024-01-23 15:28:56
Тэги:

img

Обзор

Стратегия Double Gap - это количественная стратегия, используемая для краткосрочной торговли биткоином и золотом. Она сочетает в себе скользящие средние, полосы Боллинджера и остановки ATR для выявления сигналов прорыва и управления риском.

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

Стратегия Double Gap использует быструю EMA и медленные перекрестки EMA для определения направления тренда. Сигнал покупки генерируется, когда быстрая EMA пересекает более медленной EMA, а сигнал продажи генерируется, когда быстрая EMA пересекает ниже медленной EMA. Чтобы избежать ложных прорывов, стратегия требует, чтобы перекресток происходил вблизи верхних или средних полос Боллинджера.

В частности, для определения сигнала покупки должны быть выполнены оба следующих условия: 1) быстрая EMA пересекает медленную EMA; 2) цена закрытия близка или ниже верхних или средних полос Боллинджера. Суждение о сигнале продажи аналогично.

Кроме того, стратегия Double Gap использует индикатор ATR для расчета динамического стоп-лосса для контроля риска каждой сделки.

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

  • Определяет высокую вероятность прорывов с использованием двойных фильтров
  • Быстрый перекресток EMA оценивает основную тенденцию, ленты Боллинджера фильтруют ложные прорывы
  • Динамическая остановка ATR эффективно контролирует риски единой торговли
  • Подходит для краткосрочной торговли высоковолатильными продуктами, такими как BTC

Риски

  • Неправильные параметры быстрого и медленного EMA могут приводить к чрезмерным ложным сигналам
  • Неуместные параметры полос Боллинджера также значительно снизят эффективность фильтрации.
  • Стойка потерь, установленная слишком близко, увеличивает вероятность ее запуска.
  • Требуется высокая частота торговли, не подходит для небольших счетов

Оптимизация

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

  1. Оптимизировать параметры скользящей средней для поиска лучших комбинаций быстрой и медленной EMA
  2. Оптимизировать параметры полос Боллинджера для сокращения ложных показателей прорыва
  3. Корректировка множителя остановки ATR в соответствии с различными продуктами и рыночными режимами
  4. Добавить сигнал повторного входа после остановки
  5. Комбинируйте с другими показателями, такими как RSI, KD и т.д., как подтверждение.

Заключение

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


/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
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/
// © singhak8757

//@version=5
strategy("Bitcoin and Gold 5min Scalping Strategy2.0", overlay=true)


// Input parameters
fastLength = input(5, title="Fast EMA Length")
slowLength = input(13, title="Slow EMA Length")
bollingerLength = input(20, title="Bollinger Band Length")
bollingerMultiplier = input(2, title="Bollinger Band Multiplier")
stopLossMultiplier = input(1, title="Stop Loss Multiplier")

// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)

// Calculate Bollinger Bands
basis = ta.sma(close, bollingerLength)
upperBand = basis + bollingerMultiplier * ta.stdev(close, bollingerLength)
lowerBand = basis - bollingerMultiplier * ta.stdev(close, bollingerLength)

// Buy condition
buyCondition = ta.crossover(fastEMA, slowEMA) and (close <= upperBand or close <= basis)

// Sell condition
sellCondition = ta.crossunder(fastEMA, slowEMA) and (close >= lowerBand or close >= basis)

// Calculate stop loss level
stopLossLevel = ta.lowest(low, 2)[1] - stopLossMultiplier * ta.atr(14)

// Plot EMAs
plot(fastEMA, color=color.rgb(0, 156, 21), title="Fast EMA")
plot(slowEMA, color=color.rgb(255, 0, 0), title="Slow EMA")

// Plot Bollinger Bands
plot(upperBand, color=color.new(#000000, 0), title="Upper Bollinger Band")
plot(lowerBand, color=color.new(#1b007e, 0), title="Lower Bollinger Band")

// Plot Buy and Sell signals
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)

// Plot Stop Loss level
plot(stopLossLevel, color=color.orange, title="Stop Loss Level")

// Strategy logic
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Stop Loss/Close", from_entry="Buy", loss=stopLossLevel)
strategy.close("Sell", when = sellCondition)


Больше