Chiến lược này được gọi là chiến lược theo dõi xu hướng dựa trên sự kết hợp của giá và khối lượng. Chiến lược này xem xét cả giá và các chỉ số khối lượng giao dịch, để đánh giá hướng xu hướng, để vận dụng hiệu quả tín hiệu giao dịch của lực lượng giá.
Chiến lược này hoạt động như sau:
Đầu tiên, tính trung bình động 5 ngày của giá và trung bình động 15 ngày của khối lượng giao dịch.
Khi giá tăng lên trên đường trung bình di chuyển 5 ngày và khối lượng giao dịch tăng lên trên đường trung bình di chuyển 15 ngày, giá được coi là lực lượng tăng giá, tạo ra tín hiệu mua.
Khi giá giảm theo đường trung bình di chuyển 5 ngày hoặc khối lượng giao dịch giảm theo đường trung bình di chuyển 15 ngày, thì giá trị giao dịch sẽ bị thu hẹp.
Lợi thế của chiến lược này là kết hợp cả giá cả và khối lượng giao dịch để xác định xu hướng. Chỉ khi cả hai cùng hướng với người xem, bạn có thể mua và lọc hiệu quả các tín hiệu giả.
Nhưng các tham số trung bình di chuyển cần được điều chỉnh tối ưu hóa và chu kỳ thời gian cũng cần phải phù hợp với các đặc điểm của các giống khác nhau. Chiến lược dừng lỗ cũng quan trọng, có thể làm giảm nguy cơ mất mát đơn lẻ.
Nhìn chung, việc sử dụng hợp lý các chỉ số giá và khối lượng giao dịch có thể làm tăng hiệu quả của chiến lược giao dịch xu hướng. Tuy nhiên, các nhà giao dịch cũng cần chú ý đến thông tin thị trường nhiều hơn, giữ linh hoạt và điều chỉnh các tham số của chiến lược tùy theo tình hình thực tế.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Celar
//@version=5
strategy("VOLLY PRICE CONVERGE", default_qty_type= strategy.percent_of_equity )
base_sma = ta.sma(close, 10)
vol_sma5 = ta.hma(volume, 15)
price_sma5 = ta.hma(close, 15)
ma50 = ta.sma(close, 50)
ma20 = ta.sma(close, 20)
int vol_indicator = na
int price_indicator = na
if vol_sma5 > vol_sma5[1]
vol_indicator := 1
else
vol_indicator := 0
if price_sma5 > price_sma5[1]
price_indicator := 1
else
price_indicator := 0
signal = vol_indicator + price_indicator
colour = signal == 2 ? #00802b : signal == 1 ? #cc2900 : color.white
bank_roll = strategy.equity
qty = bank_roll/close
strategy.entry("Long", strategy.long, qty, when = signal == 2 and close > base_sma)
// Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long".
strategy.close("Long", when = signal == 1 or signal == 0 or close < base_sma )