Die Kernidee dieser Strategie besteht darin, die Überschneidung von EMA und WMA als Einstiegssignale zu verwenden und Take Profit und Stop Loss auf der Grundlage der Punktberechnung für den Handel zu integrieren.
Wenn die EMA die WMA nach oben überschreitet, wird ein langes Signal erzeugt. Wenn die EMA die WMA nach unten überschreitet, wird ein kurzes Signal erzeugt. Nach dem Einlegen von Positionen wird der Einstiegspreis in Echtzeit berechnet, und auf dieser Grundlage werden Stop-Loss und Take-Profit festgelegt. Zum Beispiel setzen Sie den Stop-Loss auf 20 Punkte und nehmen Sie den Gewinn auf 100 Punkte, dann wird der spezifische Stop-Loss-Preis der Einstiegspreis minus 20 Punkte * Vertragswert sein, und der Take-Profit-Preis wird der Einstiegspreis plus 100 Punkte * Vertragswert sein. So werden Risiko und Gewinn kontrolliert.
Gleichzeitig wird die Strategie auch die aktuellen Marktpreise mit historischen Stop-Loss kombinieren, um die bewegliche Stop-Loss-Position anzupassen und einen Nachstop-Loss zu realisieren.
Der größte Vorteil dieser Strategie im Vergleich zu festen Punkten oder prozentualen Stop Loss ist, dass sie Risiken sehr flexibel und präzise kontrollieren kann. Durch die Anpassung der Anzahl der Punkte kann die Amplitude des Stop Loss direkt beeinflusst werden. Dies gilt sehr gut für verschiedene Sorten und die Parameter können basierend auf der Frequenz und Amplitude der Marktschwankungen fein abgestimmt werden.
Darüber hinaus ist Trailing Stop Loss auch eine sehr praktische Funktion. Es kann die Stop-Loss-Position auf der Grundlage von Echtzeit-Marktveränderungen verfolgen und anpassen, während gleichzeitig die Risikokontrolle gewährleistet und mögliche Gewinne maximiert werden.
Die wichtigsten Risiken dieser Strategie stammen von den EMA- und WMA-Indikatoren selbst. Bei gewaltsamen Marktbewegungen geben sie oft falsche Signale ab, was leicht zu einem Stop-Loss führt. In diesem Fall wird empfohlen, die Anzahl der Stop-Loss-Punkte angemessen zu lockern oder andere Indikatorenkombinationen zu ersetzen.
Ein weiterer Risikopunkt ist, dass es schwierig ist, Stop-Loss und Take-Profit auszugleichen. Um einen höheren Take-Profit zu erzielen, müssen oft größere Risiken eingegangen werden, was leicht zu einem Stop-Loss führen kann, wenn sich der Markt dreht. Daher muss die Konfiguration von Stop-Loss und Take-Profit sorgfältig getestet und ausgewertet werden.
Diese Strategie kann in folgenden Aspekten optimiert werden:
Die Kernidee dieser Strategie ist einfach und klar, wobei EMA und WMA als Basis verwendet werden und ein punktbasierter Stop-Loss- und Take-Profit-Mechanismus zur Risikokontrolle eingesetzt wird. Der Vorteil der Strategie liegt in einer präzisen und flexiblen Risikokontrolle, die entsprechend für verschiedene Märkte angepasst werden kann. Nachfolgsoptimierungen können in Eingangssignalen, Parameterwahl, Stop-Loss-Mechanismus usw. durchgeführt werden, um die Strategie besser an die komplexen und sich ständig verändernden Marktumgebungen anzupassen.
/*backtest start: 2024-01-03 00:00:00 end: 2024-01-10 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // inspiration script from: @ahmad_naquib // inspiration script link: https://www.tradingview.com/script/tGTV8MkY-Two-Take-Profits-and-Two-Stop-Loss/ // inspiration strategy script name: Two Take Profits and Two Stop Loss //////////// // Do not use this strategy, it's just an exmaple !! The goal from this script is to show you TP and SL based on PIPS //////////// //@version=5 strategy('SL & TP based on Pips', "PIP SL & TP", overlay=true, initial_capital=1000) // MA ema_period = input(title='EMA period', defval=10) wma_period = input(title='WMA period', defval=20) ema = ta.ema(close, ema_period) wma = ta.wma(close, wma_period) // Entry Conditions long = ta.crossover(ema, wma) and nz(strategy.position_size) == 0 short = ta.crossunder(ema, wma) and nz(strategy.position_size) == 0 // Pips Calculation pip1 = input(20, title = "TP PIP", group = "PIP CALCULATION") * 10 * syminfo.mintick pip2 = input(20, title = "SL PIP", group = "PIP CALCULATION") * 10 * syminfo.mintick // Trading parameters var bool LS = na var bool SS = na var float EP = na // Entry Position var float TVL = na var float TVS = na var float TSL = na var float TSS = na var float TP1 = na //var float TP2 = na var float SL1 = na ///var float SL2 = na // SL & TP Values // there's also SL2 and TP2 in case you want to add them to your script, //also you can add a break event in the strategy.entry section. if short or long and strategy.position_size == 0 EP := close SL1 := EP - pip2 * (short ? -1 : 1) //SL2 := EP - pip2 * (short ? -1 : 1) TP1 := EP + pip1 * (short ? -1 : 1) //TP2 := EP + pip1 * 2 * (short ? -1 : 1) // current trade direction LS := long or strategy.position_size > 0 SS := short or strategy.position_size < 0 // adjust trade parameters and trailing stop calculations TVL := math.max(TP1, open) - pip1[1] TVS := math.min(TP1, open) + pip1[1] TSL := open[1] > TSL[1] ? math.max(TVL, TSL[1]) : TVL TSS := open[1] < TSS[1] ? math.min(TVS, TSS[1]) : TVS //if LS and high > TP1 //if open <= TP1 //SL2 := math.min(EP, TSL) //if SS and low < TP1 //if open >= TP1 //SL2 := math.max(EP, TSS) // Closing conditions // and those are a closing conditions in case you want to add them. //close_long = LS and open < SL2 //close_short = SS and open > SL2 // Buy if (long and not SS) strategy.entry('buy', strategy.long) strategy.exit('exit1', from_entry='buy', stop=SL1, limit=TP1, qty_percent=100) //strategy.exit('exit2', from_entry='buy', stop=SL2, limit=TP2) // Sell if (short and not LS) strategy.entry('sell', strategy.short) strategy.exit('exit3', from_entry='sell', stop=SL1, limit=TP1, qty_percent=100) //strategy.exit('exit4', from_entry='sell', stop=SL2, limit=TP2) // Plots // those are plots for the lines of The tp and sl. they are really useful, and in the next update I will use a filling option. a = plot(strategy.position_size > 0 ? SL1 : na, color=color.new(#af0829, 30), linewidth = 2, style=plot.style_linebr) b = plot(strategy.position_size < 0 ? SL1 : na, color=color.new(#af0829, 30), linewidth = 2, style=plot.style_linebr) c = plot(strategy.position_size > 0 ? TP1 : na, color=color.new(#2e7e00, 30), linewidth = 2, style=plot.style_linebr) d = plot(strategy.position_size < 0 ? TP1 : na, color=color.new(#2e7e00, 30), linewidth = 2, style=plot.style_linebr) g = plot(strategy.position_size >= 0 ? na : EP, color=color.new(#ffffff, 50), style=plot.style_linebr) h = plot(strategy.position_size <= 0 ? na : EP, color=color.new(#ffffff, 50), style=plot.style_linebr) // those are plot for the TP2 and SL2, they are optional if you want to add them. //e = plot(strategy.position_size > 0 ? TP2 : na, color=color.new(#00ced1, 0), style=plot.style_linebr) //f = plot(strategy.position_size < 0 ? TP2 : na, color=color.new(#00ced1, 0), style=plot.style_linebr) //those are the plot for the ema and wma strategy for short and long signal. they are not really a good strategy, I just used them as an example //but you have the option to plot them or not. // do not use this strategy, it's just an exmaple !! The goal from this script is to show you TP and SL based on PIPS //plot(ema, title='ema', color=color.new(#fff176, 0)) //plot(wma, title='wma', color=color.new(#00ced1, 0))