Dynamische EMAherokuapp übersehen Strategie


Erstellungsdatum: 2023-12-07 17:20:44 zuletzt geändert: 2023-12-07 17:20:44
Kopie: 0 Klicks: 621
1
konzentrieren Sie sich auf
1619
Anhänger

Dynamische EMAherokuapp übersehen Strategie

Überblick

Die Strategie kombiniert EMA und RSI Indikatoren, um kurzfristige Korrekturchancen für Bitcoin zu identifizieren. Sie nutzt EMA als Hauptgraphik und RSI als Hilfsindikator, um nach deutlicheren Korrekturformen zu suchen. Sie erzeugt ein Handelssignal, wenn der Preis fällt oder sich wieder auf die EMA-Gleichgewichtslinie richtet. Sie hat gleichzeitig Stop-Loss- und Stop-Stop-Kontrollen, die für die Optimierung von Parametern verwendet werden können.

Strategieprinzip

Die Strategie nutzt hauptsächlich die EMA-Linie mit 50 Zyklen und den RSI-Indikator mit 25 Zyklen. Die EMA-Linie wird als der wichtigste grafische Indikator angesehen, der RSI wird verwendet, um Überkauf und Überverkauf zu beurteilen und die Handelssignale zu erzeugen. Wenn der Preis von oben nach unten die EMA-Linie durchbricht, erzeugt er ein Verkaufssignal.

Nach dem Eintritt in den Handel setzt die Strategie gleichzeitig die Stop-Loss- und die Stop-Stop-Position ein. Die Stop-Loss-Distanz kann eingestellt werden und ist von 5.1%; die Stop-Stop-Distanz kann auch von 9.6% eingestellt werden. Dies reduziert den maximalen Wert des Einzelschädens effektiv.

Insgesamt basiert die Strategie hauptsächlich auf EMA-Linienformationen, unterstützt durch den RSI-Indikator, um Überkauf und Überverkauf zu vermeiden, und verfügt über eine Stop-Loss-Stopp-Kontrolle, die geeignet ist, BTC-Short-Line-Anpassungen zu erfassen.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Die Strategie-Signale sind eindeutiger und erzeugen nicht zu viele zufällige Fehlintritte. Die Kombination von EMA und RSI macht die Signale eindeutiger und zuverlässiger und ist nicht nur auf einen einzelnen Indikator angewiesen.

  2. Die Strategie der Selbstbinde-Loss-Stop-Stop-Kontrolle. Dies kann die Einzelschäden wirksam kontrollieren und ist ein sehr wichtiges Risiko-Kontrollmittel.

  3. Die Strategieparameter können optimiert werden. Die EMA-Länge, die RSI-Länge und andere Parameter können angepasst werden, so dass der Benutzer die optimale Kombination von Parametern für verschiedene Märkte finden kann.

  4. Die Strategie erlaubt Rückmeldungen. Der Zeitrahmen für die Rückmeldung kann direkt in der Strategie festgelegt werden, um die Strategie zu überprüfen.

Risikoanalyse

Die Strategie birgt auch einige Risiken, die sich hauptsächlich aus folgenden Aspekten ergeben:

  1. BT Bitcoin ist in einer heftigen Situation, und der Stop-Loss kann überschritten werden. Obwohl die Strategie einen Stop-Loss eingerichtet hat, kann der Stop-Loss-Linien in einem Bitcoin-Groß-Situation, in dem der Preis stark bewegt ist, direkt überschritten werden. Dies kann zu einem größeren Verlust führen.

  2. Zurückziehungsrisiken. Die Strategie berücksichtigt nicht die gesamte Rückziehungssteuerung. Die Strategie erzeugt eine gewisse Rückziehung, wenn eine längere Anpassung der Situation auftritt.

  3. In einem vergleichsweise wilden Umfeld gibt es eine relativ große und lange Welle des BTC-Preises. In diesem Fall wird die kurzfristige Signalwirkung schlechter sein und leicht eingestellt werden.

Diese Risiken können mit folgenden Maßnahmen kontrolliert und gemildert werden:

  1. Eine angemessene Lockerung der Stop-Loss-Distanz. Wenn es sich um einen Großhandel handelt, kann die Stop-Loss-Distanz angemessen gelockert werden, z. B. auf etwa 10% erweitert, um zu vermeiden, dass die Stop-Loss-Distanz zu leicht durchbrochen wird.

  2. In Kombination mit anderen Indikatoren filtern. Trendindikatoren wie die lineare Mehrkopfordnung können hinzugefügt werden, um die Verwendung dieser Strategie bei langfristigen Anpassungen zu vermeiden.

  3. Optimierung der Parameter-Sammlung. Es ist möglich, die Parameter-Einstellungen für verschiedene Marktphasen zu testen, mehrere Parameter-Kombinationen zu erstellen und die Parameter zu wechseln, um die Signalqualität zu verbessern.

Optimierungsrichtung

Die Strategie bietet Raum für weitere Optimierungen, insbesondere in folgenden Bereichen:

  1. Erhöhung der Gesamtrücknahme-Kontrolle. Es kann ein maximales Rücknahme-Prozent wie z. B. 20% festgelegt werden, und die Strategie unterbricht den Handel, wenn diese Rücknahme erreicht wird, um übermäßige Verluste zu vermeiden.

  2. Erhöhung der Häufigkeit der Positionseröffnung. Sie können die Anzahl der Positionseröffnungen pro Strategieeinheit begrenzen, z. B. höchstens zweimal pro Stunde, um zu häufige Transaktionen zu vermeiden.

  3. Optimierung der Parameter-Einstellungen. Testung von Parameterkombinationen unter verschiedenen Marktbedingungen, Erstellung von mehreren Parameter-Templates, Auswahl der geeigneten Parameter auf dem Laufenden nach den aktuellen Bedingungen, um die Effektivität der Strategie zu verbessern.

  4. Die Strategie kann mit anderen Indikatoren kombiniert werden, wie z. B. Trends und Volatilität, um eine umfassendere und zuverlässigere Grundlage für den Einstieg in das Handelssystem zu bilden.

Zusammenfassen

Insgesamt beruht die Strategie hauptsächlich auf der kurzfristigen Anpassung der BTC-Form. Sie nutzt EMA und RSI, um ein klares Handelssignal zu erzeugen, und verfügt über Stop-Loss- und Stop-Stop-Kontrollen, um die Hebelchancen der kurzfristigen BTC-Rutsche effektiv zu nutzen. Die Strategie eignet sich jedoch eher als Hilfsmittel für die Kurzlinie und wirkt besser, wenn sie in Kombination mit anderen Strategien verwendet wird.

Strategiequellcode
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 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/
// © mmoiwgg

//@version=4
strategy(title="EMA+RSI Pump & Drop Swing Sniper (With Alerts & SL+TP) - Strategy", shorttitle="EMA+RSI Swing Strategy", overlay=true)
emaLength = input(title="EMA Length", type=input.integer, defval=50, minval=0)
emarsiSource = input(close, title="EMA+RSI Source")
condSource = input(high, title="Long+Short Condition Source")
emaVal = ema(emarsiSource, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)
rsiVal = rsi(emarsiSource, rsiLength)

//Safety 
emaLength2 = input(title="Safety EMA Length", type=input.integer, defval=70, minval=0)
emaSource2 = input(close, title="Safety EMA Source")
ema = ema(emaSource2, emaLength2)
emaColorSource2 = close
emaBSource2 = close

// Backtest+Dates
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
showDate  = input(defval = true, title = "Show Date Range", type = input.bool)
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)        // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest end window
window()  => time >= start and time <= finish ? true : false       // create function - add window() to entry/exit/close

// Conditions
exit_long = crossover(emaVal, condSource)
longCond = crossunder(emaVal, condSource) and close > ema

//Stoploss + TakeProfit
sl = input(0.051, step=0.001, title="Stop Loss")
tp = input(0.096, step=0.001, title="Take Profit")

// Plots Colors
colors = emarsiSource > emaVal and rsiVal > 14 ? color.green : color.red
emaColorSource = input(close, title="Line Color Source")
emaBSource = input(close, title="Line Color B Source")

// Plots
plot(ema, color=emaColorSource2[1] > ema and emaBSource2 > ema ? color.green : color.red, linewidth=1)
plot(emaVal, color=emaColorSource[1] > emaVal and emaBSource > emaVal ? color.green : color.red, linewidth=3)
plotcandle(open, high, low, close, color=colors)


//Strategy Entry+Exits
strategy.entry("long",1,when=window() and longCond)
strategy.close("long",when=window() and exit_long)
strategy.exit("long tp/sl", "long", profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick)