Die Strategie nutzt die 50-Zyklus-Gleichlinienkanal- und ADX-Bewegungsindex- sowie die EFI-Energieindikator-Kombination zum Trendhandel. Wenn der EFI-Energieindikator einen Trend auslöst, wird in den 50-Gleichlinienkanal-Bereich zurückgerufen. Die Strategie gilt für einen 1-Minuten-Zeitraum.
Berechnen Sie die mittlere Linie für 50 Perioden, wobei die mittlere Linie oberhalb der Linie der Höhe und die mittlere Linie unterhalb der Tiefe ist.
Der ADX-Bewegungsindex wird zur Bestimmung der Trendstärke berechnet und nur bei einem starken Trend ((ADX>20) berücksichtigt.
Berechnen Sie die EFI-Energieindikatoren für die langen Perioden (>120 Zyklen) und die kurzen Perioden (>15 Zyklen). Ein langzeitlicher Wert von mehr als 0 bedeutet eine allgemeine Aufwärtsenergie, ein kurzzeitiger Wert von weniger als 0 bedeutet eine kurzzeitige Abnahme des Aufwärtsimpulses.
Ein Kauf wird ausgeführt, wenn der lang- und kurzfristige EFI-Indikator ein Kaufsignal ausgibt und der Preis auf den 50er Durchschnittskanal zurückgreift.
Ein Verkauf wird durchgeführt, wenn der lang- und kurzfristige EFI-Indikator ein Verkaufssignal ausgibt und der Preis auf den 50er Durchschnittskanal zurückgreift.
Diese Strategie kombiniert Trends, Dynamik und Rückrufsignale, um die meisten Falschbrüche effektiv zu filtern. Die konkreten Vorteile sind:
Die 50 Mittellinien zeigen deutlich die wichtigsten Trends.
Der ADX-Indikator sorgt dafür, dass nur bei klaren Trends gehandelt wird, und vermeidet die Arbitrage bei Marktschwankungen.
Der EFI-Indikator beurteilt Trendenergie, um zu kaufen, sobald sie zunimmt, wodurch das Risiko des Kaufens verringert wird.
Ein Aufruf zum Eintritt in den Spielfeldraum kann zu einem besseren Risiko-Rendite-Verhältnis führen.
Eine Kombination aus mehreren Indikatoren kann die Gefahr von False Breaches wirksam filtern.
Diese Strategie birgt folgende Risiken:
Es gibt auch einen starken Rückschlag in einem starken Trend, der eine breitere Stop-Loss-Range erfordert.
Bei einem Erschütterungsschlag kann der EFI-Indikator ein falsches Signal geben, was in Kombination mit einem Trend-Indikator wie dem ADX erforderlich ist.
Bei tiefer Rückführung kann die Einstiegszeit verpasst werden, so dass die Durchschnittsparameter entsprechend angepasst werden können.
Ein einziger Handelsplatz ist nicht geeignet, das systematische Risiko des Marktes wirksam zu verteilen.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Test mehr Sorten und finde die allgemeine Reichweite der Strategieparameter.
Es gibt eine Reihe von Strategien, wie Sie Ihre Gewinne durch die Verfolgung von Stop Losses sperren können.
Optimierung von Parametern, Optimierung von Parametern von Indikatoren wie ADX, EFI und so weiter.
Die Einführung von Machine Learning-Algorithmen, die Big Data-Trainings nutzen, um zu ermitteln, ob Trends durchbrochen wurden.
Mehrzeit-Zyklus-Handel, mit Spacing-Technologie, um die Position zwischen den verschiedenen Zeitspannen zu kontrollieren.
Es wurde ein neues Modell entwickelt, um die Qualität der Signalqualität zu verbessern.
Die Strategie als Ganzes ist eine Trend-Retracing-Strategie, die für Anfänger geeignet ist. Sie kombiniert mehrere Signale wie Trend, Dynamik und Retracing, um falsche Durchbrüche effektiv zu filtern. Durch die Optimierung der Stop-Loss-Strategie, der Parameter-Einstellung, der Zeitspanne usw. kann die Strategie zu einem leistungsfähigen Trend-Tracking-System werden.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 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/
// © trent777brown
//@version=5
// strategy("adx efi 50 ema channel, trend pullback", overlay=true, margin_long=100, margin_short=100, currency=currency.USD, initial_capital= 100000, close_entries_rule="ANY")
//bollingerbands
[basis, upperband, lowerband]= ta.bb(ohlc4, 50, 3)
[basis2, upperband2, lowerband2]= ta.bb(ohlc4, 50, 2)
psar= ta.sar(.1, .1, .09)
ema50= ta.ema(hlc3, 50)
ema50hi= ta.ema(high, 50)
ema50lo= ta.ema(low, 50)
ema18= ta.wma(hlc3, 15)
wma9= ta.wma(open, 9)
wma5= ta.wma(ohlc4, 5)
ema34= ta.rma(hlc3, 10)
[macdline, signalline, histline]= ta.macd(hlc3, 5, 34, 5)
[macdline2, signalline2, histline2]= ta.macd(hlc3, 15,70, 24)
[diplus, diminus, adx]= ta.dmi(20, 20)
[diplus2, diminus2, adx2]= ta.dmi(12, 12)
rsi= ta.rsi(hlc3, 14)
rsisma= ta.sma(rsi, 10)
stoch= ta.stoch(close, high, low, 21)
k= ta.wma(stoch, 3)
d= ta.wma(k, 3)
trendline5= ta.wma(hlc3, 300)
trendline9= ta.wma(open, 540)
trendline18= ta.wma(open, 1080)
atr=ta.atr(14)
plot(psar, color=color.red, style=plot.style_circles)
plot(ema50, color=color.white, linewidth=4)
plot(ema50hi, color=color.yellow, linewidth=4)
plot(ema50lo, color=color.yellow, linewidth=4)
plot(ema34, color=color.aqua, linewidth=4)
plot(wma9, color=color.gray, linewidth=4)
plot(wma5, color=color.lime, linewidth=4)
plot(trendline18, color=color.orange, linewidth=4)
plot(upperband, color=color.navy, linewidth=4)
plot(lowerband, color=color.navy, linewidth=4)
plot(upperband2, color=color.navy, linewidth=4)
plot(lowerband2, color=color.navy, linewidth=4)
plot(trendline9, color=color.maroon, linewidth=4)
plot(trendline5, color=color.yellow, linewidth=4)
efi = ta.rma(ta.change(close) * volume, 15)
efi2= ta.rma(ta.change(close) * volume, 120)
buy= efi2 > 0 and efi < 0 and efi[1] < efi and adx >= 20 and open < ema50hi
sell= efi2 < 0 and efi > 0 and efi[1] > efi and adx >= 20 and open > ema50lo
//ell= rsi > 50 and ta.crossunder(wma5, wma9) and psar > high and ema18 <= ema50hi and macdline > 0 and macdline < signalline
//buy= ta.crossunder(close, ema50) and rsi < 50 and adx2 < adx2[1] and k < 25 and psar > high
//uy= rsi < 60 and ta.crossover(wma5, wma9) and psar < low and ema18 >= ema50 and macdline2 > 0 and diplus2 < 30 // and histline2 < 0
//buy= ema18 > ema50 and ta.crossunder(rsi, 45) and open < ema50hi and adx2[3] < adx2 and diplus2 < 25 and macdline < 0 and adx < 10
//sell= ta.crossover(close, ema50) and rsi > 50 and adx2 < adx2[1] and k > 75 and psar < low
//ell= ema18 < ema50 and ta.crossover(rsi, 60) and open > ema50lo and diminus2 < 30 and macdline2 < 0 and adx2[2] < adx2
//buy sell conditions 1
//buy= ta.crossover(wma5, ema18) and ema18 > ema50lo and diplus > 22 and diminus < 22 and adx > 15
//ell= ta.crossover(psar, high) and macdline2 < signalline2 and rsi < rsisma
//when conditions
buytrig= ema34 >= ema50lo
selltrig= ema34 <= ema50hi
//strategy
sl= low - atr * 8
tp= high + atr * 4
sellsl= high + atr * 8
selltp= low - atr * 4
if(buy)
strategy.entry("buy", strategy.long, when= buytrig)
strategy.exit("exit buy", "buy", limit= tp, stop= sl)
strategy.close("close", when= ta.crossunder(ema34, ema50lo))
if(sell)
strategy.entry("sell", strategy.short, when= selltrig)
strategy.exit("exit sell", "sell", limit= selltp, stop= sellsl)