Chỉ báo kết hợp Double Stochastics và Volume Weighted Moving Average


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

Chỉ báo kết hợp Double Stochastics và Volume Weighted Moving Average

Tổng quan

Đây là một chiến lược sử dụng kết hợp các chỉ số Stochastics kép với các trung bình chuyển động có trọng lượng giao dịch để xác định xu hướng. Chiến lược này sử dụng hai chỉ số Stochastics có chu kỳ khác nhau, một là chu kỳ ngắn, một là chu kỳ dài, và kết hợp các trung bình chuyển động có trọng lượng giao dịch để đánh giá xu hướng hiện tại.

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

Chiến lược này chủ yếu đánh giá xu hướng thông qua các phần sau:

  1. Tính chỉ số Stochastics cho một chu kỳ ngắn, với độ dài chu kỳ là input ((30)), tham số mài là 2

  2. Tính chỉ số Stochastics cho một chu kỳ dài, với độ dài chu kỳ là input ((90), và tham số mượt là 2

  3. Thêm các chỉ số Stochastics ngắn và dài để có được một đường cong Stochastics tổng hợp

  4. Tính một trung bình chuyển động trọng lượng giao dịch cho đường cong tsl, với độ dài chu kỳ là input{\displaystyle \input{\mathrm {s}}} 30

  5. So sánh giá trị hiện tại của tsl với giá trị của nó trước 1 chu kỳ, khi tsl tăng lên, được coi là xu hướng tăng và khi tsl giảm, được coi là xu hướng giảm

  6. Sau đó kết hợp vị trí của đường cong Stochastics để xác định liệu đó là tín hiệu đa đầu hay vô đầu

  • Đánh dấu đa đầu khi tsl lên và ts ở vùng trung tâm
  • Khi tsl giảm và ts ở vùng trung tâm là tín hiệu đầu không

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

Chiến lược này kết hợp phán đoán xu hướng và phán đoán mua quá mức để xác định hướng xu hướng một cách đáng tin cậy hơn. Các ưu điểm cụ thể như sau:

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

  2. Tăng trọng giao dịch có thể lọc ra một số tín hiệu đột phá giả mạo

  3. Vị trí của đường cong Stochastics một lần nữa chứng minh tín hiệu xu hướng đáng tin cậy

  4. Các tham số có thể điều chỉnh, có thể điều chỉnh độ dài chu kỳ phù hợp với thị trường khác nhau

  5. Ý tưởng chiến lược rõ ràng, ngắn gọn, dễ hiểu và dễ sửa đổi

Phân tích rủi ro và cải tiến

Chiến lược này cũng có một số rủi ro cần lưu ý:

  1. Stochastics dễ phát ra các tín hiệu giả, cần kết hợp các chỉ số có chu kỳ dài để lọc

  2. Các tham số chu kỳ cố định không phù hợp với tất cả các điều kiện thị trường, các tham số tối ưu hóa động có thể được xem xét

  3. Chỉ số kỹ thuật, kết hợp với các yếu tố cơ bản để tăng độ chính xác

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

  5. Không đủ thời gian để xác nhận, cần nhiều dữ liệu lịch sử hơn để xác nhận hiệu quả.

  6. Có thể tối ưu hóa điểm vào, bây giờ là crosses under giá trị tối thiểu trực tiếp làm nhiều, có thể thiết lập vùng đệm

Tóm tắt

Nhìn chung, chiến lược sử dụng chỉ số Stochastics kép và trung bình di chuyển có trọng lượng giao dịch để đánh giá xu hướng, về mặt lý thuyết có thể xác định một cách đáng tin cậy các điểm thay đổi xu hướng. Tuy nhiên, các thiết lập tham số cần được tối ưu hóa cho thị trường cụ thể và có một số rủi ro tín hiệu giả.

Mã nguồn chiến lược
/*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)