이 전략은 1시간 차트에서 트렌드 편향, 15분 차트에서 MACD 크로스오버 신호, 5분 차트에서 빠른 변동성 및 격차를 기반으로 입구 지점을 결정합니다. 다양한 시간 프레임에서 여러 지표를 사용하여 전략은 더 정확한 시장 예측을 위해 장기 시장 추세, 중장기 동력 및 단기 변동성을 포착하는 것을 목표로합니다.
이 전략의 핵심 원칙은 보다 포괄적인 시장 분석을 위해 다른 시간 프레임의 기술적 지표를 결합하는 것입니다. 구체적으로:
이 세 가지 다른 시간 프레임의 신호를 결합함으로써 전략은 전반적인 시장 추세를 더 잘 파악할 수 있으며 단기 변동을 활용하여 입점 지점을 최적화하여 거래 정확성과 수익 잠재력을 향상시킬 수 있습니다.
이 전략은 1시간 차트에서 트렌드 편향, 15분 차트에서 MACD 모멘텀 신호, 그리고 5분 차트에서 빠른 변동성과 가격 격차를 결합하여 멀티 타임프레임, 멀티 인디케이터 거래 시스템을 구성합니다. 이 접근 방식은 위험을 제어하는 동시에 다른 수준에서 트렌드와 기회를 포착하여 시장의 보다 포괄적인 분석을 가능하게합니다. 그러나 전략의 성능은 매개 변수 선택에 민감할 수 있으며 극심한 시장 변동성 중에 도전에 직면 할 수 있습니다. 미래 고려 사항에는 동적 매개 변수 최적화, 고급 위치 관리 및 추가 지표를 도입하여 전략의 적응력과 탄력성을 더욱 향상시키는 것이 포함됩니다.
/*backtest start: 2023-05-05 00:00:00 end: 2024-05-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("H1 Bias + M15 MSS + M5 FVG", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // H1 Bias h1_bias = request.security(syminfo.tickerid, "60", close) h1_ma = ta.sma(h1_bias, 50) // M15 MSS [m15_macd_line, m15_macd_signal, _] = ta.macd(request.security(syminfo.tickerid, "15", close), 12, 26, 9) // M5 FVG Entry m5_volatility = ta.atr(14) // Entry conditions for long and short positions long_condition = m15_macd_line > m15_macd_signal and m5_volatility > 0.001 short_condition = m15_macd_line < m15_macd_signal and m5_volatility > 0.001 // Exit conditions exit_long_condition = m15_macd_line < m15_macd_signal exit_short_condition = m15_macd_line > m15_macd_signal // Strategy if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) if (exit_long_condition) strategy.close("Long") if (exit_short_condition) strategy.close("Short") // Take-Profit and Stop-Loss settings considering leverage leverage = 10.0 // Leverage as a float tp_percentage = 15.0 // TP percentage without leverage as a float sl_percentage = 5.0 // SL percentage without leverage as a float tp_level = strategy.position_avg_price * (1.0 + (tp_percentage / 100.0 / leverage)) // TP considering leverage as a float sl_level = strategy.position_avg_price * (1.0 - (sl_percentage / 100.0 / leverage)) // SL considering leverage as a float strategy.exit("TP/SL", "Long", limit=tp_level, stop=sl_level) strategy.exit("TP/SL", "Short", limit=tp_level, stop=sl_level) // Plotting plot(h1_ma, color=color.blue, linewidth=2) plotshape(long_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(short_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)