
Chiến lược Bottom Hunter là một chiến lược giao dịch ngắn hạn cho tiền kỹ thuật số. Chiến lược này xác định thời điểm mua thích hợp bằng cách xác định đáy trong xu hướng giảm.
Chiến lược này kết hợp nhiều chỉ số kỹ thuật để xác định đáy, cụ thể là sử dụng chỉ số MACD để xác định tín hiệu đảo ngược đáy, sử dụng chỉ số RSI để xác định tình trạng bán tháo, sử dụng dải Brin để xác định liệu giá có thấp hơn đường xuống hay không.
Đầu tiên, chiến lược này sử dụng sự phân tán có chủ ý của MACD để đánh giá đáy. Sự phân tán có chủ ý được gọi là sự đổi mới giá thấp và MACD không có sự đổi mới thấp. Điều này đại diện cho sự suy giảm khối lượng giao dịch, thường báo hiệu một sự đảo ngược xu hướng sắp tới.
Thứ hai, chiến lược yêu cầu chỉ số RSI dưới 31,1. RSI dưới 30 đại diện cho tình trạng bán tháo, tạo cơ hội mua.
Cuối cùng, chiến lược này yêu cầu giá đóng cửa thấp hơn đường trung tâm của dải Brin. Điều này cho thấy giá đã thấp hơn phạm vi bình thường, do đó cũng cung cấp cơ hội tốt hơn để mua.
Khi tất cả các điều kiện trên được đáp ứng cùng một lúc, chiến lược này tạo ra tín hiệu mua và tạo ra vị trí tốt.
Chiến lược săn mồi dưới có những lợi thế sau:
Chiến lược này cũng có một số rủi ro:
Đối với các rủi ro trên, có thể được tối ưu hóa bằng cách theo dõi thời gian thực, dừng lỗ, điều chỉnh phạm vi tham số.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Chiến lược săn lùng đáy để mua bằng cách bắt đáy quan trọng với hy vọng kiếm được lợi nhuận dư thừa. Chiến lược này đánh giá nền tảng của đáy vững chắc, đồng thời kết hợp nhiều điều kiện lọc để tránh tín hiệu giả. Nếu tham số được điều chỉnh đúng, kiểm soát lỗ hổng, chiến lược này có thể có hiệu quả trong giao dịch ngắn hạn của thị trường tiền kỹ thuật số.
/*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)