
Die Doppel-Evenline-Switch-Point-Trading-Strategie ist eine Handelsstrategie, die auf einer Evenline-Kreuzung basiert. Sie verwendet zwei unterschiedliche Parameter-Sätze für Moving Averages, um Ein- und Ausstiegsmomente anhand ihrer Wendungen zu bestimmen. Die Strategie ist einfach, intuitiv und leicht umzusetzen und eignet sich für den Handel mit mittlerer und langer Linie.
Die Strategie verwendet den Preis als Preis-Eingabe und berechnet die Durchschnittslinie für zwei verschiedene Parameter, SMA1 und SMA2. Die Strategie verwendet den ROC-Indikator, um den Wandel der Durchschnittslinie zu bestimmen. Wenn der ROC-Wert von SMA1 den festgelegten positiven Schwellenwert überschreitet, wird angenommen, dass SMA1 nach oben gedreht ist, und ein Aufwärtssignal für SMA1 wird registriert.
Wenn SMA1 nach oben dreht und eine K-Linie SMA2 nach unten dreht, erzeugt ein Kaufsignal, um mehr zu machen; wenn SMA1 nach unten dreht und eine K-Linie SMA2 nach oben dreht, erzeugt ein Verkaufsignal, um leer zu sein.
Die Strategie verwendet zwei Gleichlinien, um die Richtung des Handels zu bestimmen, eine Gleichlinie, um den Einstiegszeitpunkt zu bestätigen, und zwei Gleichlinien, um den Einstiegszeitpunkt zu bestätigen, um zu gewährleisten, dass sich der Trend ändert, um falsche Durchbrüche effektiv zu filtern.
Durch die Verwendung von doppelter Gleichlinienkreuzung und Dreh- und Drehentscheidung können falsche Durchbrüche wirksam gefiltert und die Genauigkeit der Einfahrt verbessert werden.
Durch die Kombination der ROC-Indikatoren kann die Zeit der Umstellung eindeutig beurteilt werden, um häufige Transaktionen zu vermeiden.
Mit mittlerer und langer Linie kann man die Haupttrends verfolgen, um größere Trendgewinne zu erzielen.
Die Strategie ist klar und einfach zu verstehen und ist für Anfänger geeignet.
Anpassbare Parameter, Anpassung an verschiedene Marktumgebungen, starke Anpassungsfähigkeit.
Bei Schwingungen kann die doppelte Gleichschleife zu einer großen Anzahl von Falschsignalen führen, was zu Verlusten führt.
Die ROC-Parameter müssen exakt optimiert werden, sonst kann es zu Fehlern bei der Umstellung auf die Identifizierung kommen, was die Strategie beeinträchtigt.
Große periodische Marktausbrüche können mehrere Stop-Losses auslösen, die durch die Erweiterung der Stop-Loss-Marge vermieden werden können.
Aufgrund der mittleren Werte ist es schwierig, auf Ereignisse wie wichtige Nachrichten zu reagieren, was zu Verlusten führen kann.
Es ist darauf zu achten, dass die Parameter optimiert sind und die Testphase lang genug ist, um unterschiedliche Situationen zu berücksichtigen.
Optimierung der Moving-Average-Parameter, um die optimale Kombination aus mittleren Perioden zu finden
Optimierung der ROC-Parameter zur Verbesserung der Schwenkerkennungs-Genauigkeit
Erhöhung der Stop-Loss-Mechanismen mit dynamischen Stop-Losses, die über die benutzerdefinierten Preisstufen hinausgehen
Hinzufügen von zusätzlichen Bedingungen, wie z. B. Trigger der Handelsvolumenindikatoren, um falsche Durchbrüche zu vermeiden
In Kombination mit anderen Indikatoren wie MACD, BOLL usw. zur Verbesserung der Entscheidungswirksamkeit
Automatische Optimierung von Parametern mit Methoden wie Machine Learning, um sich an Marktveränderungen anzupassen
Die Doppel-Gleichgewichts-Wendepunkt-Strategie ist insgesamt eine einfache und praktische Trendverfolgungsstrategie. Sie erfordert nur die grundlegenden Gleichgewichtsindikatoren, die realisierbar sind, die Logik ist klar und leicht zu verstehen, und eignet sich hervorragend für Anfänger, die mit dem Quantifizieren des Handels beginnen. Durch die Optimierung der Parameter und die Optimierung der Stop-Loss-Mechanismen kann die Strategie-Stabilität erheblich verbessert werden.
The Dual Moving Average Turning Point strategy is a trend following strategy based on moving average crossovers. It uses two moving averages with different parameter settings and determines entry and exit points according to their turning directions. This strategy is simple and intuitive, easy to implement, and suitable for medium-to-long term trading.
The strategy uses Price as the price input source and calculates two moving averages, SMA1 and SMA2, with different parameters. It uses the ROC indicator to determine the turning directions of the moving averages. When SMA1’s ROC value exceeds the positive threshold, it is considered an upward turn of SMA1 and an upward signal is recorded. When SMA1’s ROC value breaks the negative threshold, it is considered a downward turn of SMA1 and a downward signal is recorded. The judgment logic for SMA2 is similar.
When SMA1 turns upward and the previous bar’s SMA2 turns downward, a buy signal is generated to go long. When SMA1 turns downward and the previous bar’s SMA2 turns upward, a sell signal is generated to go short.
The strategy uses the turning directions of two moving averages to determine the trading direction and the turning of one moving average to confirm entry timing. The dual moving average crossover ensures the trend has changed when entering the market, which helps avoid false breakouts.
Using dual moving average crossover and turning points can effectively filter out false breakouts and improve entry accuracy.
Combining moving average turning points with the ROC indicator can clearly identify turning points and avoid frequent trading.
Adopting medium-to-long-term dual moving averages can track the main trend and achieve sizable trend profits.
The strategy logic is simple and clear, easy to understand and implement, suitable for quant trading beginners.
Customizable parameters suit different market environments with strong adaptability.
Dual moving average crossovers may generate many false signals in ranging markets, leading to losses.
The ROC parameters need precise optimization, otherwise turn recognition will have errors, affecting strategy performance.
Large periodic ranging markets may trigger stop loss multiple times. Expanding stop loss range can avoid it.
Relying solely on moving averages, it’s hard to respond to sudden events like major news, which may lead to losses.
Note the overfitting problem in parameter optimization. Test period should be long enough to include different market conditions.
Optimize moving average parameters to find the best moving average period combination.
Optimize ROC parameters to improve turning point recognition accuracy.
Add stop loss mechanisms such as dynamic stop loss based on breaking customized price levels.
Add additional conditions like volume indicators to avoid false breakouts.
Incorporate other indicators like MACD, BOLL to improve decision making.
Use machine learning etc. to auto optimize parameters and adapt to market changes.
In summary, the Dual Moving Average Turning Point strategy is a simple and practical trend following strategy. It can be implemented with basic moving average indicators and has clear, easy-to-understand logic, making it very suitable for quant trading beginners to learn and practice. With parameter optimization and stop loss optimization, the strategy stability can be greatly improved. Combining with other auxiliary indicators can further enhance the strategy. The highly customizable strategy can be flexibly applied to different market environments and is a recommended dual moving average trading strategy.
[/trans]
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("MA Turning Point Strategy", overlay=true)
src = input(close, title="Source")
price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(25, title="1st MA Length")
type1 = input("HMA", "1st MA Type", options=["SMA", "EMA", "HMA", "VWMA"])
f_hma(_src, _length)=>
_return = wma((2*wma(_src, _length/2))-wma(_src, _length), round(sqrt(_length)))
price1 = if (type1 == "SMA")
sma(price, ma1)
else
if (type1 == "EMA")
ema(price, ma1)
else
if (type1 == "VWMA")
vwma(price, ma1)
else
f_hma(price, ma1)
plot(series=price1, style=line, title="1st MA", color=blue, linewidth=2, transp=0)
lookback1 = input(1, "Lookback 1")
roc1 = roc(price1, lookback1)
ma1up = false
ma1down = false
ma2up = false
ma2down = false
ma1up := nz(ma1up[1])
ma1down := nz(ma1down[1])
ma2up := nz(ma2up[1])
ma2down := nz(ma2down[1])
trendStrength1 = input(2.5, title="Minimum slope magnitude * 100", type=float) * 0.01
if crossover(roc1, trendStrength1)
ma1up := true
ma1down := false
if crossunder(roc1, -trendStrength1)
ma1up := false
ma1down := true
longCondition = ma1up and ma1down[1]
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = ma1down and ma1up[1]
if (shortCondition)
strategy.entry("Short", strategy.short)