Volume Oscillator Chiến lược chéo trung bình động dài và ngắn hạn

Tác giả:ChaoZhang, Ngày: 2023-12-12 11:19:04
Tags:

img

Tổng quan

Chiến lược này dựa trên sự chéo chéo của trung bình động dài và ngắn hạn của khối lượng giao dịch. Nó sử dụng EMA của các giai đoạn khác nhau để tính toán xu hướng dài và ngắn hạn của khối lượng giao dịch, và xây dựng một dao động dựa trên sự khác biệt của chúng. Nó đi dài khi dao động vượt qua mức không, và đi ngắn khi vượt qua dưới mức đó. Nó cũng kết hợp giá cao và thấp trước đây để xác định hướng cụ thể.

Chiến lược logic

Chỉ số cốt lõi của chiến lược này là Volume Oscillator. Nó phản ánh xu hướng thay đổi khối lượng giao dịch bằng cách tính toán sự khác biệt giữa Mức trung bình chuyển động theo cấp số nhân dài hạn và ngắn hạn. Công thức cụ thể là:

Volume Oscillator = (ShortEMA - LongEMA) / LongEMA * 100

Ở đây, ShortEMA và LongEMA đề cập đến EMA ngắn hạn và dài hạn tương ứng. Khi ShortEMA vượt qua LongEMA, chỉ số trở nên tích cực, ngụ ý khối lượng giao dịch mở rộng. Khi ShortEMA vượt dưới LongEMA, chỉ số trở nên âm, ngụ ý khối lượng giao dịch giảm.

Sau khi tính toán dao động, chiến lược này sử dụng chéo với mức không để tạo ra tín hiệu giao dịch. Nó sẽ dài khi dao động chuyển từ âm sang dương, tức là vượt qua mức không, và ngắn khi chuyển từ dương sang âm, tức là vượt qua dưới mức không. Điều này phản ánh chuyển đổi động lực của khối lượng giao dịch.

Ngoài ra, chiến lược cũng kết hợp giá cao và giá thấp trước đây để xác định các hướng cụ thể. Đó là khi dao động vượt qua mức không, nếu giá cao trước đó lớn hơn giá tuyệt đối của giá thấp trước đó, nó ngụ ý một tín hiệu dài, nếu không là một tín hiệu ngắn. Tính năng này giúp đánh giá sức mạnh của sự mở rộng khối lượng.

Ưu điểm

Chiến lược này có những lợi thế sau:

  1. Sử dụng khối lượng giao dịch như là chỉ số cơ bản có thể xác định hiệu quả sự sẵn sàng của những người tham gia thị trường và rất thực tế.

  2. Kết hợp cả EMA dài hạn và ngắn hạn có thể nắm bắt xu hướng trung dài hạn và đà ngắn hạn đồng thời.

  3. Các tín hiệu giao thông được hình thành bởi chỉ số và mức không là đơn giản và rõ ràng để ra quyết định.

  4. Việc thêm các mức cao và thấp trước đây để xác định hướng có thể sử dụng tốt kích thước động lực của khối lượng giao dịch.

  5. Logic chiến lược đơn giản, các tham số linh hoạt để điều chỉnh và nó có khả năng thích nghi tương đối mạnh.

Rủi ro

Một số rủi ro của chiến lược này cần được lưu ý:

  1. Chỉ số khối lượng có thể bị ảnh hưởng bởi sự phá vỡ sai của thị trường, tạo ra các tín hiệu sai.

  2. Trong các thị trường giới hạn trong phạm vi, sự vượt qua khối lượng có thể xảy ra thường xuyên.

  3. Các mức cao và thấp trước đây chỉ phản ánh sự mở rộng gần đây nhất và không thể xác định tính bền vững của nó.

  4. Các tham số cần tối ưu hóa riêng biệt cho các sản phẩm và khoảng thời gian khác nhau.

  5. Chỉ số khối lượng phản ứng chậm với giao dịch thuật toán tần số cao, có thể bỏ lỡ thời điểm vào tốt nhất.

Hướng dẫn tối ưu hóa

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

  1. Thêm các bộ lọc để tránh tín hiệu sai, ví dụ như xác nhận bằng các chỉ số giá.

  2. Tối ưu hóa các khoảng thời gian EMA dài và ngắn hạn để phù hợp với các đặc điểm của các sản phẩm khác nhau.

  3. Thiết lập các tham số giai đoạn cho mức cao và thấp trước đó để sử dụng giá tối đa và tối thiểu của một giai đoạn.

  4. Định nghĩa một phạm vi cho khu vực xoay của chỉ số thay vì một mức duy nhất để tránh giao dịch quá mức.

  5. Thêm các chiến lược dừng lỗ để kiểm soát lỗ đơn.

  6. Bao gồm các chỉ số dựa trên khối lượng khác như VRP.

  7. Sử dụng các phương pháp học máy để tự động tối ưu hóa các thông số.

Tóm lại

Tóm lại, chiến lược chéo trung bình động dài ngắn hạn sử dụng tốt các tính năng đảo ngược khối lượng và có sức đánh giá mạnh mẽ trong giai đoạn đầu của xu hướng. Thêm các mức cao và thấp trước đây để xác định hướng làm cho các quyết định giao dịch chính xác hơn. Kiểm soát rủi ro cũng rất quan trọng để ngăn ngừa tổn thất từ các tín hiệu sai. Chiến lược này có nhiều chỗ để tối ưu hóa, trong các khía cạnh như điều chỉnh tham số và kết hợp các chỉ số, để rút ngắn thời gian giao dịch và phản ứng với những thay đổi trên thị trường.


/*backtest
start: 2022-12-05 00:00:00
end: 2023-03-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("SB_Volume_oscillator_Prev_high_low", overlay=true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

shortlen = input(5, minval=1)
longlen = input(10, minval=1)
short = ema(volume, shortlen)
long = ema(volume, longlen)
osc = 100 * (short - long) / long
//hline(0, title="Zero")
//plot(osc)
zero=input(0.0)

low_val=input(0.0)
high_val=input(0.0)
prev_high_val=input(0.0)
prev_low_val=input(0.0)
where=input(0)
where:=nz(where[1])
low_val:=nz(low_val[1])
high_val:=nz(high_val[1])
prev_high_val:=nz(prev_high_val[1])
prev_low_val:=nz(prev_low_val[1])
if(crossover(osc,zero))
    high_val:=osc
    where:=1
    prev_low_val:=low_val
    low_val:=osc

if(crossunder(osc,zero))
    low_val:=osc
    where:=-1
    prev_high_val:=high_val
    high_val:=osc

if(where==1)
    if(high_val<osc)
        high_val:=osc
        
if(where==-1)
    if(low_val>osc)
        low_val:=osc


if (crossover(osc,zero))
    if(prev_high_val<=abs(prev_low_val))
        strategy.entry("My Long Entry Id", strategy.long)
    if(prev_high_val>abs(prev_low_val))
        strategy.entry("My Short Entry Id", strategy.short)

if (crossunder(osc,zero))
    if(prev_high_val<=abs(prev_low_val))
        strategy.entry("My Long Entry Id", strategy.long)
    if(prev_high_val>abs(prev_low_val))
        strategy.entry("My Short Entry Id", strategy.short)

Thêm nữa