이 전략은 부드러운 하이킨 아시 촛불을 기반으로 한 트렌드 다음 시스템이다. 하이킨 아시 촛불을 더 높은 시간 프레임에서 계산하고 더 낮은 시간 프레임에서 거래 결정에 적용함으로써 시장 소음을 효과적으로 줄인다. 전략은 유연한 거래 방향 옵션을 제공하며, 롱, 쇼트 또는 양방향 거래를 허용하며, 완전히 자동화 된 거래를 위해 스톱 로스 및 영업 기능을 통합한다.
핵심 논리는 트렌드를 식별하기 위해 더 높은 시간 프레임에서 하이킨 아시 촛불의 매끄러운 특성을 활용합니다. 하이킨 아시 촛불은 오픈 및 클로징 가격의 이동 평균 계산을 통해 시장 소음을 효과적으로 필터하고 주요 트렌드를 강조합니다. 시스템은 녹색 촛불이 나타나면 상승 추세를 나타내고 빨간 촛불이 나타나면 하락 추세를 나타냅니다. 이 전략에는 또한 위험을 제어하고 이익을 잠금하는 데 도움이되는 비율 기반의 스톱 로스 및 영업 메커니즘이 포함되어 있습니다.
이 전략은 다중 타임프레임 하이킨 아시 지표의 매끄러운 특성을 통해 시장 추세를 효과적으로 포착하며 포괄적 인 위험 관리 메커니즘을 통해 마이너 다운을 제어합니다. 전략의 유연성과 확장성은 좋은 실용적 가치를 부여하며 지속적인 최적화 및 개선으로 다른 시장 환경에 적응 할 수 있습니다. 특정 위험이 존재하지만 적절한 매개 변수 설정과 위험 관리로 안정적인 거래 성능을 달성 할 수 있습니다.
/*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)