
Die Strategie nutzt hauptsächlich die Kombination von 5-Tage-RSI und 200-Tage-Moving Average, um Handelsentscheidungssignale zu bilden, und gehört zu der Strategie der technischen Indikatoren. Die wichtigsten Handelsprinzipien sind: Wenn der Preis in die Überkauf-Überverkaufszone fährt, wird das Signal verkauft; Wenn der Preis in die Überverkaufszone fällt, wird das Signal gekauft. Der größte Vorteil dieser Strategie ist, dass das Signal der Strategie eindeutiger ist und das Rücktrittsrisiko geringer ist.
Die Strategie nutzt die 5-Tage-RSI-Indikator in Kombination mit dem 200-Tage-Moving-Average, um überkaufliche und überverkaufte Bereiche zu bestimmen, in denen die Preise laufen, um Handelsentscheidungen zu treffen:
Der 5-Tage-RSI beurteilt die Überkauf-Überverkaufszone, in der der Preis läuft. Die Überkauflinie ist 72 und die Überverkaufszone ist 30. Wenn der RSI von unten nach oben über 30 geht, wird ein Kaufsignal erzeugt. Wenn der RSI von oben nach unten über 72 geht, wird ein Verkaufssignal erzeugt.
Der 200-Tage-Moving-Average beurteilt die Richtung der mittleren langen Trendlinie der Preise. Wenn der Preis unterhalb der 200-Tage-Mittellinie liegt, ist dies die Preis-Abwärtsphase; wenn der Preis über der 200-Tage-Mittellinie liegt, ist dies die Preis-Aufwärtsphase.
In Kombination mit den Beurteilungen 1 und 2 wird die Strategie bei einer Ault überkauft und verkauft, wenn der 5-Tage-RSI-Indikator 72 unterbricht, und gekauft, wenn der 5-Tage-RSI 30 unterbricht und der Preis unter der 200-Tage-Mittellinie liegt.
Die Strategie-Signal ist klar, über den RSI-Indikator Judgment-Bereich zu überkaufen oder zu verkaufen.
Die 200-Tages-Durchschnittslinie bestimmt die Richtung des großen Trends und vermeidet Rückwärtsoperationen.
Die maximale Anzahl der Positionen kann eingestellt werden, um das Risiko zu kontrollieren.
Die Optimierung der Strategieparameter ist groß, die RSI-Parameter können an die Mittelwertparameter angepasst werden.
Die Rücknahme ist weniger riskant und die wirksame Kontrollstrategie maximiert die Rücknahme.
Wenn nur der RSI und der Durchschnittsindex verwendet werden, kann das Strategie-Signal instabil sein, und es besteht die Gefahr von Kauf- und Verkaufsverlusten bei mehreren unsicheren Marktschwankungen.
Die RSI-Parameter und die Durchschnittsparameter müssen optimiert und getestet werden, um eine bessere Strategie zu erzielen.
Es können andere Indikatoren oder Modelle eingesetzt werden, um Strategie-Signale zu optimieren.
Es werden mehrere Indicator-Kombinationen verwendet, z. B. MACD, KD, Volatilitätsindikatoren usw.
Hinzufügen von Machine-Learning-Modellen zur Beurteilung der Stabilität von Handelssignalen, z. B. durch LSTMs.
Zunahme der Quantifizierungsfaktoren. Der Faktor, der die Geldseite beeinflusst, wie z. B. die Veränderung des Handelsvolumens, der Kapitalfluss.
Optimierung der Strategie-Parameter wie RSI-Parameter, Mean Line-Parameter usw.
Optimierung von Stop-Loss-Mechanismen, wie z. B. Bewegungs-Stop, Zeit-Stop usw.
Diese Strategie verwendet hauptsächlich die 5-Tage-RSI- und die 200-Tage-Mittelwert-Indikator-Kombination, um die Überkauf-Überverkaufszone zu bestimmen und ein Handelssignal zu erzeugen, das zu der Strategie der technischen Indikator-Kombination gehört. Die Strategie-Signal ist relativ eindeutig und das Risiko für die maximale Rücknahme ist gering. Die Strategie kann jedoch durch eine Kombination von mehreren Indikatoren und Machine-Learning-Urteile weiter optimiert werden, um die Effektivität der Strategie zu verbessern.
/*backtest
start: 2024-01-24 00:00:00
end: 2024-01-31 00:00:00
period: 3m
basePeriod: 1m
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/
// ©chewyScripts.
//@version=5
strategy("96er RSI+200EMA Strategy + Alerts", overlay=true)
// This works best on a small account $100, with 50% of equity and up to 10 max open trades.
// 96% Profitable, turns $100 into $350 in 1 month. very few losses. super happy with it.
// So far it triples the account on a 1m chart in 1 month back testing on the SEI-USD pair.
// I did not test on FX pairs or other instruments.
// had some issues with the inputs not working so had to hard code some, also the lastClose var sometimes breaks and starts following every candle, not sure why.
in_r1 = input.int(5,"5 day input or RSI1")
in_openOrders = input.int(3,"max open orders")
in_lowerRSI = input.int(30,"RSI Lower")
in_upperRSI = input.int(72,"RSI Upper ")
in_emaperiod = input.int(200,"EMA Period")
in_buybreakout = input.int(50,"Buy breakout range")
in_buyTP = input.float(1.05,"Buy TP: 1+TP %, .05 seems to work well.")
in_sellTP = input.float(0.9850, "Sell TP: 1-TP%. .025 seems to work well. ")
simple int rsi5 = in_r1
// 3 rsi strategy , when all of them are overbought we sell, and vice versa
rsi7 = ta.rsi(close,rsi5)
lastClose = request.security(syminfo.tickerid, "D", close, lookahead = barmerge.lookahead_on)
rsi3 = ta.rsi(close[5],rsi5)
ma = ta.ema(close,in_emaperiod)
plot(rsi7,"5 Day RSI",color.red)
plot(lastClose,"Yesterdays Close",color.green)
plot(rsi3,"Previous 5th candles RSI",color.purple)
// sell condition
//sell = ta.crossunder(rsi7,70) and ta.crossunder(rsi14,70) and ta.crossunder(rsi21,70)
//buy condition
//buy = ta.crossover(rsi7,in_lowerRSI) and close < ma and rsi3 <= in_upperRSI and strategy.opentrades < in_openOrders
//sell = ta.crossunder(rsi7,in_upperRSI) and close > ma and rsi3 >= in_lowerRSI3 and strategy.opentrades < in_openOrders
buy = ta.crossover(rsi7,in_lowerRSI) and close < ma and close < lastClose and strategy.opentrades < in_openOrders
sell = ta.crossunder(rsi7,in_upperRSI) and close > ma and close > lastClose and strategy.opentrades < in_openOrders
var lastBuy = close
var lastSell = close
if (buy)
strategy.entry("BUY", strategy.long)
lastBuy := close
alert("Buy")
if ((close >= lastBuy*in_buyTP ) or rsi7 > in_buybreakout and close >= lastClose and (close >= lastClose*in_buyTP or close >= lastBuy*in_buyTP ) )
strategy.close("BUY", "BUY Exit")
alert("Buy Exit")
if (sell)
strategy.entry("SELL", strategy.short)
lastSell := close
alert("Sell")
if ( close < ma and (close <= lastSell*in_sellTP ) or (close < lastClose*in_sellTP) )
strategy.close("SELL", "Sell Exit")
alert("Sell Exit")