
Die Strategie nennt sich “Value-Weighted Average Price and Relative Weakness Index Combination Strategy”. Die Strategie nutzt die beiden Indikatoren “Value-Weighted Average Price” (VWAP) und “Relative Weakness Index” (RSI) und ermöglicht eine Kombination von Trend-Tracking-Eingänge mit Überkauf- und Überverkaufsausgängen.
Die Handelslogik der Strategie basiert hauptsächlich auf folgenden Punkten:
Das ist die grundlegende Handelslogik dieser Strategie. Durch die EMA, die den Trend beurteilt, die VWAP, die Tagestrends beurteilt, die RSI, die Überkauf-Überverkaufszonen beurteilt, wird eine effektive Kombination verschiedener Indikatoren erreicht, die sowohl die richtige Richtung des Handels sicherstellt als auch die Signalwirkung von Ein- und Ausstieg erhöht.
Der größte Vorteil dieser Strategie liegt in der Kombination der Indikatoren. Ein einzelner VWAP kann nicht perfekt auf alle Marktbedingungen reagieren. Die Einführung des RSI hilft dabei, einige kurzfristige Überverkaufsmöglichkeiten zu identifizieren.
Die Verwendung dieser Kombination von Indikatoren erhöht auch die Stabilität der Strategie. Wenn der RSI ein oder zwei Falschbrüche aufweist, ist es unwahrscheinlich, dass ein falscher Handel mit VWAP und EMA hinterlegt wird. Gleichermaßen, wenn der VWAP einen falschen Durchbruch aufweist, ist auch die Bestätigung des RSI erforderlich.
Das Hauptrisiko dieser Strategie besteht in der Verwendung des VWAP-Indikators. VWAP stellt den durchschnittlichen Transaktionspreis des Tages dar, aber nicht jede Tagespreisbewegung bewegt sich um VWAP. Daher kann das Signal eines VWAP-Brechens nicht unbedingt sicherstellen, dass der Preis des nachfolgenden Marktes wirklich durchbrechen kann.
Außerdem ist der RSI leicht abweichend. Wenn sich der Markt in einer bewegten Abschlussphase befindet, kann der RSI wiederholt überkaufte und überverkaufte Bereiche berühren, was zu einer häufigen Ausgabe von Handelssignalen führt. In diesem Fall besteht ein gewisses Risiko, wenn man blind dem RSI-Signal folgt.
In diesem Zusammenhang verwenden wir in unserer Strategie den EMA-Moving Average als Großzyklus-Beschluss und berücksichtigen nur den Handel bei der Erhöhung des Großzyklus, um die Auswirkungen der beiden oben genannten Probleme auf die Strategie zu vermeiden. Darüber hinaus kann die Einrichtung einer Stop-Loss-Linie auch die Einmalverluste in einem bestimmten Bereich kontrollieren.
Die Strategie bietet Raum für weitere Optimierungen und konzentriert sich auf folgende Bereiche:
Die Einführung von mehr Indicatoren für die Kombination, wie z. B. die Kalman-Gleichung, die Brin-Band usw., macht die Handelssignale klarer und zuverlässiger.
Optimierung der Handelsgebühren. Die bestehende Strategie berücksichtigt nicht die Auswirkungen der Gebühren und kann mit einem echten Handelskonto kombiniert werden, um die Größe der Positionen zu optimieren.
Anpassung des Stop-Modells. Die bestehenden Stop-Methoden sind relativ einfach und können nicht perfekt auf Marktveränderungen abgestimmt werden. Sie können mobile Stop-Methoden testen, Stop-Methoden verfolgen usw.
Die Anwendung von verschiedenen Sorten wird getestet. Derzeit werden nur die beiden Indikatoren S&P und NACE getestet. Es ist möglich, die Stichprobenpalette zu erweitern, um die Sorten zu finden, die am besten zu der Strategie passen.
Die Strategie nutzt die Vorteile der drei Indikatoren EMA, VWAP und RSI, um eine effektive Kombination aus Trendverfolgung und Überkauf zu erzielen. Sie bietet sowohl bei großen Aufwärts- als auch bei kurzfristigen Anpassungen einen angemessenen Einstiegsmoment und eine starke Stabilität. Die Strategie bietet außerdem viel Spielraum für Optimierung und wird die Strategie-Siegerrate und -Ertragsniveau durch die Einführung von mehr Indikatoren und die Anpassung der Stop-Loss-Methode weiter verbessern.
/*backtest
start: 2024-01-15 00:00:00
end: 2024-01-22 00:00:00
period: 1m
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/
// © mohanee
//@version=4
strategy(title="VWAP and RSI strategy [EEMANI]", overlay=false)
//This strategy combines VWAP and RSI indicators
//BUY RULE
//1. EMA50 > EMA 200
//2. if current close > vwap session value and close>open
//3. check if RSI3 is dipped below 10 for any of last 10 candles
//EXIT RULE
//1. RSI3 crossing down 90 level
//STOP LOSS EXIT
//1. As configured --- default is set to 5%
// variables BEGIN
longEMA = input(200, title="Long EMA", minval=1)
shortEMA = input(50, title="short EMA", minval=1)
rsi1 = input(3,title="RSI Period", minval=1)
rsi_buy_line = input(10,title="RSI Buy Line", minval=5)
rsi_sell_line = input(90,title="RSI Sell Line", minval=50)
stopLoss = input(title="Stop Loss%", defval=5, minval=1)
//variables END
longEMAval= ema(close, longEMA)
shortEMAval= ema(close, shortEMA)
rsiVal=rsi(close,rsi1)
vwapVal=vwap(hlc3)
// Drawings
plot_rsi = plot(rsiVal, title="RSI", color=color.purple, linewidth=1)
//plot_fill = plot(0, color=color.green, editable=false)
//fill(plot_rsi, plot_fill, title="Oscillator Fill", color=color.blue, transp=75)
hline(rsi_buy_line, color=color.green, title="Buy Line", linewidth=2, linestyle=hline.style_dashed)
hline(rsi_sell_line, color=color.purple, title="Sell Line", linewidth=2, linestyle=hline.style_dashed)
//plot(value_ma, title="MA", color=color_ma, linewidth=2)
longCondition= shortEMAval > longEMAval and close>open and close>vwapVal
rsiDipped = rsiVal[1]<rsi_buy_line or rsiVal[2]<rsi_buy_line or rsiVal[3]<rsi_buy_line or rsiVal[4]<rsi_buy_line or rsiVal[5]<rsi_buy_line or rsiVal[6]<rsi_buy_line or rsiVal[7]<rsi_buy_line or rsiVal[8]<rsi_buy_line or rsiVal[9]<rsi_buy_line or rsiVal[10]<rsi_buy_line
//Entry
strategy.entry(id="VWAP_RSI LE", comment="VR LE" , long=true, when= longCondition and rsiDipped )
//Take profit Exit
strategy.close(id="VWAP_RSI LE", comment="TP Exit", when=crossunder(rsiVal,90) )
//stoploss
stopLossVal = strategy.position_avg_price - (strategy.position_avg_price*stopLoss*0.01)
strategy.close(id="VWAP_RSI LE", comment="SL Exit", when= close < stopLossVal)