
Die Strategie ist eine Trend-Tracking-Algorithmus-Trading-Strategie, die durch die Berechnung von zwei unterschiedlichen Parametern EMA-Mittellinie, und die Ausgabe von Handelssignalen, wenn die Ebenen Golden Cross ((Goldfork) und Death Cross ((Deathfork)). Die Strategie kombiniert mehrere EMA-Mittellinie gleichzeitig für einen profitablen Ausstieg und setzt Stop-Loss-Punkte, um das Risiko zu kontrollieren.
Die Strategie verwendet vier EMA-Mittellinien, die aus einer Reihe von schnellen EMA-Mittellinien und langsamen EMA-Mittellinien bestehen, deren Kreuzungen zum Erzeugen von Kauf- und Verkaufssignalen verwendet werden. Zusätzlich verwendet die Strategie zwei EMA-Mittellinien zwischen den Parametern der schnellen EMA, um Positionen vorzeitig teilweise oder vollständig zu beenden und Gewinne zu sichern.
Konkret wird ein Kaufsignal erzeugt, wenn ein schneller EMA einen schnellen EMA durchbricht; ein Verkaufsignal, wenn ein schneller EMA einen schnellen EMA durchbricht. Dies ist eine typische doppelte EMA Moving Average Crossover Strategie. Um Trends besser zu verfolgen und die Ertragsrate zu erhöhen, wird die Strategie nach dem Eintritt in die Position selektiv aus dem Handel ausgetreten, wenn ein zweiter EMA-Gleichgewicht auf einem schnellen EMA oder ein dritter EMA-Gleichgewicht unter einem schnellen EMA durchbrochen wird.
Darüber hinaus wurde in der Strategie zwei Stop-Loss-Punkte für die Long- und Short-Line eingerichtet, um eine Ausweitung der Verluste zu verhindern. Insbesondere wurde der Multiple-Stop-Loss-Margin auf 6% des Einstiegspreises und der Single-Stop-Loss-Margin auf 3% des Einstiegspreises festgelegt.
Die wichtigsten Vorteile dieser Strategie gegenüber der typischen doppelten EMA-Streckenschnittstrategie sind:
Die Einrichtung mehrerer EMA-Gleichlinien für den Gewinnrückzug ermöglicht eine bessere Gewinnverbindung und verhindert, dass die Gewinne bei der nachfolgenden Umrechnung schrumpfen.
Leerpositionen haben eine geringere Stop-Loss-Marge, die größeren normalen Schwankungen standhält und häufige Stop-Losses verhindert.
Es gibt verschiedene EMA-Parameter, um einen profitablen Ausstieg zu ermöglichen, wobei der optimale Ausstiegspunkt je nach Marktlage gewählt werden kann.
Die Gesamtstrategie hat eine bessere Trendverfolgung und kann die Vorteile von mittleren und langen Trends erfassen.
Die wichtigsten Risiken dieser Strategie sind:
In einem wackligen Umfeld sind die Handelssignale, die von der EMA erzeugt werden, häufig und leicht zu übertrieben.
Kurze Stop-Lines verhindern nur Extreme und nicht einen starken Rückzug aus einem Strategie-Konto.
Die Gefahr besteht, dass die Strategie zurückgezogen wird, was zu einem erheblichen Rückgang der Erträge führen kann, wenn sich die langfristige Anpassung der Verhältnisse ereignet.
Diese Strategie ist empfindlich auf Parameteranpassungen und kann durch eine falsche Konfiguration ausfallen.
Angesichts der oben genannten Risiken kann die Strategie in folgenden Bereichen optimiert werden:
Die Entwicklung von Algorithmen für das maschinelle Lernen, die Trends beurteilen und die Wahrscheinlichkeit von Fehltransaktionen reduzieren.
Erweiterung der Anpassungs-Stop-Mechanismen, die die Stop-Loss-Werte dynamisch an die Marktschwankungen anpassen können.
Setzen Sie die Kapitalnutzungsrate, vermeiden Sie, dass Strategiekonten zu viel Geld beanspruchen, und erhöhen Sie die Positionsverwaltungsmechanismen.
Sie können die Handelsvarianten auswählen, die sich deutlich entwickeln, und die mit größeren Schwankungen handeln.
Hinzufügen von Parameteroptimierungsmodulen, um automatische Optimierung und Aktualisierung von Parametern zu ermöglichen.
Die Dual EMA Moving Average Crossover Strategie ist insgesamt eine relativ kostengünstige Trend-Tracking-Strategie. Sie hat die Vorteile, dass sie mehrere EMA-Gleichgewichte für einen profitablen Ausstieg, geringe Stop-Losses und eine starke Trend-Tracking-Fähigkeit bietet. Die Strategie birgt jedoch auch einige Risiken, die eine Optimierung der Parameteranpassungen erfordern und zur weiteren Steigerung der Strategie-Stabilität durch Algorithmen wie Machine Learning beitragen.
/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RealTraderAkeme
//@version=5
strategy("AKEME_EMA_CROSS_V6", overlay=true)
////////////////////////////////////////////////////////////PARAMETERS/////////////////////////////////////////////////////////////////
emaFast_op = input(title="Fast_EMA", defval=6)
emaSlow_op = input(title="Slow_EMA", defval=26)
emaExit_op = input(title="Sell_EMA_Exit",defval=10)
emabuyExit_op = input(title="Buy_EMA_Exit",defval=20)
Order_Value = input(defval=1000, title="Order_Value in Pounds")
Direction_Of_Trade = input(title="Trade Direction", defval="Both")
////////////////////////////////////////////////////////////INPUTS//////////////////////////////////////////////////////////////////
fastEMA = ta.ema(close, emaFast_op)
slowEMA = ta.ema(close,emaSlow_op)
emaExit = ta.ema(close,emaExit_op)
emabuyExit = ta.ema(close,emabuyExit_op)
Entry_Ratio = strategy.openprofit/Order_Value
//////////////////////////////////////////////////////////GRAPHS//////////////////////////////////////////////////////////////////
plot(fastEMA, color=color.orange, linewidth = 2)
plot(slowEMA,color = color.blue, linewidth = 2)
plot(emaExit,color = color.gray, linewidth = 2)
plot(series=emabuyExit, color= color.rgb(210, 74, 235), linewidth=2)
/////////////////////////////////////////////////////Conditions//////////////////////////////////////////////////////////////////////
longOK = (Direction_Of_Trade == "Long") or (Direction_Of_Trade == "Both")
shortOK = (Direction_Of_Trade == "Short") or (Direction_Of_Trade == "Both")
///////////////////////////////////////////////////////////ENTRIES&EXITS///////////////////////////////////////////////////////////////
longCondition = ta.crossover(fastEMA, slowEMA) and longOK
if (longCondition)
strategy.entry("Buy", strategy.long)
shortCondition = ta.crossunder(fastEMA, slowEMA) and shortOK
if (shortCondition)
strategy.entry("Sell", strategy.short)
if (strategy.position_size > 0 and shortCondition)
strategy.exit(id="exit Buy", stop=close)
if (strategy.position_size < 0 and longCondition)
strategy.exit(id="exit Sell", stop=close)
/////////////////////////////////////////////////////TAKE PROFIT CONDITIONS////////////////////////////////////////////////////////
if ta.crossunder(fastEMA, emabuyExit) and Entry_Ratio > 0.08333
strategy.close("Buy",comment = "Exit")
if ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.016666
strategy.close("Sell",comment = "Exit")
if Entry_Ratio > 0.4166666 //0.4166666
strategy.close("Buy",comment = "Exit", qty_percent = 100)
if Entry_Ratio > 0.0833333//0.0833333
strategy.close("Sell",comment = "Exit")//50
if Entry_Ratio > 0.1111111//4000
strategy.close("Sell",comment = "Exit", qty_percent = 50)
if ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.278 //Percentage
strategy.close("Sell",comment = "Exit")
////////////////////////////////////////////STOP LOSS AS PERCENTAGE OF ENTRY CONDITIONS///////////////////////////////////////////
if Entry_Ratio < -0.05555555555
strategy.close("Buy",comment = "Exit")
if Entry_Ratio < -0.027777777777
strategy.close("Sell",comment = "Exit")// The Sell Stoloss is half the buying stoploss.