Handelsstrategie für Oszillationsmärkte, die MACD- und RSI-Indikatoren kombinieren

Schriftsteller:ChaoZhang, Datum: 2023-09-13 15:14:43
Tags:

Diese Strategie trägt den Namen Trading Strategy for Oscillating Markets Combining MACD and RSI Indicators. Sie ist speziell für die jüngsten oscillierenden und sich entwickelnden Krypto-Märkte konzipiert und erzeugt Handelssignale durch Integration des Trendindikators MACD und des Momentum-Oszillators RSI.

Der MACD ist der gleitende Durchschnittskonvergenzdivergenzindikator, der Markttrends und -umkehrungen beurteilt.

RSI ist der relative Stärke-Index, der überkaufte und überverkaufte Bedingungen misst. RSI über 50 deutet auf einen überkauften Zustand hin, während unter 50 überverkauft ist. Diese Strategie verwendet RSI, um einige laute Signale vom MACD zu filtern.

Die Handelslogik ist wie folgt:

Wenn der MACD-Crossover mit dem Überschreiten der schnellen Linie über der langsamen Linie stattfindet, deutet dies darauf hin, dass sich der kurzfristige Trend von unten nach oben ändert, aber ein Kaufsignal wird nur bestätigt, wenn der RSI auf niedrigen Niveaus (unterhalb des vorgegebenen Parameters) liegt, um Whipsaws in überkauften Zonen zu vermeiden.

Wenn der MACD-Crossover mit dem Überschreiten der schnellen Linie unterhalb der langsamen Linie stattfindet, signalisiert er die Umkehr des kurzfristigen Trends von oben nach unten, aber ein Verkaufssignal wird nur bestätigt, wenn der RSI hohe Werte erreicht (über dem vorgegebenen Parameter), um Whipsaws in Überverkaufszonen zu vermeiden.

Diese Strategie eignet sich für die aktuellen schwankenden und schwankenden Kryptomärkte, um Umkehrmöglichkeiten bei Höhen und Tiefen für Gewinne zu erfassen.

Die Kombination von MACD und RSI kann die Effektivität der Strategie für schwankende Märkte verbessern.


/*backtest
start: 2022-09-06 00:00:00
end: 2023-03-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Range Strat - MACD/RSI", 
     overlay=true,
     default_qty_type=strategy.percent_of_equity,
     default_qty_value=100, precision=2, initial_capital=100,
     pyramiding=2,
     commission_value=0.05)

// Make input options that configure backtest date range
startDate = input(title="Start Date", defval=13)
startMonth = input(title="Start Month", defval=6)
startYear = input(title="Start Year", defval=2022)

endDate = input(title="End Date", defval=1)
endMonth = input(title="End Month", defval=7)
endYear = input(title="End Year", defval=2200)

// Look if the close time of the current bar
// falls inside the date range
inDateRange = (time >= timestamp(syminfo.timezone, startYear,
         startMonth, startDate, 0, 0)) and
     (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))

// RSI Settings
length = input( 14 )
overSold = input( 55 )
overBought = input( 50 )
price = open
vrsi = ta.rsi(price, length)
cu = (vrsi <= overSold)
co = (vrsi >= overBought)

//MACD Settings
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ta.ema(open, fastLength) - ta.ema(open, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD
MACDco = ta.crossover(delta, 0)
MACDcu = ta.crossunder(delta, 0)

// Strategy Entry
if (not na(vrsi))
	if (inDateRange and MACDco and cu)
		strategy.entry("LONG", strategy.long, comment="LONG")
	if (inDateRange and MACDcu and co)
		strategy.entry("SHORT", strategy.short, comment="SHORT")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)



Mehr