Chiến lược chỉ số kết hợp hai chỉ số chứng khoán và trung bình động cân nhắc khối lượng

Tác giả:ChaoZhang, Ngày: 2023-10-26 17:18:53
Tags:

img

Tổng quan

Đây là một chiến lược sử dụng sự kết hợp của hai chỉ số Stochastics và Volume Weighted Moving Average để xác định xu hướng. Nó sử dụng hai chỉ số Stochastics với các giai đoạn khác nhau, một ngắn hạn và một dài hạn, kết hợp với VWMA để xác định hướng xu hướng hiện tại.

Chiến lược logic

Chiến lược chủ yếu thực hiện xác định xu hướng thông qua các phần sau:

  1. Tính toán chỉ số Stochastics ngắn hạn với đầu vào độ dài thời gian ((30) và tham số trơn tru 2

  2. Tính toán chỉ số Stochastics dài hạn với đầu vào độ dài thời gian ((90) và tham số trơn tru 2

  3. Tham gia Stochastics ngắn hạn và dài hạn với nhau để có được một đường cong Stochastics kết hợp

  4. Tính toán một trung bình chuyển động cân nhắc khối lượng của đường cong ts với đầu vào chiều dài thời gian ((30)

  5. So sánh giá trị TSL hiện tại với giá trị của nó 1 thời gian trước, khi TSL tăng, nó chỉ ra một xu hướng tăng, khi TSL giảm, nó chỉ ra một xu hướng giảm

  6. Kết hợp với vị trí đường cong Stochastics để xác định tín hiệu tăng hoặc giảm

  • Khi TSL tăng và TS là trong khu vực trung tâm, đó là một tín hiệu tăng
  • Khi TSL giảm và TS ở vùng giữa, đó là một tín hiệu giảm

Phân tích lợi thế

Chiến lược kết hợp xác định xu hướng và phân tích mua quá mức bán quá mức, có thể xác định hướng xu hướng khá đáng tin cậy.

  1. Stochastics kép có thể phản ánh cả tình huống mua/bán quá mức ngắn hạn và dài hạn, tránh bỏ lỡ một số tín hiệu

  2. Tỷ lệ trung bình động được cân nhắc khối lượng có thể lọc ra một số tín hiệu đột phá sai

  3. Vị trí đường cong stochastics xác nhận lại độ tin cậy của tín hiệu xu hướng

  4. Các thông số điều chỉnh phù hợp với các thị trường khác nhau

  5. Logic rõ ràng và đơn giản, dễ hiểu và sửa đổi

Rủi ro và cải tiến

Ngoài ra còn có một số rủi ro cần lưu ý cho chiến lược này:

  1. Stochastics có thể cung cấp tín hiệu sai, cần lọc với các chỉ số dài hơn

  2. Thời gian cố định có thể không phù hợp với tất cả các thị trường, tối ưu hóa năng động có thể giúp

  3. Dựa trên chỉ số kỹ thuật thuần túy, các yếu tố cơ bản có thể cải thiện độ chính xác

  4. Dữ liệu khối lượng không chính xác ảnh hưởng đến kết quả, cần xác minh chất lượng dữ liệu

  5. Lịch sử backtesting không đủ, cần thêm dữ liệu để xác nhận

  6. Các điểm vào có thể được cải thiện, thay vì trực tiếp dài trên đường chéo dưới thấp nhất

Kết luận

Tóm lại, chiến lược này xác định xu hướng bằng cách sử dụng Stochastics kép và VWMA, có thể xác định đáng tin cậy sự đảo ngược xu hướng trong lý thuyết. Nhưng điều chỉnh tham số là cần thiết cho các thị trường cụ thể, và rủi ro tín hiệu sai tồn tại.


/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Trend Finder V2", shorttitle="TFV2", format=format.price, precision=2, overlay = true)

//----------Indicator------------//

periodK = input(30)
periodD = 3
smoothK = 2

periodK_two = input(90)
periodD_two = 3
smoothK_two = 2

k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)

k_two = sma(stoch(close, high, low, periodK_two), smoothK_two)
d_two = sma(k, periodD_two)

ts = k + k_two
tsl = vwma(ts, input(30, title = "VWMA Length"))

//--------Label parameter--------// 

up_label = tsl[1] < 100 and tsl > 100 ? 1 : 0
down_label = tsl[1] > 100 and tsl < 100 ? 1 : 0

//----------Color Code-----------//

//tsl_col = tsl > 100 and tsl > tsl[1] ? color.aqua : tsl > 100 and tsl < tsl[1] ? color.green : tsl < 100 and tsl > tsl[1] ? color.maroon : tsl < 100 and tsl < tsl[1] ? color.red : color.silver

//tsl_col = tsl > 100 and ts < 100 and ts > ts[1] ? color.aqua : tsl > 100 and ts > 100 and (ts > ts[1] or ts < ts[1]) ? color.green : tsl < 100 and ts > 100 and ts < ts[1] ? color.red : tsl < 100 and ts < 100 and (ts < ts[1] or ts > ts[1]) ? color.maroon : color.purple  

tsl_col = ts > ts[1] and tsl > tsl[1] ? color.lime : ts < ts[1] and tsl < tsl[1] ? color.red : color.yellow 

ts_col = (tsl_col == color.lime or tsl_col == color.maroon) and (k>k[1] and k < 30) ? color.lime :  (tsl_col == color.green or tsl_col == color.red) and (k < k[1] and k > 70)  ? color.red : color.silver

//-------------Plots-------------//

buy = tsl_col[1] == color.yellow and tsl_col == color.lime ? 1 : 0
sell = tsl_col[1] == color.yellow and tsl_col == color.red ? -1 : 0

plotcandle(open,high,low,close, color=tsl_col)

strategy.entry("Long", strategy.long,when=buy==1)
strategy.close("Long", when=sell==-1)


Thêm nữa