Basierend auf der Strategie des doppelten gleitenden Durchschnitts


Erstellungsdatum: 2024-02-21 14:43:26 zuletzt geändert: 2024-02-21 14:43:26
Kopie: 0 Klicks: 606
1
konzentrieren Sie sich auf
1617
Anhänger

Basierend auf der Strategie des doppelten gleitenden Durchschnitts

Überblick

Die Strategie nutzt die Doppel-Moving-Average-Kanalbildung, um die Richtung des Trends zu erfassen. Es erzeugt ein Handelssignal, wenn der Preis den Kanal durchbricht. Die Kombination mit dem RSI-Indikator filtert den falschen Durchbruch.

Strategieprinzip

Die Strategie verwendet zwei Moving Averages mit einer Länge von 5, eines von den höchsten und eines von den niedrigsten Preisen, um einen Preiskanal zu bilden.

Um falsche Durchbrüche zu filtern, wurde auch der RSI-Indikator eingeführt, um Überkauf und Überverkauf zu beurteilen. Nur wenn der RSI über 80 liegt, wird überkauft, und wenn er unter 20 liegt, wird aufgegeben.

Darüber hinaus wird die Strategie nur in der Londoner Handelszeit (3 Uhr bis 11 Uhr) gehandelt, mit einer maximalen Anzahl von 5 Orders pro Tag und einem maximalen Verlust von nicht mehr als 2% der Stammbeteiligung.

Analyse der Stärken

Trends zu erfassen

Der Doppel-Moving-Average bildet einen Trendkanal, der die Richtung der Preisentwicklung besser bestimmen kann. Er fängt die Aufwärtsentwicklung der Preise ein, wenn die Preise den Aufwärtskanal durchbrechen; er fängt die Abwärtsentwicklung der Preise ein, wenn die Preise den Abwärtskanal durchbrechen.

Reduzierung von False-Breaks

In Kombination mit dem RSI-Indikator, um überkaufte und überverkaufte Bereiche zu beurteilen, kann ein falscher Durchbruch durch Preisschwankungen bis zu einem gewissen Grad verringert werden.

Wirksame Risikokontrolle

Die Strategie tritt nur in den hauptsächlich aktiven Handelszeiten ein, wobei die Frequenz der Transaktionen mit maximal 5 Bestellungen pro Tag effektiv kontrolliert wird. Die Einstellung des Maximalverlusts auf 2% hält den maximalen Verlust pro Tag in einem erträglichen Bereich.

Risikoanalyse

Das Risiko eines falschen Durchbruchs bei hohen Preisschwankungen

Wenn die Preise stark schwanken, kann es zu einem gewissen falschen Durchbruch kommen, was zu unnötigen Handelsverlusten führt. Dieses Risiko kann durch die Anpassung der Parameter optimiert oder durch die Erhöhung der Filterbedingungen verringert werden.

Fixed Stop-Loss-Risikoschutz

Die Strategie verwendet eine feste Anzahl von Punkten Stop-Loss-Stopps, wenn die Preise stark schwanken, die feste Anzahl von Punkten Stop-Loss-Stopps sind leicht zu schließen, mit einem Prozentsatz oder dynamische Stop-Loss-Stopps.

Zeitlimitrisiken

Die Strategie eröffnet Positionen nur in festen Handelszeiten, und wenn in dieser Zeit keine Signale erzeugt werden, werden potenzielle Handelschancen in anderen Zeiten verpasst. Es kann in Betracht gezogen werden, die Handelszeit angemessen zu verlängern oder dynamisch an die Echtzeit zu passen.

Optimierungsrichtung

Parameteroptimierung

Die optimalen Kombinationen von Parametern wie der Länge des Moving Averages, der RSI-Parameter und der Anzahl der festen Stop-Loss-Stopp-Punkte können optimiert werden.

Filterbedingungen hinzugefügt

Andere Kennzahlen oder Bedingungen können hinzugefügt werden, um die Durchbruchsignale zu überprüfen, z. B. die Erhöhung des Handelsvolumens, die Verringerung der Blink-Linie-Kanäle usw., um falsche Durchbrüche zu verringern.

Dynamische Schadenshemmung

Es ist besser, einseitige Risiken abzusichern, indem man einen Prozentsatz-Stop oder eine dynamische Stop-Strategie anstelle eines einfachen Fixpunkt-Stopps einsetzt.

In Verbindung mit menschlichem Urteil

Das Signal wird manuell überprüft, oder es wird nur nach der Bestätigung der Durchbruch eingeschaltet, um zu vermeiden, dass es eingeschaltet wird.

Zusammenfassen

Diese Strategie ist im Allgemeinen relativ einfach und praktisch, um die Richtung der Tendenz durch den Aufbau eines Doppel-Moving Average-Kanals zu bestimmen. Gleichzeitig kann der RSI-Indikator einige falsche Durchbrüche effektiv filtern. In Bezug auf die Risikokontrolle kann das Gesamtrisiko durch die Begrenzung der Handelszeit und des maximalen Verlusts kontrolliert werden.

Strategiequellcode
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-16 23:59:59
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/
// © SoftKill21
//@version=4
strategy(title="Moving Average", shorttitle="MA", overlay=true)
timeinrange(res, sess) => time(res, sess) != 0
len = input(5, minval=1, title="Length")
src = input(high, title="Source")
offset = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
out = sma(src, len)
plot(out, color=color.white, title="MA", offset=offset)

len2 = input(5, minval=1, title="Length")
src2 = input(low, title="Source")
offset2 = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
out2 = sma(src2, len2)
plot(out2, color=color.white, title="MA", offset=offset2)

length = input( 5 )
overSold = input( 10 )
overBought = input( 80 )
price = input(close, title="Source RSI")

vrsi = rsi(price, length)

longcond= close > out and close > out2 and vrsi > overBought
shortcont = close < out and close < out2 and vrsi < overSold
tp=input(150,title="tp")
sl=input(80,title="sl")


strategy.entry("long",1,when=longcond)
//strategy.close("long",when= close < out2)
strategy.exit("long_exit","long",profit=tp,loss=sl)

strategy.entry("short",1,when=shortcont)
//strategy.close("short",when=close >out)
strategy.exit("short_exit","short",profit=tp,loss=sl)

// maxOrder = input(6, title="max trades per day")
// maxRisk = input(2,type=input.float, title="maxrisk per day")
// strategy.risk.max_intraday_filled_orders(maxOrder)

// strategy.risk.max_intraday_loss(maxRisk, strategy.percent_of_equity)


// strategy.close_all(when =not timeinrange(timeframe.period, "0300-1100"))