Chiến lược theo xu hướng dựa trên độ lệch chuẩn của khối lượng


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

Chiến lược theo xu hướng dựa trên độ lệch chuẩn của khối lượng

Tổng quan

Chiến lược này sử dụng trung bình di chuyển và chênh lệch tiêu chuẩn của khối lượng giao dịch để xây dựng mô hình khối lượng giao dịch, kết hợp với trung bình di chuyển của giá để đánh giá xu hướng và phát tín hiệu giao dịch trong trường hợp khối lượng giao dịch bình thường. Chiến lược cũng đặt giới hạn khối lượng giao dịch cao và thấp, có thể tránh phát tín hiệu sai trong trường hợp khối lượng giao dịch bất thường.

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

Logic cốt lõi là xây dựng mô hình khối lượng giao dịch và định giá xu hướng.

  1. Xây dựng mô hình khối lượng giao dịch
    • Tính toán khối lượng giao dịch với một trung bình di chuyển dài 40 chu kỳ vvg làm chuẩn khối lượng giao dịch
    • Tính toán khối lượng giao dịch với độ dài 40 chu kỳ với chênh lệch chuẩn vsd như là một phạm vi biến động bình thường của khối lượng giao dịch
    • Tính toán khối lượng giao dịch với một trung bình di chuyển dài 5 chu kỳvavgn là mức khối lượng giao dịch mới nhất
    • Thiết lập số lượng giao dịch thấp nhất làvavg trừ đi 1 lầnvsd
    • Thiết lập uplimit giao dịch tối đa làvavg cộng với 2 lầnvsd
  2. Xác định xu hướng giá
    • Tính toán giá 20 chu kỳ trung bình di chuyển mavg như một chỉ số xu hướng giá
  3. Gửi tín hiệu giao dịch
    • Khi mavg trên đi qua ngày trước của nó, làm nhiều hơn trong trường hợpvavgn cao hơn lowlimit
    • Khi mavg đi qua ngày trước của nó, khivavgn cao hơn giới hạn thấp
    • Xu hướng mavg sẽ giảm xuống khi đảo ngược

Chiến lược này kết hợp mô hình khối lượng giao dịch và xu hướng giá, tránh theo dõi xu hướng giá trong trường hợp khối lượng giao dịch không bình thường, có thể lọc ra một số tín hiệu giả.

Phân tích lợi thế chiến lược

  1. Kết hợp với sự thay đổi của khối lượng giao dịch để xác định xu hướng giá, có thể lọc ra một số tín hiệu giả và làm cho tín hiệu đáng tin cậy hơn
  2. Sử dụng chênh lệch tiêu chuẩn khối lượng giao dịch để xây dựng mô hình khối lượng giao dịch, tránh ảnh hưởng của sự thay đổi cực đoan khối lượng giao dịch
  3. Các tham số trung bình di chuyển có thể điều chỉnh để phù hợp với sự thay đổi giá trong các chu kỳ khác nhau

Phân tích rủi ro chiến lược

  1. Lượng giao dịch và giá có thể bị lệch trong thời gian ngắn, dẫn đến mất xu hướng giá
  2. Thiết lập tham số khối lượng giao dịch không chính xác có thể gây ra sự thất bại của mô hình
  3. Chiến lược không có thiết lập dừng lỗ, có thể gây ra tổn thất lớn hơn

Phương pháp giải quyết rủi ro:

  1. Điều chỉnh các tham số trung bình di chuyển, tối ưu hóa mô hình
  2. Thêm logic dừng lỗ, kiểm soát lỗ đơn

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

  1. Thêm nhiều chỉ số để xác định xu hướng giá, làm cho tín hiệu chính xác và đáng tin cậy hơn
  2. Thêm mô-đun học máy, tham số dựa trên dữ liệu đào tạo khối lượng giao dịch và mô hình giá cả
  3. Tăng logic dừng lỗ để ngăn chặn tổn thất đơn lẻ quá lớn
  4. Tối ưu hóa logic nhập cảnh để đảm bảo xác suất cao hơn để nắm bắt xu hướng
  5. Kết hợp với các chỉ số tương tự như ATR tự động điều chỉnh khoảng cách dừng

Tóm tắt

Chiến lược này có ý tưởng tổng thể rõ ràng, sử dụng khối lượng giao dịch để tránh theo dõi xu hướng giả, tín hiệu nhập cảnh đáng tin cậy hơn. Tuy nhiên, chính chiến lược này rất đơn giản, có thể mở rộng rất nhiều, có thể tối ưu hóa bằng cách thêm các mô-đun như chỉ số, học máy, dừng lỗ, có thể cải thiện hơn nữa sự ổn định và khả năng nắm bắt xu hướng. Chiến lược này là một chiến lược theo dõi xu hướng điển hình, sau khi được tối ưu hóa có thể trở thành một chiến lược định lượng rất hữu ích.

Mã nguồn chiến lược
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 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/
// © dongyun

//@version=4
strategy("交易量底部标准差系统", overlay=true)

options = input(1,'')
length = input(40,'')
nlow = input(5,'')
factor = input(1.0,'')

vavg = 0.0
vavgn = 0.0
vsd = 0.0
lowlimit = 0.0
uplimit = 0.0
mavg = 0.0
aror = 0.0
adjvol = 0.0
savevol = 0.0


//Find average volume, replacing bad values
adjvol := volume

if (volume != 0)
	savevol := volume
else
	savevol := savevol[1]
	adjvol := savevol


// Replace high volume days because they distort standard deviation
if (adjvol > 2 * factor * nz(vsd[1]))
	adjvol := savevol
else
	adjvol := adjvol[1]

vavg := sma(adjvol,length)
vsd := stdev(adjvol,length)
vavgn := sma(adjvol,nlow)

// Extreme volume limits
lowlimit := vavg - factor * vsd
uplimit := vavg + 2 * factor * vsd

// System rules based on moving average trend
mavg := sma(close,length/2)

// Only enter on new trend signals
if (options == 2)
	if (mavg > mavg[1] and mavg[1] <= mavg[2])
		strategy.entry("Long", strategy.long)
	if (mavg<mavg[1] and mavg[1]>=mavg[2])
		strategy.entry("Short", strategy.short)
else
	if (mavg > mavg[1] and vavgn > lowlimit)
		strategy.entry("Long", strategy.long)
	if (mavg < mavg[1] and vavgn > lowlimit)
		strategy.entry("Short", strategy.short)

// Exit on low volume
if (options != 1)
	if (mavg<mavg[1] or (strategy.position_size > 0 and vavgn<= lowlimit))
		strategy.close("Long")
	if (mavg>mavg[1] or (strategy.position_size > 0 and vavgn<= lowlimit))
		strategy.close("Short")
else
	if (mavg < mavg[1])
		strategy.close("Long")
	if (mavg > mavg[1])
		strategy.close("Short")