Diese Strategie ist ein Trend folgendes Handelssystem, das gleitende Durchschnitts-Crossover-Signale mit ATR-basiertem Risikomanagement kombiniert. Es erfasst Markttrends durch das Crossover von schnellen und langsamen gleitenden Durchschnitten, während es den ATR-Indikator verwendet, um Stop-Loss- und Take-Profit-Levels dynamisch anzupassen und so eine präzise Kontrolle der Handelsrisiken zu erzielen. Die Strategie umfasst auch ein Geldmanagement-Modul, das die Positionsgrößen automatisch anhand von Kontokapital und voreingestellten Risikoparametern anpasst.
Die Kernlogik der Strategie beruht auf folgenden Schlüsselelementen:
Diese Strategie erfasst Trends durch MA-Kreuzungen und kombiniert die dynamische Risikokontrolle mit ATR, um ein komplettes Trend-Nachhandelssystem zu schaffen. Die Stärken der Strategie liegen in ihrer Anpassungsfähigkeit und Risikokontrollfähigkeiten, obwohl sie in unsicheren Märkten unterdurchschnittlich sein kann. Durch die Hinzufügung von Trendfiltern und die Optimierung des Geldmanagementsystems besteht Raum für eine Verbesserung der Gesamtleistung der Strategie.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © davisash666 //@version=5 strategy("Trend-Following Strategy", overlay=true) // Inputs for strategy parameters timeframe = input.timeframe("D", "Timeframe") risk_tolerance = input.float(2.0, "Risk Tolerance (%)", step=0.1) / 100 capital_allocation = input.float(200, "Capital Allocation (%)", step=1) / 100 // Technical indicators (used to emulate machine learning) ma_length_fast = input.int(10, "Fast MA Length") ma_length_slow = input.int(50, "Slow MA Length") atr_length = input.int(14, "ATR Length") atr_multiplier = input.float(1.5, "ATR Multiplier") // Calculations fast_ma = ta.sma(close, ma_length_fast) slow_ma = ta.sma(close, ma_length_slow) atr = ta.atr(atr_length) // Entry and exit conditions long_condition = ta.crossover(fast_ma, slow_ma) short_condition = ta.crossunder(fast_ma, slow_ma) // Risk management stop_loss_long = close - (atr * atr_multiplier) stop_loss_short = close + (atr * atr_multiplier) take_profit_long = close + (atr * atr_multiplier) take_profit_short = close - (atr * atr_multiplier) // Capital allocation position_size = strategy.equity * capital_allocation // Execute trades if long_condition strategy.entry("Long", strategy.long, qty=position_size / close) strategy.exit("Take Profit/Stop Loss", "Long", stop=stop_loss_long, limit=take_profit_long) if short_condition strategy.entry("Short", strategy.short, qty=position_size / close) strategy.exit("Take Profit/Stop Loss", "Short", stop=stop_loss_short, limit=take_profit_short) // Plotting for visualization plot(fast_ma, color=color.green, title="Fast MA") plot(slow_ma, color=color.red, title="Slow MA") plot(stop_loss_long, color=color.blue, title="Stop Loss (Long)", linewidth=1, style=plot.style_cross) plot(take_profit_long, color=color.purple, title="Take Profit (Long)", linewidth=1, style=plot.style_cross)