Chiến lược giao dịch dựa trên đường cong OBV, CMO và Coppock


Ngày tạo: 2024-02-20 11:26:46 sửa đổi lần cuối: 2024-02-20 11:26:46
sao chép: 0 Số nhấp chuột: 721
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch dựa trên đường cong OBV, CMO và Coppock

Tổng quan

Chiến lược ba trong một RB định lượng giao dịch là một chiến lược tổng hợp của OBV, CMO và Coppock. Chiến lược này tổng hợp ba chiều của nhiệt độ thị trường, xu hướng ngắn hạn và xu hướng dài, tạo ra tín hiệu giao dịch để đạt được sự nhập cảnh đáng tin cậy hơn.

Nguyên tắc chiến lược

Các tín hiệu giao dịch cho chiến lược này được lấy từ sự kết hợp của ba chỉ số sau:

  1. OBV: Phản ánh nhiệt độ lớn, sức mạnh của lực lượng không quân đa dạng. OBV tăng lên là tăng cường lực lượng đa phương, OBV giảm là tăng cường lực lượng không quân.

  2. CMO: Phản ánh xu hướng của tỷ lệ thay đổi giá trong ngắn hạn và trung hạn. CMO đại diện cho xu hướng tăng trong ngắn hạn và CMO đại diện cho xu hướng giảm.

  3. Đường cong Coppock: Phản ánh xu hướng của tỷ lệ biến đổi giá trong thời gian dài. Đường cong Coppock lên đại diện cho đường dài ở giai đoạn tăng, xuống đại diện cho giai đoạn giảm.

Khi OBV tăng, đường cong CMO và Coppock tăng cùng một lúc, tín hiệu mua sẽ được tạo ra. Điều này cho thấy sức mạnh đa phương của thị trường lớn tăng lên, nằm trong kênh tăng trong trung và dài hạn, là một điểm mua tốt hơn.

Ngược lại, khi OBV giảm, CMO và đường cong Coppock giảm cùng một lúc sẽ tạo ra tín hiệu bán. Điều này cho thấy sức mạnh của không quân tăng lên, mở đường đi xuống trong trung và dài hạn, là thời điểm tốt hơn để ra đi.

Lợi thế chiến lược

Ưu điểm lớn nhất của chiến lược này là xem xét tổng hợp ba chiều của thị trường, xu hướng ngắn hạn và dài hạn, tín hiệu giao dịch chỉ được tạo ra sau khi đảm bảo xu hướng di chuyển phù hợp từ mức độ lớn, ngắn hạn và dài hạn, do đó có thể tránh phá vỡ giả hiệu quả. Đồng thời sử dụng sự nhạy cảm của CMO để nắm bắt cơ hội ngắn hạn, đường cong Coppock cung cấp các bước sóng dài đảm bảo định hướng chính xác.

Ngoài ra, chiến lược này cũng có thể sử dụng các tín hiệu mua bán hai chiều để tạo ra tỷ lệ sử dụng vốn tốt hơn.

Rủi ro chiến lược

Rủi ro chính của chiến lược này là đường cong Coppock và chỉ số CMO có chu kỳ tính toán ROC dài hơn và có một sự chậm trễ. Khi sự kiện bất ngờ của thị trường thay đổi mạnh, đường cong Coppock và chỉ số CMO có thể bị trì hoãn khi đưa ra phán quyết.

Ngoài ra, việc kết hợp ba chỉ số đơn giản với nhau mà không tính đến trọng số giữa các chỉ số cũng sẽ ảnh hưởng đến độ chính xác của phán đoán.

Hướng tối ưu hóa chiến lược

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Các tham số của chỉ số có thể tự động thích ứng với tần số thay đổi của thị trường.

  2. Tăng trọng lượng thiết lập các chỉ số, cho phép một số chỉ số phán đoán chính xác hơn đóng vai trò chủ đạo, tăng sự ổn định của tín hiệu.

  3. Tăng chiến lược dừng lỗ, sử dụng các chỉ số tương tự như ATR để thiết lập phạm vi dừng lỗ cho giao dịch, kiểm soát hiệu quả mức lỗ tối đa cho một giao dịch.

  4. Sử dụng lợi thế phản ứng nhanh của OBV, đặt OBV đảo ngược là tín hiệu dừng lỗ, tránh thiệt hại lớn.

Tóm tắt

Chiến lược ba trong một của RB Trading Quantitative Trading (RBQT) bao gồm ba chiều: nhiệt độ lớn, chuyển động ngắn hạn và dài hạn, tạo ra tín hiệu mua và bán. Nó kết hợp các lợi thế của nhiều chỉ số, đảm bảo các tín hiệu giao dịch được tạo ra sau khi xu hướng thị trường và xu hướng dài hạn và trung bình trở nên thống nhất.

Mã nguồn chiến lược
/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RB - OBV Coppock CMO Strategy", overlay=true)

// Input for CMO period
cmo_period = input(14, title="Chande Momentum Oscillator Period")
// Input for Coppock Curve periods
coppock_long = input(14, title="Coppock Curve Long ROC Period")
coppock_short = input(11, title="Coppock Curve Short ROC Period")
coppock_wma = input(10, title="Coppock Curve WMA Period")
// Thresholds for CMO
cmo_buy_threshold = input(50, title="CMO Buy Threshold")
cmo_sell_threshold = input(-50, title="CMO Sell Threshold")

// Calculating OBV
obv = cum(close > close[1] ? volume : close < close[1] ? -volume : 0)

// Calculating Coppock Curve
roc_long = roc(close, coppock_long)
roc_short = roc(close, coppock_short)
coppock_curve = wma(roc_long + roc_short, coppock_wma)

// Calculating Chande Momentum Oscillator
cmo = cmo(close, cmo_period)

// Generate buy and sell signals
buy_signal = obv > obv[1] and coppock_curve > 0 and coppock_curve > coppock_curve[1] and cmo > cmo_buy_threshold
sell_signal = obv < obv[1] and coppock_curve < 0 and coppock_curve < coppock_curve[1] and cmo < cmo_sell_threshold

// Plotting signals on the chart
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Setting up the strategy entry and exit points
if (buy_signal)
    strategy.entry("Buy", strategy.long)

if (sell_signal)
    strategy.close("Buy")

// Plot OBV and Coppock Curve for reference
plot(obv, title="On Balance Volume", color=color.blue)
hline(0, "Zero Line", color=color.gray)
plot(coppock_curve, title="Coppock Curve", color=color.purple)
plot(series=cmo, title="Chande Momentum Oscillator", color=color.orange)