Die Ressourcen sind geladen. Beförderung...

Steigerung der Zinsspanne

Schriftsteller:ChaoZhang, Datum: 2023-12-12 10:26:21
Tags:

img

Übersicht

Dies ist eine langfristige Kryptowährungs-Trendstrategie, die gleitenden Durchschnitt, Relative Strength Index (RSI) und Marktkorrelation kombiniert, um mittelfristige bis langfristige Preistrends zu identifizieren, Positionen zu etablieren, wenn Trends beginnen, sich entlang der Trends zu pyramidieren, und Gewinn zu machen, wenn Trendumkehrsignale entdeckt werden.

Strategie Logik

Die Strategie basiert hauptsächlich auf drei Indikatoren:

  1. Relative Strength Index (RSI): Identifiziert Überkauf- und Überverkaufszustände.

  2. Einfacher gleitender Durchschnitt (SMA): 9-tägiger SMA des Schlusskurses zur Bestimmung der Trendrichtung.

  3. Marktkorrelation: Um die Korrelation mit dem Handelsinstrument zu berechnen, wird die Gesamtkryptokapitalisierung als Benchmark verwendet, wobei die ursprünglichen Balken durch Korrelationsbalken ersetzt werden, um die Signalqualität zu verbessern.

Insbesondere gelten folgende Handelsregeln:

Long-Entry: Wenn der RSI über 51 liegt und der Schlusskurs über der 9-Tage-SMA liegt.

Kurzer Einstieg: Wenn der RSI unter 49 fällt und der Schlusskurs unter der 9-Tage-SMA liegt.

Gewinn/Stop-Loss: 1%/0,1% für Longs, 0,05%/0,03% für Shorts.

Es gibt auch eine zeitliche Bedingung zur Begrenzung des Handelszeitraums.

Analyse der Vorteile

  1. Durch die Kombination von Trend- und Überkauf-/Überverkaufsindikatoren lassen sich mittelfristige und langfristige Trends effektiv verfolgen.

  2. Marktkorrelation verbessert die Signalqualität und verhindert falsche Trends.

  3. Eine angemessene Gewinnnahme und ein angemessener Stop-Loss verhindern größere Verluste.

  4. Der anpassbare Handelszeitraum passt sich den unterschiedlichen Marktbedingungen an.

Risikoanalyse

  1. Wirkungslos auf kurzfristigen volatilen Märkten.

  2. Eine Umkehrung des Benchmarks kann zu verzögerten Exits bei Handelsinstrumenten führen.

  3. Verpasst potenziell Umkehrmöglichkeiten, wenn er nur Longs/Shorts macht.

Lösungen:

  1. Hinzufügen von kurzfristigen Indikatoren, z. B. KC, BOLL für Marktregime und Stops.

  2. Verbesserung der Benchmark-Analyse für rechtzeitige Ausstiege.

  3. Handel mit doppelseitigen Instrumenten, um Umkehrungen zu erfassen.

Optimierungsrichtlinien

  1. Parameter-Ausrichtung auf RSI, SMA, Gewinnentnahme/Stop-Loss auf der Grundlage von Marktstatistiken.

  2. Beurteilen Sie mehr Kombinationen von Benchmark/Handel mit höherer Korrelation und Liquidität.

  3. Kombination mit anderen Strategien, wobei diese für mittelfristige bis langfristige Beteiligungen verwendet wird.

Schlussfolgerung

Dies ist eine optimierte und weit verbreitete mittelfristige und langfristige Kryptowährungs-Trend-Folge-Strategie. Sie kombiniert effektiv Trend-, Momentum- und Korrelationsanalyse, um Handelsentscheidungen zu verbessern.


/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 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/
// © exlux99

//@version=4
strategy(title = "Crypto swing correlation", overlay = true,  pyramiding=1,initial_capital = 1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)

//time
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 = 2010, 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 = 2021, title = "To Year", minval = 1970)

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

useCorrelation    = input(true, title="Use Correlation candles?")

symbol = input("BTC_USDT:swap", type=input.symbol)

haClose = useCorrelation ? security(symbol, timeframe.period, close) : close
haOpen  = useCorrelation ? security(symbol, timeframe.period, open) : open
haHigh  = useCorrelation ? security(symbol, timeframe.period, high) : high
haLow   = useCorrelation ? security(symbol, timeframe.period, low) : low

length = input( 50 )
overSold = input( 51 )
overBought = input( 49 )

s = input(title="Source", defval="haClose", options=["haClose", "haOpen", "haHigh", "haLow"])

price = s == "haClose" ? haClose: s == "haOpen" ? haOpen : s == "haHigh" ? haHigh : s == "haLow" ? haLow : na

len = input(8, "Length Moving average", minval=1)
src = price
ma = sma(src, len)


vrsi = rsi(price, length)
long = crossover(vrsi, overSold) and time_cond and price > ma
short = crossunder(vrsi, overBought) and time_cond and price < ma


takeProfit_long=input(1.0, step=0.005)
stopLoss_long=input(0.1, step=0.005)
takeProfit_short=input(0.05, step=0.005)
stopLoss_short=input(0.03, step=0.005)

strategy.entry("long",1,when=long)
strategy.entry("short",0,when=short)

strategy.exit("short_tp/sl", "long", profit=close * takeProfit_long / syminfo.mintick, loss=close * stopLoss_long / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closeshort')
strategy.exit("short_tp/sl", "short", profit=close * takeProfit_short / syminfo.mintick, loss=close * stopLoss_short / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')


Mehr