바닥 사냥꾼 전략 (Bottom Hunter strategy) 은 암호화폐에 대한 단기 거래 전략이다. 이 전략은 하락 추세 중 바닥을 인식함으로써 적절한 입구점을 식별한다.
이 전략은 바닥을 식별하기 위해 여러 기술적 지표를 결합합니다. 구체적으로, 그것은 바닥 반전 신호를 판단하기 위해 MACD 지표를, 과잉 판매 상태를 결정하기 위해 RSI 지표를, 그리고 가격이 하부 레일 아래에 있는지 결정하기 위해 볼링거 밴드를 사용합니다. 모든 조건이 충족되면 구매 신호가 생성됩니다.
첫째, 전략은 바닥을 판단하기 위해 MACD 분리를 사용합니다. 소위 분리는 MACD 지표가 새로운 최저치를 만들지 않는 동안 가격이 새로운 최저치를 만드는 것을 의미합니다. 이 상황은 거래 부피의 약화를 나타내고 일반적으로 임박한 트렌드 반전을 예고합니다.
둘째, 전략은 RSI 지표가 31.1 이하가 되어야 합니다.
마지막으로, 전략은 폐쇄 가격이 볼링거 밴드의 중간 레일 아래에 있어야 합니다. 이것은 가격이 정상적인 범위 아래로 떨어졌음을 나타냅니다. 따라서 더 나은 구매 기회를 제공합니다.
위의 모든 조건이 동시에 충족되면 전략은 구매 신호를 생성하고 포지션을 설정합니다.
바닥 사냥꾼 전략은 다음과 같은 장점을 가지고 있습니다:
이 전략에는 또한 몇 가지 위험이 있습니다.
위의 위험에 대응하여 실시간 추적 스톱 손실, 매개 변수 범위 조정 등이 최적화를 위해 사용될 수 있습니다.
이 전략은 다음과 같은 방향으로 최적화 될 수 있습니다.
바닥 사냥꾼 전략은 초과 수익을 달성하기 위해 핵심 바닥을 구입합니다. 바닥을 결정하는 이유는 강력한 반면 잘못된 신호를 피하기 위해 여러 필터 조건을 결합합니다. 적절한 매개 변수 조정 및 스톱 손실 제어로이 전략은 단기 암호화폐 거래에서 잘 수행 할 수 있습니다.
/*backtest start: 2023-01-30 00:00:00 end: 2024-02-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("MACD Divergence Strategy", shorttitle="Strategy: MACD Dive", overlay=true) // MACD设置 fastLength = input.int(12, "Fast Length") slowLength = input.int(26, "Slow Length") signalSmoothing = input.int(9, "Signal Smoothing") [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing) // 计算99日EMA均线 ema99 = ta.ema(close, 99) // 计算RSI rsiLength = input.int(14, title="RSI Length") rsi = ta.rsi(close, rsiLength) // 计算布林带中轨 length = input.int(20, "BB Length") src = input(close, "Source") mult = input.float(2.0, "BB StdDev") basis = ta.sma(src, length) // 买入筛选条件 priceLow = ta.lowest(low[1], 60) macdLow = ta.lowest(macdLine[1], 60) divergence = low < priceLow and macdLine > macdLow allHighsBelowEma99 = true for i = 0 to 14 if high[i] > ema99 allHighsBelowEma99 := false rsiBelow = rsi < 31.1 priceDifference = (high - low) / low * 100 buySignal1 = divergence and allHighsBelowEma99 and rsiBelow buySignal2 = high < ema99 and priceDifference >= 3 and close < open and high < basis buySignal3 = buySignal1 or buySignal2 // 定义一个变量来存储买入时的价格 var float buyPrice = na // 买入逻辑 if buySignal3 buyPrice := close // 存储买入时的价格 strategy.entry("Buy", strategy.long) // 止盈和止损条件 longTakeProfit = buyPrice * 1.1 // 止盈设为买入价格的1.2倍 longStopLoss = buyPrice * 0.98// 止损设为买入价格的0.99倍 // 应用止盈和止损 strategy.exit("Exit", "Buy", limit=longTakeProfit, stop=longStopLoss) // 绘制买入信号 plotshape(series=buySignal3, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)