Super BitMoon Quantitative Momentum Trading Strategie


Erstellungsdatum: 2023-09-15 16:13:05 zuletzt geändert: 2023-09-15 16:13:05
Kopie: 1 Klicks: 674
1
konzentrieren Sie sich auf
1617
Anhänger

Die Strategie, die als Super BitMoon bezeichnet wird, ist eine kurzfristige quantitative dynamische Handelsstrategie für Bitcoin. Die Strategie verfügt über die Fähigkeit, sowohl zu kaufen als auch zu verkaufen, und kann bei einem Durchbruch der kritischen Unterstützungs- oder Widerstandspunkte für Bitcoin gehandelt werden.

Wie funktioniert die Strategie:

  1. Der ATR-Indikator wird verwendet, um die jüngste Bandbreite und den Stop-Loss zu berechnen. Wenn der Preis den Stop-Loss einer K-Linie überschreitet, wird dies als Trendwende beurteilt.
  2. Um zu beurteilen, ob Bitcoin überkauft oder überverkauft ist, verwenden Sie den gewichteten Moving Average WVF und den Bollinger Bands. Wenn ein Bollinger Band unter dem WVF auf die Strecke kommt, was darauf hindeutet, dass der Markt möglicherweise überverkauft ist, können Sie mehr tun.
  3. Der RSI-Indikator wird verwendet, um zu beurteilen, ob Bitcoin überverkauft ist. Wenn der RSI unter zwei Überverkaufslinien liegt, kann ein Überverkauf durchgeführt werden.

Konkrete Handelsstrategien:

  1. Wenn der WVF unter dem Brin-Streifen läuft und der Preis über dem ATR-Stopppreis liegt, gibt es mehr Bitcoins.
  2. Wenn der RSI unter 50 oder 30 liegt, kann man Bitcoin kurzfristig verkaufen.

Die Vorteile dieser Strategie sind:

  1. Es gibt auch mehrere Forex-Funktionen, die in beide Richtungen handeln können.
  2. Mit dem ATR-Stopp können Risiken kontrolliert und Verluste vermieden werden.
  3. Die WVF, Brin-Band und RSI-Indikatoren werden verwendet, um die Signalgenauigkeit zu verbessern.

Die Risiken dieser Strategie:

  1. Die falsche Einstellung der Brin-Band- und RSI-Parameter kann zu falschen Signalen führen.
  2. Ein unerwarteter Anstieg oder Sprung des Preises kann dazu führen, dass ein Stop-Loss ausgelöst wird.
  3. Die Gebühren für die Transaktionen beeinflussen die Gewinne.

Zusammenfassend ist Super BitMoon eine quantitativ-dynamische Strategie, die sich hervorragend für Short-Line-Indicatorscombos eignet, aber auch die Eigenschaften von Trend-Tracking und Reverse-Trading aufweist. Mit einer vernünftigen Parameteroptimierung ist es möglich, ein besseres Risiko-Gewinn-Verhältnis zu erzielen.

Strategiequellcode
/*backtest
start: 2023-09-07 00:00:00
end: 2023-09-08 09:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Super BitMoon v1", overlay=false, commission_value = 0.25, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)

/////////////////////////////////////////////////////////////
//START - SET DATE RANGE

// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2011, title = "From Year")
ToMonth   = input(defval = 12, title = "To Month", minval = 1)
ToDay     = input(defval = 31, title = "To Day", minval = 1)
ToYear    = input(defval = 2018, title = "To Year")

startDate = time > timestamp(FromYear, FromMonth, FromDay, 00, 00)
endDate = time < timestamp(ToYear, ToMonth, ToDay, 23, 59)
withinTimeRange = true

/////////////////////////////////////////////////////////////
//END - SET DATE RANGE



/////////////////////////////////////////////////////////////
//START - INDICATORS

//ATR STOPS TREND FILTER
length = input(5, title="ATR Stop's Length")
mult = input(1, minval=0.01, title="ATR Stop's Multiple")
atr_ = atr(length)
max1 = max(nz(max_[1]), close)
min1 = min(nz(min_[1]), close)
is_uptrend_prev = nz(is_uptrend[1], true)
stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_
vstop_prev = nz(vstop[1])
vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend = close - vstop1 >= 0
is_trend_changed = is_uptrend != is_uptrend_prev
max_ = is_trend_changed ? close : max1
min_ = is_trend_changed ? close : min1
vstop = is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1

//SYNTHETIC VIX
pd = input(10, title="Synthetic VIX's Length")
bbl = input(2, title="Synthetic VIX's Bollinger Band's Length")
mult2 = input(0.01, minval=0.01, title="Synthetic VIX's Bollinger Band's Std Dev")
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult2 * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
upperBand = midLine + sDev

//RSI
rsi = rsi(close, input(10,title="RSI's Length"))
os1 = input(50,title="RSI's Oversold Level 1")
os2 = input(50,title="RSI's Oversold Level 2")

/////////////////////////////////////////////////////////////
//END - INDICATORS



/////////////////////////////////////////////////////////////
//START - TRADING RULES
direction = input(defval=1, title = "Strategy Direction", minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

condition1 = crossunder(wvf, upperBand) and close > vstop and withinTimeRange
condition2 = crossunder(rsi, os1) and withinTimeRange
condition3 = crossunder(rsi, os2) and withinTimeRange

strategy.entry("BUY", strategy.long, when = condition1)
strategy.entry("SELL", strategy.short, when = condition2 or condition3)

/////////////////////////////////////////////////////////////
//END - TRADING RULES