Doppeltes EMA-Handelssystem in Gelb und Grün


Erstellungsdatum: 2023-10-26 17:15:46 zuletzt geändert: 2023-10-26 17:15:46
Kopie: 0 Klicks: 680
1
konzentrieren Sie sich auf
1617
Anhänger

Doppeltes EMA-Handelssystem in Gelb und Grün

Überblick

Das System verwendet zwei EMA-Mittelwerte mit unterschiedlichen Perioden, um die Richtung des aktuellen Trends zu beurteilen und Handelsentscheidungen zu treffen, basierend auf der Beziehung zwischen dem Preis und der EMA-Mittelwert. Das System ist einfach zu bedienen, kann die Markttrends gut erfassen und eignet sich für mittlere und langfristige Investoren.

Strategieprinzip

Die Strategie basiert hauptsächlich auf zwei EMA-Mittel, einem schnelleren EMA und einem langsameren EMA. Wenn ein schneller EMA über einem langsameren EMA liegt, wird er als bullish bezeichnet. Wenn ein schneller EMA unter einem langsameren EMA liegt, wird er als bearish bezeichnet.

Die K-Linien können in verschiedene Handelszonen unterteilt werden, je nach der Beziehung zwischen dem Preis und den beiden EMA-Gleichlinien:

  • Wenn die kurzfristige EMA oberhalb der langfristigen EMA liegt und der Preis oberhalb der kurzfristigen EMA liegt, kann für eine starke Kaufzone gekauft werden.

  • Wenn die EMA unterhalb der EMA liegt und der Preis unterhalb der EMA liegt (R1), kann der Verkauf der Zone für die Stärken erfolgen.

  • Bei einer schnellen EMA-Kreuzung kann man je nach der Beziehung des Preises zu den beiden EMAs in die Bereiche gelb (Warn) und orange (Wart) unterteilen. Diese beiden Bereiche stellen die Möglichkeit einer Trendwende dar, die in Kombination mit anderen Bereichen und anderen Indikatoren für die Entscheidung eines Handels erforderlich ist.

Die Strategie sendet ein Kauf- und Verkaufssignal an, wenn sich der Preis in verschiedenen Handelszonen ändert. In den starken Zonen G1 und R1 erzeugt die Strategie direkt ein Signal. In den Warn- und Warnzonen sind weitere Indikatoren erforderlich.

Darüber hinaus wird der StochRSI eingeführt, um zu helfen, zu entscheiden, wann man kaufen oder verkaufen sollte. Überkaufen und überverkaufen des StochRSI können als zusätzliche Kauf- und Verkaufssignale dienen.

Strategische Vorteile

  • Die Strategie ist klar und einfach zu verstehen und umzusetzen.

  • Es ist ein Trend-basierter Betrieb, der mittlere und langfristige Trends effektiv erfasst.

  • Unterscheidung zwischen starken und abweichenden Warn-/Wachbereichen, bei denen die Handelssignale zuverlässig sind;

  • In Verbindung mit dem StochRSI kann man den Zeitpunkt des Kaufs und Verkaufs genauer bestimmen.

Strategisches Risiko

  • Ein Trendlos-System, das in einem Markt ohne eindeutige Trends schlecht handeln kann.

  • Die falsche Einstellung der EMA-Zyklen kann zu falschen Signalen führen.

  • Vorwarn- und Beobachtungsgebiete sind sehr riskant und müssen mit Vorsicht behandelt werden.

  • Das Risiko einer Vergrößerung der Verluste durch die Stop-Loss-Regelung wurde nicht berücksichtigt.

Das Risiko kann durch folgende Maßnahmen verringert werden:

  1. Es ist wichtig zu wissen, dass es sich um eine sehr wichtige Strategie handelt.

  2. Optimierung der EMA-Zyklusparameter zur Verringerung der Wahrscheinlichkeit von Falschsignalen;

  3. Die Einführung anderer Indikatoren in den Warn- und Beobachtungsgebieten wird bestätigt, um das Handelsrisiko zu verringern.

  4. Setzen Sie einen Stop-Loss-Punkt ein, um einzelne Verluste zu kontrollieren.

Richtung der Strategieoptimierung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Einführung von mehr Messwerten wie MACD, KDJ und anderen, um die Signalqualität zu verbessern;

  2. Die Einführung von Filterbedingungen in den Handelsbereichen, wie z. B. die Erhöhung der Handelsvolumen, die Erfolgsrate der Trades erhöhen;

  3. Anpassung der EMA-Parameter an die Marktentwicklung und Einstellung der Optimierungsparameter;

  4. Erhöhung der Stop-Loss-Strategie, bei der die Verluste bei einem bestimmten Prozentsatz eingestellt werden;

  5. Optimierung der Vermögensverwaltung durch eine vernünftige Positionsverwaltung;

  6. Testoptimierung auf verschiedenen Sorten, um die optimale Kombination von Parametern zu finden.

Durch die Einführung von mehr Hilfsmesswertern, Optimierung von Dynamikparametern und Stop-Loss-Strategien zur Steigerung der Systemstabilität und zur Verringerung des Risikos aus der Sicht der Geldverwaltung kann die Strategie bessere Handelswirkung erzielen.

Zusammenfassen

Das Double EMA Yellow Green Trading System ist ein auf dem Double EMA Average-Vergleich basierendes Trend-Tracking-Trading-System. Es unterscheidet zwischen verschiedenen Handelsregionen, beurteilt die Richtung der Tendenz anhand der Preisbeziehung zur EMA Average und erzeugt ein Handelssignal. Es ist ein logisch klares, leicht umsetzbares Trend-Tracking-System.

Strategiequellcode
/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
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/
// © Vvaz_
//base-on CDC ActionZone By Piriya   a simple 2EMA and is most suitable for use with medium volatility market
//@version=4
strategy(title="Vin's Playzone" ,shorttitle="VPz", overlay=true, margin_long=4, margin_short=2)

//variable
srcf = input(title="Source",type=input.source,defval=close)
tffix = input(title="Fixed Timeframe",type=input.bool,defval=true)
tfn = input(title="Timeframe in",type=input.resolution,defval="D")
ema1 = input(title="Fast EMA",type=input.integer,defval=12)
ema2 = input(title="Slow EMA",type=input.integer,defval=26)
ema3 = input(title="EMA 100",type=input.bool,defval=true)
smooter =input(title="Smoothing period (1 = no smoothing)",type=input.integer,defval=2)
fillbar =input(title="Fill Bar Color",type=input.bool,defval=true)
emasw = input(title="Show EMA",type=input.bool,defval=true)
bssw = input(title="Show Buy-Sell signal",type=input.bool,defval=true)
plotmm = input(title="Show Buy-Sell Momentum",type=input.bool,defval=true)
plotmmsm = input(title="RSI Smoothing",type=input.integer,defval=0,minval=0,maxval=2)

//math
xcross =ema(srcf,smooter)
efast = tffix ?  ema(security(syminfo.tickerid,tfn,ema(srcf,ema1), gaps = barmerge.gaps_off,lookahead = barmerge.lookahead_on),smooter) :ema(xcross,ema1)
eslow = tffix ?  ema(security(syminfo.tickerid,tfn,ema(srcf,ema2), gaps = barmerge.gaps_off,lookahead = barmerge.lookahead_on),smooter) :ema(xcross,ema2)
ema3x = ema(xcross,100)


//Zone
Bull = efast > eslow
Bear = efast < eslow

G1 = Bull and xcross > efast //buy
G2 = Bear and xcross > efast and xcross > eslow //pre-buy1
G3 = Bear and xcross > efast and xcross < eslow //pre-buy2

R1 = Bear and xcross < efast //sell
R2 = Bull and xcross < efast and xcross < eslow //pre-sell1
R3 = Bull and xcross < efast and xcross > eslow //pre-sell2

//color
bcl =   G1 ? color.green :  G2 ? color.yellow : G3 ? color.orange :R1 ? color.red :R2 ? color.orange : R3 ? color.yellow : color.black
barcolor(color=fillbar ? bcl : na )

//plots
line1 = plot(ema3 ? ema3x : na ,"EMA100",color=color.white)
line2 = plot(emasw ? efast : na ,"Fast EMA",color=color.green)
line3 = plot(emasw ? eslow : na ,"Slow EMA",color=color.red)
fillcl = Bull ? color.green : Bear ? color.red : color.black
fill(line2,line3,fillcl)

//actions
buywhen = G1 and G1[1]==0
sellwhen = R1 and R1[1]==0

bullish = barssince(buywhen) < barssince(sellwhen)
bearish = barssince(sellwhen) < barssince(buywhen)

buy = bearish[1] and buywhen
sell = bullish[1] and sellwhen

bullbearcl = bullish ? color.green : bearish ? color.red : color.black

//plot trend
plotshape(bssw ? buy : na ,style=shape.arrowup,title="BUY",location=location.belowbar,color=color.green)
plotshape( bssw ? sell : na ,style=shape.arrowdown ,title="Sell",location=location.abovebar,color=color.red)

// Momentum Signal using StochRSI

smoothK = input(5,"StochRSI smooth K",type=input.integer,minval=1)
smoothD = input(4,"StochRSI smooth D",type=input.integer,minval=1)
RSIlen = input(14,"RSI length",type=input.integer,minval=1)
STOlen = input(14,"Stochastic length",type=input.integer,minval=1)
SRsrc = input(close,"Source for StochasticRSI",type=input.source)
OSlel = input(20,"Oversold Threshold",type=input.float,minval=0.00)
OBlel = input(80,"Oversold Threshold",type=input.float,minval=0.00)
rsil = rsi(SRsrc,RSIlen)
K = sma(stoch(rsil,rsil,rsil,STOlen),smoothK)
D = sma(K,smoothD)

buymore = iff( bullish ,iff(D < OSlel and crossover(K,D),	2,	 iff(D > OSlel and crossover(K,D),	 1,0)),0)
sellmore = iff( bearish,iff(D > OBlel and crossunder(K,D),	2,	 iff(D < OBlel and crossunder(K,D),	 1,0)),0)
//plot momentum
plotshape(plotmm ? buymore > plotmmsm ? buymore : na : na ,"Buy More!" ,style=shape.triangleup,location=location.belowbar,color=color.green)
plotshape(plotmm ? sellmore > plotmmsm ? sellmore : na : na ,"Sell More!" ,style=shape.triangledown,location=location.abovebar,color=color.red)


// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2009, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

//stratgy excuter
strategy.entry("Long",true,when=window() and buy or buymore)
strategy.close("Long",when=window() and sell or sellmore,comment="TP Long")
strategy.entry("Short",false,when=window() and sell or sellmore)
strategy.close("Short",when=window() and buy or buymore,comment="TP Short")