
Chiến lược này sử dụng tổng hợp các chỉ số EMA, Bollinger Bands và MACD để xác định thời gian mua và bán, kết hợp với phạm vi phân bố giá và chỉ số động lực, dựa trên việc thực hiện các đường giao dịch vàng của EMA 9 và đường giao dịch vàng 30.
Tính EMA 3 ngày, 9 ngày và 30 ngày.
Tính độ chênh lệch chuẩn của giá trong 20 ngày và vẽ các dải Bollinger trong phạm vi chênh lệch chuẩn 1 và 2 lần.
Tính MACD ngày 12, 26 và đường tín hiệu ngày 9.
Một tín hiệu mua được phát ra khi EMA ngày 9 vượt qua EMA ngày 30 và giá vượt quá mức giới hạn của Bollinger Bands so với chênh lệch tiêu chuẩn một lần.
Khi 30 ngày EMA vượt qua 9 ngày EMA, và giá thấp hơn 1 lần chênh lệch tiêu chuẩn Bollinger Bands giới hạn thấp, phát đi một sell signal.
Chiến lược này kết hợp với chỉ số đường trung bình và chỉ số động lực để nắm bắt tốt hơn xu hướng và thời gian của thị trường, có những lợi thế sau:
Chỉ số EMA có thể phản ứng nhanh với sự thay đổi giá để đánh giá xu hướng thị trường; Chỉ số MACD có khả năng phán đoán, ngăn chặn phá vỡ giả.
Chỉ số chênh lệch tiêu chuẩn của Bollinger Bands kết hợp với EMA, có thể xác định chính xác hơn thời điểm mua và bán.
Nhiều chỉ số kết hợp với nhau có thể bổ sung cho nhau. Trong một lần đột phá, các chỉ số khác nhau có thể xác minh phán đoán.
Chiến lược này cũng có một số rủi ro, cần lưu ý các điểm sau để tối ưu hóa:
EMA có thể được điều chỉnh và tối ưu hóa, và các chu kỳ khác nhau có thể nắm bắt được xu hướng tốt hơn.
Các tham số Bollinger Band có thể được tối ưu hóa, và các tiêu chuẩn biến số nhân kém hơn để lọc các tín hiệu giả.
Các tham số chỉ số MACD có thể được tối ưu hóa và kết hợp, hiệu quả phán đoán có thể được cải thiện.
Chiến lược này tích hợp các chỉ số đường trung bình EMA để xác định xu hướng lớn, hỗ trợ bởi các chỉ số Bollinger Bands có thể nắm bắt chính xác các điểm mua và bán khi có sức mạnh lớn hơn; Chỉ số MACD bổ sung xác nhận xu hướng, có thể lọc hiệu quả các tín hiệu giả. Bằng cách tối ưu hóa các tham số, chiến lược này có thể tăng hiệu quả hơn nữa.
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("emabb_collab", shorttitle="emabb", overlay=true)
// Input parameters
ema3 = input(3, title="3 EMA")
ema9 = input(9, title="9 EMA")
ema30 = input(30, title="30 EMA")
macdShort = input(12, title="MACD Short")
macdLong = input(26, title="MACD Long")
macdSignal = input(9, title="MACD Signal")
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev1 = mult * ta.stdev(src, length)
upper1 = basis + dev1
lower1 = basis - dev1
dev2 = mult * 2 * ta.stdev(src, length)
upper2 = basis + dev2
lower2 = basis - dev2
plot(basis, "Basis", color=#FF6D00)
p1 = plot(upper1, "Upper1", color=#2962FF)
p2 = plot(lower1, "Lower1", color=#2962FF)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
plot(basis, "Basis", color=#FF6D00)
p3 = plot(upper2, "Upper2", color=#00FF8C)
p4 = plot(lower2, "Lower2", color=#00FF8C)
fill(p3, p4, title = "Background", color=color.rgb(0, 153, 140, 95))
// Calculate EMAs
ema3Value = ta.ema(close, ema3)
ema9Value = ta.ema(close, ema9)
ema30Value = ta.ema(close, ema30)
// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal)
// Conditions for buy signal
buyCondition = ta.crossover(ema9Value, ema30Value) and ta.stdev(close, 20) > ta.stdev(close, 20)[1]
//Conditions for sell signal
sellCondition = ta.crossover(ema30Value, ema9Value) and ta.stdev(close, 20) < ta.stdev(close, 20)[1]
// Plot signals on the chart
plotshape(buyCondition, title='Buy Label', style=shape.triangleup, location=location.belowbar, size=size.normal, text='Buy', textcolor=color.new(color.white, 0), color=color.new(color.green, 0))
plotshape(sellCondition, title='sell Label', style=shape.triangledown, location=location.abovebar, size=size.normal, text='sell', textcolor=color.new(color.white, 0), color=color.new(color.red, 0))
// Plot EMAs
plot(ema3Value, title="3 EMA", color=color.orange)
plot(ema9Value, title="9 EMA", color=color.purple)
plot(ema30Value, title="30 EMA", color=color.red)
if buyCondition
strategy.entry('Long', strategy.long)
if sellCondition
strategy.entry('Short', strategy.short)