EMA200 und Stochastische RSI-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-09-06 11:28:53
Tags:

EMA200 und Stochastische RSI-Strategie

Diese Strategie ist eine Kombination aus dem exponentiellen gleitenden Durchschnitt (EMA) und dem stochastischen Relativen Stärkeindex (RSI).

Wie die Strategie funktioniert

Die Strategie verwendet folgende Bedingungen, um Eingangssignale zu erzeugen:

Langer Eintrag: Der Preis liegt über der EMA200. Der stochastische RSI liegt unter 20 und hat den RSI überschritten. Die aktuelle Kerze ist eine höhere Kerze. Der aktuelle Kerzenkörper ist mindestens 5% größer als der vorherige. Kurzer Eintrag: Der Kurs liegt unterhalb der EMA200. Der Stochastic RSI liegt über 80 und ist unter dem RSI gefallen. Die aktuelle Kerze ist eine niedrigere, niedrige Kerze. Der aktuelle Kerzenkörper ist mindestens 5% kleiner als der vorherige. Vorteile der Strategie

Die Strategie bietet eine Reihe von potenziellen Vorteilen, darunter:

Der EMA und der Stochastic RSI werden beide von den Händlern weit verbreitet und haben eine lange Erfolgsgeschichte. Es ist relativ einfach zu verstehen und umzusetzen. Die Strategie hat eine begrenzte Anzahl von Parametern, so dass es für Trader aller Erfahrungsniveaus leicht zu verstehen und zu verwenden ist. Sie ist flexibel und kann unter unterschiedlichen Marktbedingungen verwendet werden. Risiken der Strategie

Wie bei jeder Handelsstrategie gibt es auch einige potenzielle Risiken, die mit der Verwendung der EMA200- und Stochastic RSI-Strategie verbunden sind, einschließlich:

Die Strategie basiert auf historischen Daten und es gibt keine Garantie, dass sie in Zukunft rentabel ist. Die Strategie kann anfällig für Whipsaw sein, wenn sich der Preis eines Vermögenswertes schnell in beide Richtungen bewegt, was zu Verlusten führen kann. Die Strategie kann volatil sein, was bedeutet, dass ein großes Verlustrisiko besteht. Schlussfolgerung

Die EMA200- und Stochastic-RSI-Strategie ist eine relativ einfache und effektive Handelsstrategie, die von Händlern aller Erfahrungsstufen verwendet werden kann.


/*backtest
start: 2022-08-30 00:00:00
end: 2023-09-05 00:00:00
period: 1h
basePeriod: 15m
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/
// © eaglezou1006

//@version=5
//strategy("70000%", overlay = true, initial_capital = 100, commission_value = 0.04, commission_type =strategy.commission.percent, pyramiding = 1, default_qty_value = 100, default_qty_type = strategy.cash, currency = currency.USDT)
//Stoch RSI
rsi1 = ta.rsi(close, 14)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, 14), 3)
d = ta.sma(k, 3)
//ema
ema200 = ta.ema(close, 200)
plot(ema200, color = color.white)
//atr
length = 14
smoothing = 'RMA'
m = input(2, 'ATR倍数', group = "用户自定义参数")
src1 = high
src2 = low
pline = true

collong = color.teal
colshort = color.red

a = ta.rma(ta.tr(true), length) * m
x = ta.rma(ta.tr(true), length) * m + src1
x2 = src2 - ta.rma(ta.tr(true), length) * m
p1 = plot(x, title='ATR Short Stop Loss', color=color.new(colshort, 20), trackprice=pline ? true : false)
p2 = plot(x2, title='ATR Long Stop Loss', color=color.new(collong, 20), trackprice=pline ? true : false)

rewardRiskRatio = input.float(defval = 1.5, title = "盈亏比", minval = 1, maxval = 15, step = 0.1, group = "用户自定义参数")
highLowShadowRatio = input.int(defval = 20, title = "上下影线点比(%)", minval = 1, maxval = 100, step = 1, group = "用户自定义参数")
keyCandlestickChange = input.float(defval = 0.5, title = "关键K线涨跌幅(%)", minval = 0.1, maxval = 100, step = 0.1, group = "用户自定义参数")

longCondition = close > ema200 and (k < 20 and d < 20 and ta.crossover(k, d)) and high > high[1] and close[1] > open[1] and (close > open and (high-close) / (high-low) <= highLowShadowRatio / 100 and (close / open) - 1 >= keyCandlestickChange / 100)
shortCondition = close < ema200 and (k > 80 and d > 80 and ta.crossunder(k, d)) and low < low[1] and close[1] < open[1] and (close < open and math.abs(high-open) / math.abs(high-close) <= highLowShadowRatio / 100 and 1 - (close / open) >= keyCandlestickChange / 100 )
plotshape(longCondition, 'Buy', shape.labelup, location.belowbar, color=collong, size=size.small, offset=0)
plotshape(shortCondition, 'Sell', shape.labeldown, location.abovebar, color=colshort, size=size.small, offset=0)

if longCondition
    strategy.entry("Enter Long", strategy.long)
else if shortCondition
    strategy.entry("Enter Short", strategy.short)

Mehr