Dies ist eine Trend-Tracking-Strategie, die auf einer Kreuzung von Moving Averages basiert, kombiniert mit Stop-Loss-Management und Leverage, um Trends in mehreren Märkten zu identifizieren und die Gewinne zu maximieren.
Die Strategie verwendet die Kreuzung von schnellen und langsamen Moving Averages als Handelssignal. Mehrköpfige Positionen werden eingehalten, wenn die schnellen Moving Averages über den schnellen Moving Averages durchschritten werden; leere Positionen werden eingehalten, wenn die schnellen Moving Averages unter den schnellen Moving Averages durchschritten werden.
Die Strategie enthält auch einen 200-Tage-Moving-Average als Trendfilter, um den Handel mit Geräuschen zu filtern, die nicht zu den wichtigsten Trends gehören. Die Strategie sendet nur dann ein Handelssignal aus, wenn der Preis über oder unter dem 200-Tage-Moving-Average liegt.
Die Strategie verwendet eine Stop-Loss-Strategie für den Intervallhandel. Nach dem Handel wird ein Stop-Loss- und Stop-Loss-System mit einem festen Prozentsatz festgelegt, z. B. ein Stop-Loss-System mit 1% und ein Stop-Loss-System mit 1%, wobei die Position gelöscht wird, wenn der Preis den Stop-Loss- oder Stop-Loss-System erreicht.
Die Strategie nutzt einen Leverage-Effekt, um die Handelsgewinne zu erhöhen. Je nach den Merkmalen der verschiedenen Märkte kann ein geeigneter Leverage-Anteil gewählt werden, z. B. ein 10-facher Leverage.
Einer der Vorteile der Strategie ist die Möglichkeit, Trends in verschiedenen Märkten, einschließlich Kryptowährungen, Aktien und Futures, zu erkennen und die Anwendbarkeit der Strategie zu erweitern.
Die Anwendung von schnellen und mittleren Linie-Kreuzungen und Trendfilter kann die Richtung der Trends besser erkennen und eine bessere Gewinnrate bei Trends erzielen.
Durch die Anwendung einer Zwischenstop-Strategie können einzelne Verluste in einem erträglichen Bereich gehalten werden, was zu einem stabilen Betrieb der Strategie beiträgt.
Leverage erhöht die Handelsgewinne und ermöglicht es, die Vorteile der Strategie zu nutzen.
Die Benutzeroberfläche ist visuell gestaltet, die verschiedenen Hintergrundfarben werden verwendet, um den Markt zu beurteilen.
Die Strategie basiert auf dem Trend-Trading-Gedanken, der die Effektivität des Handels in einem wackligen Markt reduziert. Die Positionsgröße sollte entsprechend kontrolliert werden.
Die Stop-Loss-Marge mit einem festen Anteil besteht die Gefahr, dass sie eingeschränkt wird. Die Stop-Loss-Marge sollte je nach Markt angepasst werden.
Leverage vergrößert den Umfang des Handels und erhöht das Risiko des Handels. Es ist notwendig, die Leverage-Rate zu kontrollieren, um zu vermeiden, dass die erträglichen Verluste überschritten werden.
Der Moving Average selbst ist nachlässig und kann zu Problemen mit Handelssignalverzögerungen führen.
Es ist möglich, die Strategie unter verschiedenen Parameterkombinationen zu untersuchen und die langsam-schnelle Durchschnittslänge zu wählen, die für die Kombination optimal ist.
Die Strategie kann mit anderen Indikatoren oder Modellen als Filtersignale kombiniert werden, um die Genauigkeit der Strategie zu verbessern. Zum Beispiel die Einführung von ATR-Stopps, RSI-Indikatoren usw.
Trend-Identifikations-Indikatoren wie DC-Indikatoren können erforscht werden, um die Trend-Beschlussfähigkeit der Strategie weiter zu verbessern.
Strategische Signaloptimierungen können in Kombination mit maschinellen Lernmodellen durchgeführt werden, um effektivere Handelszeiten zu identifizieren.
Es kann in Betracht gezogen werden, die Stop-Loss-Grenze dynamisch anzupassen, um eine vernünftigere Stop-Loss-Grenze je nach Schwankungen und Marktsituationen zu setzen.
Diese Strategie verwendet insgesamt eine eher wissenschaftliche Methode zur Trendverfolgung und unterstützt die Risikokontrolle und die Erhöhung der Gewinne durch Verluststopps und Leverage. Die Strategie ist für eine Vielzahl von Märkten anwendbar und wird zu stabilen Gewinnüberschüssen führen.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
////////////////////////////////////////////////////////////////////////////////
// Bozz Strategy
// Developed for Godstime
// Version 1.1
// 11/28/2021
////////////////////////////////////////////////////////////////////////////////
//@version=4
// strategy("Bozz Strategy", "", true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, margin_long=0, margin_short=0)
// ----------------------------- Inputs ------------------------------------- //
source_ma_type = input("EMA", "Source MA Type", options=["SMA", "EMA"])
source_ma_length = input(50, "Source MA Length")
fast_ma_length = input(20, "Fast MA Length")
slow_ma_length = input(50, "Slow MA Length")
use_trend_filter = input(true, "Trend Filter")
trend_filter_ma_type = input("EMA", "Trend Filter MA Type", options=["SMA", "EMA"])
trend_filter_ma_length = input(200, "Trend Filter MA Period")
show_mas = input(true, "Show MAs")
swing_trading_mode = input(false, "Swing Trading")
// -------------------------- Calculations ---------------------------------- //
fast_ma = ema(close, fast_ma_length)
slow_ma = ema(close, slow_ma_length)
source_ma = source_ma_type == "EMA"? ema(close, source_ma_length):
sma(close, source_ma_length)
trend_filter_ma = trend_filter_ma_type == "EMA"? ema(close, trend_filter_ma_length):
sma(close, trend_filter_ma_length)
// --------------------------- Conditions ----------------------------------- //
uptrend = not use_trend_filter or close > trend_filter_ma
buy_cond = crossover(fast_ma, slow_ma) and uptrend
downtrend = not use_trend_filter or close < trend_filter_ma
sell_cond = crossunder(fast_ma, slow_ma) and downtrend
// ---------------------------- Plotting ------------------------------------ //
bgcolor(use_trend_filter and downtrend? color.red: use_trend_filter? color.green: na)
plot(show_mas? fast_ma: na, "Fast MA", color.green)
plot(show_mas? slow_ma: na, "Slow MA", color.red)
plot(show_mas? source_ma: na, "Source MA", color.purple)
plot(show_mas? trend_filter_ma: na, "Trend Filter MA", color.blue)
// ---------------------------- Trading ------------------------------------ //
// Inputs
sl_perc = input(1.0, "Stop Loss (in %)", group="Backtest Control")/100
tp_perc = input(1.0, "Take Profit (in %)", group="Backtest Control")/100
leverage = input(10, "Leverage", maxval=100, group="Backtest Control")
bt_start_time = input(timestamp("2021 01 01"), "Backtest Start Time", input.time, group="Backtest Control")
bt_end_time = input(timestamp("2021 12 31"), "Backtest End Time", input.time, group="Backtest Control")
// Trading Window
in_trading_window = true
trade_qty = (strategy.equity * leverage) / close
// Long Side
strategy.entry("Long Entry", strategy.long, when=buy_cond and in_trading_window)
long_tp = strategy.position_avg_price * (1 + tp_perc)
long_sl = strategy.position_avg_price * (1 - sl_perc)
if not swing_trading_mode
strategy.exit("Long Exit", "Long Entry", limit=long_tp, stop=long_sl)
// Short Side
strategy.entry("Short Entry", strategy.short, when=sell_cond and in_trading_window)
short_tp = strategy.position_avg_price * (1 - tp_perc)
short_sl = strategy.position_avg_price * (1 + sl_perc)
if not swing_trading_mode
strategy.exit("Short Exit", "Short Entry", limit=short_tp, stop=short_sl)
// End of trading window close
strategy.close_all(when=not in_trading_window)