Cette stratégie est un système de suivi de tendance basé sur des bougies Heikin Ashi lissées. En calculant les bougies Heikin Ashi à un délai plus long et en les appliquant aux décisions de négociation à des délais plus courts, elle réduit efficacement le bruit du marché.
La logique de base utilise les caractéristiques de lissage des bougies Heikin Ashi à des délais plus longs pour identifier les tendances. Les bougies Heikin Ashi filtrent efficacement le bruit du marché et mettent en évidence les principales tendances grâce à des calculs moyens mobiles des prix d'ouverture et de clôture. Le système entre dans des positions longues en mode long uniquement lorsque des bougies vertes apparaissent, indiquant une tendance haussière, et entre dans des positions courtes en mode court uniquement lorsque des bougies rouges apparaissent, indiquant une tendance baissière.
Cette stratégie capte efficacement les tendances du marché grâce aux caractéristiques de lissage des indicateurs Heikin Ashi multi-temporels tout en contrôlant les retraits grâce à des mécanismes complets de gestion des risques.
/*backtest start: 2024-11-10 00:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Optimized Heikin Ashi Strategy with Buy/Sell Options", overlay=true) // User inputs for customizing backtest settings startDate = input(timestamp("2023-01-01 00:00"), title="Backtest Start Date", tooltip="Start date for the backtest") endDate = input(timestamp("2024-01-01 00:00"), title="Backtest End Date", tooltip="End date for the backtest") // Input for Heikin Ashi timeframe optimization ha_timeframe = input.timeframe("D", title="Heikin Ashi Timeframe", tooltip="Choose the timeframe for Heikin Ashi candles") // Inputs for optimizing stop loss and take profit use_stop_loss = input.bool(true, title="Use Stop Loss") stop_loss_percent = input.float(2.0, title="Stop Loss (%)", minval=0.0, tooltip="Set stop loss percentage") use_take_profit = input.bool(true, title="Use Take Profit") take_profit_percent = input.float(4.0, title="Take Profit (%)", minval=0.0, tooltip="Set take profit percentage") // Input to choose Buy or Sell trade_type = input.string("Buy Only", options=["Buy Only", "Sell Only"], title="Trade Type", tooltip="Choose whether to only Buy or only Sell") // Heikin Ashi calculation on a user-defined timeframe ha_open = request.security(syminfo.tickerid, ha_timeframe, ta.sma(open, 2), barmerge.gaps_off, barmerge.lookahead_on) ha_close = request.security(syminfo.tickerid, ha_timeframe, ta.sma(close, 2), barmerge.gaps_off, barmerge.lookahead_on) ha_high = request.security(syminfo.tickerid, ha_timeframe, math.max(high, close), barmerge.gaps_off, barmerge.lookahead_on) ha_low = request.security(syminfo.tickerid, ha_timeframe, math.min(low, open), barmerge.gaps_off, barmerge.lookahead_on) // Heikin Ashi candle colors ha_bullish = ha_close > ha_open // Green candle ha_bearish = ha_close < ha_open // Red candle // Backtest period filter inDateRange = true // Trading logic depending on user input if (inDateRange) // Ensures trades happen only in the selected period if (trade_type == "Buy Only") // Buy when green, Sell when red if (ha_bullish and strategy.position_size <= 0) // Buy on green candle only if no position is open strategy.entry("Buy", strategy.long) if (ha_bearish and strategy.position_size > 0) // Sell on red candle (close the long position) strategy.close("Buy") if (trade_type == "Sell Only") // Sell when red, Exit sell when green if (ha_bearish and strategy.position_size >= 0) // Sell on red candle only if no position is open strategy.entry("Sell", strategy.short) if (ha_bullish and strategy.position_size < 0) // Exit the sell position on green candle strategy.close("Sell") // Add Stop Loss and Take Profit conditions if enabled if (use_stop_loss) strategy.exit("Stop Loss", from_entry="Buy", stop=strategy.position_avg_price * (1 - stop_loss_percent / 100)) if (use_take_profit) strategy.exit("Take Profit", from_entry="Buy", limit=strategy.position_avg_price * (1 + take_profit_percent / 100)) // Plot Heikin Ashi candles on the chart plotcandle(ha_open, ha_high, ha_low, ha_close, color=ha_bullish ? color.green : color.red)