
바닥 사냥꾼 전략은 디지털 화폐에 사용되는 단선 거래 전략이다. 이 전략은 하향 추세에서 바닥을 식별하여 적절한 구매 시점을 결정한다.
이 전략은 여러 가지 기술적 지표를 결합하여 바닥을 식별합니다. 특히 MACD 지표를 사용하여 바닥의 반전 신호를 판단합니다. RSI 지표를 사용하여 과매매 상태를 판단합니다.
첫째, 이 전략은 MACD 지표의 의도적 분산을 사용하여 바닥을 판단한다. 의도적 분산이라 불리는 것은 가격 혁신이 낮고 MACD 지표는 혁신이 낮지 않은 것을 의미한다. 이러한 상황은 거래량이 약해지는 것을 나타내고, 일반적으로 다가오는 추세 반전을 예고한다.
두 번째, 전략은 RSI 지표가 31.1 이하로 요구됩니다. 30 이하의 RSI는 과매매 상태를 나타냅니다. 이것은 구매 기회를 제공합니다.
마지막으로, 이 전략은 종전 가격을 부린띠의 중간 궤도보다 낮게 요구한다. 이는 가격이 이미 정상적인 범위보다 낮아졌음을 의미하며, 따라서 구매에 더 좋은 기회를 제공한다.
위의 모든 조건이 동시에 충족되면, 이 전략은 구매 신호를 생성하여 좋은 위치를 구축한다.
바닥 사냥꾼 전략은 다음과 같은 장점이 있습니다.
이 전략에는 몇 가지 위험도 있습니다.
위와 같은 위험을 위해, 실시간 추적 스톱 로즈, 변수 간격 조정 등의 방법으로 최적화 할 수 있다.
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
바닥 사냥꾼 전략은 중요한 바닥을 포획하여 추가 이익을 얻기 위해 구매합니다. 이 전략은 바닥을 판단하는 근거가 튼튼하며, 가짜 신호를 피하기 위해 여러 가지 필터링 조건을 결합합니다. 매개 변수가 적절하게 조정되면, 스톱 패스 컨트롤이 배치되면, 이 전략은 디지털 통화 시장의 단선 거래에서 좋은 효과를 얻을 수 있습니다.
/*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)