Đâ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 chủ yếu thực hiện xác định xu hướng thông qua các phần sau:
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
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
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
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)
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
Kết hợp với vị trí đường cong Stochastics để xác định tín hiệu tăng hoặc giảm
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.
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
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
Vị trí đường cong stochastics xác nhận lại độ tin cậy của tín hiệu xu hướng
Các thông số điều chỉnh phù hợp với các thị trường khác nhau
Logic rõ ràng và đơn giản, dễ hiểu và sửa đổi
Ngoài ra còn có một số rủi ro cần lưu ý cho chiến lược này:
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
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
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
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
Lịch sử backtesting không đủ, cần thêm dữ liệu để xác nhận
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
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)