
이 전략은 피포나치 리트랙, 트렌드 추적 및 위험 관리를 결합한 통합 거래 시스템입니다. 그것은 주로 0.65 피포나치 리트랙 수준을 핵심 가격 기준점으로 기반으로 하고 있으며, 이동 평균과 결합하여 시장 추세를 확인하며, ATR 기반의 동적 스톱 스톱 메커니즘을 통합합니다. 이 전략은 15 분 시간 주기에서 작동하며, 현재 시장 추세에 부합하는 높은 확률의 거래 기회를 잡기 위해 고안되었습니다.
전략의 핵심 논리는 다음과 같은 핵심 구성 요소를 기반으로 합니다.
이것은 합리적으로 설계된 중기 트렌드 추적 전략으로, 피보나치 이론, 트렌드 추적 및 위험 관리를 결합하여 완전한 거래 시스템을 구축한다. 전략의 주요 특징은 시장 추세를 식별하는 것을 기반으로, 가격 돌파의 중요한 수준을 활용하여 거래 신호를 생성하고, 동적 인 스톱 스톱 메커니즘을 통해 위험을 관리한다. 일부 최적화가 필요한 곳이 있지만, 전체적으로 실용적인 가치가있는 전략 프레임 워크이다.
/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-25 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Refined Fibonacci Strategy - Enhanced Risk Management", overlay=true)
// Input parameters
fibonacci_lookback = input.int(38, minval=2, title="Fibonacci Lookback Period")
atr_multiplier = input.float(1.8, title="ATR Multiplier for Stop Loss and Take Profit")
sma_length = input.int(181, title="SMA Length")
// Calculating Fibonacci levels
var float high_level = na
var float low_level = na
if (ta.change(ta.highest(high, fibonacci_lookback)))
high_level := ta.highest(high, fibonacci_lookback)
if (ta.change(ta.lowest(low, fibonacci_lookback)))
low_level := ta.lowest(low, fibonacci_lookback)
fib_level_0_65 = high_level - ((high_level - low_level) * 0.65)
// Trend Filter using SMA
sma = ta.sma(close, sma_length)
in_uptrend = close > sma
in_downtrend = close < sma
// ATR for Risk Management
atr = ta.atr(12)
long_stop_loss = close - (atr * atr_multiplier)
long_take_profit = close + (atr * atr_multiplier)
short_stop_loss = close + (atr * atr_multiplier)
short_take_profit = close - (atr * atr_multiplier)
// Entry Conditions
buy_signal = close > fib_level_0_65 and close[1] <= fib_level_0_65 and in_uptrend
sell_signal = close < fib_level_0_65 and close[1] >= fib_level_0_65 and in_downtrend
// Execute Trades
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.entry("Sell", strategy.short)
// Exit Conditions
if (strategy.position_size > 0)
strategy.exit("Exit Long", "Buy", stop=long_stop_loss, limit=long_take_profit)
if (strategy.position_size < 0)
strategy.exit("Exit Short", "Sell", stop=short_stop_loss, limit=short_take_profit)
// Plotting
plot(fib_level_0_65, color=color.blue, title="Fibonacci 0.65 Level")
plot(sma, color=color.orange, title="SMA")