Chiến lược theo dõi xu hướng giao cắt trung bình động động


Ngày tạo: 2023-12-08 15:45:47 sửa đổi lần cuối: 2023-12-08 15:45:47
sao chép: 0 Số nhấp chuột: 673
1
tập trung vào
1621
Người theo dõi

Chiến lược theo dõi xu hướng giao cắt trung bình động động

Tổng quan

Chiến lược này thực hiện theo dõi xu hướng bằng cách tính toán DEMA và TEMA hai đường cân bằng động và thiết lập các vị trí mua hoặc bán khi chúng xảy ra Gold Fork hoặc Dead Fork. Đồng thời, chiến lược cũng thiết lập một số bài giữ vị trí để tránh mất mát không cần thiết.

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

Chiến lược này chủ yếu dựa trên sự giao nhau của hai đường cân bằng động DEMA và TEMA để đánh giá xu hướng.

DEMA đại diện cho trung bình di chuyển hai chỉ số, nó kết hợp các tính năng trơn trọng của EMA và tối ưu hóa các vấn đề tụt hậu trong EMA. Công thức tính toán là:

DEMA = 2*EMA(CLOSE,N) - EMA(EMA(CLOSE,N),N)

Ở đây N là Demalength.

TEMA đại diện cho trung bình di chuyển ba chỉ số, nó làm giảm độ trễ của trung bình bằng cách làm mịn chỉ số ba lần. Công thức tính toán của nó là:

EMA1 = EMA(CLOSE,Temalength)
EMA2 = EMA(EMA1,Temalength)
EMA3 = EMA(EMA2,Temalength)
TEMA = 3*EMA1 - 3*EMA2 + EMA3

Khi TEMA đi qua DEMA, xem đó là tín hiệu nạp tiền, làm nhiều; khi TEMA đi qua DEMA, xem đó là tín hiệu nạp tiền, làm trống.

Ngoài ra, chiến lược cũng thiết lập delayBars để đảm bảo hiệu quả của tín hiệu và tránh các tín hiệu giả. Nó yêu cầu một chu kỳ liên tục sau khi quạt vàng hoặc quạt chết được kích hoạt.

Cuối cùng, chiến lược này đã thêm vào logic kiểm tra kép. Điều này có nghĩa là trước khi mở vị trí, bạn sẽ xem xét xem có cần phải xóa vị trí ngược hiện tại hay không, điều này có thể tránh rủi ro của mạo hiểm hai chiều.

Phân tích lợi thế

  1. Sử dụng hai đường đồng nhất động để đánh giá xu hướng chính xác hơn

DEMA và TEMA là hai đường trung bình động, nhạy cảm hơn so với EMA và SMA truyền thống, có thể nắm bắt được sự thay đổi của xu hướng nhanh hơn, do đó cải thiện độ chính xác của phán đoán về xu hướng thị trường.

  1. Thiết lập một chu kỳ chậm trễ nhất định để lọc tín hiệu giả

Cài đặt của tham số delayBars khiến bạn phải chờ đến khi tín hiệu kéo dài một thời gian để mở lệnh, do đó bạn có thể lọc một số tín hiệu giả và tránh bị đặt.

  1. Kiểm tra đôi có thể làm giảm nguy cơ

Chiến lược sẽ ưu tiên xem xét xem có cần phải xóa vị trí đảo ngược trước khi mở vị trí hay không, có thể tránh rủi ro khi nắm giữ vị trí hai chiều đồng thời, giảm tối đa tổn thất trong mạo hiểm.

  1. Có tính phổ biến mạnh mẽ

Chiến lược này chủ yếu dựa trên chỉ số kỹ thuật phổ biến là giao thoa ngang nhau để đánh giá xu hướng và tín hiệu, không phụ thuộc vào một giống cụ thể, và áp dụng cho hầu hết các giống có xu hướng rõ ràng.

Phân tích rủi ro

  1. Thị trường biến động mạnh, dễ bị mắc kẹt

Khi thị trường rơi vào một khoảng thời gian dao động lớn, đường trung bình có thể xuyên qua thường xuyên, dễ tạo ra tín hiệu giả dẫn đến bị che đậy. Trong trường hợp này, cài đặt chu kỳ trì hoãn cũng có thể không lọc tín hiệu hoàn toàn.

Giải pháp là nhận biết các chiến lược tạm dừng sau khi xảy ra động đất, hoặc điều chỉnh các tham số đường trung bình và chu kỳ chậm trễ.

  1. Không thể nhận ra bẫy hoặc sự kiện bất ngờ

Chiến lược này chỉ theo dõi xu hướng giá và không thể dự đoán được các cạm bẫy ngắn hạn hoặc sự đảo ngược do các sự kiện bất ngờ lớn. Trong trường hợp này, chiến lược có thể chịu tổn thất lớn.

Giải pháp là kết hợp với các chỉ số khác để xác định bối cảnh rủi ro, hoặc giảm kích thước vị trí phù hợp.

Hướng tối ưu hóa

  1. Kiểm tra nhiều loại chỉ số trung bình

Ngoài DEMA và TEMA, bạn có thể thử nghiệm các kết hợp của SMA, EMA và các đường trung bình cải tiến khác để tìm các chỉ số trung bình phù hợp hơn với thị trường.

  1. Tối ưu hóa tham số MA và chu kỳ trì hoãn

Các tham số được tối ưu hóa để tìm các tham số chiều dài đường trung bình và chu kỳ trễ tín hiệu tốt nhất để có được tín hiệu giao dịch chính xác hơn.

  1. Các giống khác nhau thích ứng với các tham số khác nhau

Tùy thuộc vào đặc tính của giống, tìm các tổ hợp thông số chu kỳ trung bình và chậm phù hợp với phạm vi dao động và xu hướng của nó.

  1. Đánh giá rủi ro kết hợp với các chỉ số khác

Ví dụ, các chỉ số Bollinger Bands đánh giá tỷ lệ biến động và vị trí giá, tránh rơi vào bẫy chấn động; kết hợp với khả năng đánh giá của các chỉ số năng lượng, đánh giá độ tin cậy của xu hướng.

Tóm tắt

Chiến lược này theo dõi xu hướng lớn thông qua sự giao thoa của đường trung bình động DEMA và TEMA, thuộc loại chiến lược theo dõi xu hướng đơn giản. Ưu điểm là tính ổn định, độ tin cậy và tính phổ biến cao, phù hợp với việc sử dụng chiến lược cơ bản; nhưng cũng có một số điểm yếu về sự chậm trễ và khả năng nhận diện ngược yếu. Bài viết này đã phân tích và tóm tắt toàn diện về lợi thế, rủi ro và hướng tối ưu hóa tiếp theo của chiến lược, cung cấp tài liệu tham khảo quý giá cho việc sử dụng chiến lược.

Mã nguồn chiến lược
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jacobdickson255

strategy("Crypto Bull Run Tracker", overlay=true, pyramiding=0)

//Dema Scripting
Demalength = input.int(230, minval=1)
src = close
e1 = ta.ema(src, Demalength)
e2 = ta.ema(e1, Demalength)
dema = 2 * e1 - e2
plot(dema, "DEMA", color=#43A047)

//Tema Scripting
Temalength = input.int(210, minval=1)
ema1 = ta.ema(close, Temalength)
ema2 = ta.ema(ema1, Temalength)
ema3 = ta.ema(ema2, Temalength)
tema = 3 * (ema1 - ema2) + ema3
plot(tema, "TEMA", color=#2962FF)

delayBars = input(5, title="Bar Delay")
var int lastTradeBar = na

longCondition = ta.crossover(tema, dema) 
longExit = ta.crossunder(tema, dema)
shortCondition = ta.crossunder(tema, dema)
shortExit = ta.crossover(tema, dema)

// Exit conditions should be checked before entry conditions
// Close short position if a long condition is present
if ((shortExit and strategy.position_size < 0)) // If conditions for exiting the short are met, and there is a balance in the short direction, exit the short
    strategy.close("Short")
   

// Close long position if a short condition is present
if ((longExit and strategy.position_size > 0))
    strategy.close("Long")
   
// Now check for entry conditions
if (longCondition)
    strategy.entry("Long", strategy.long)
    lastTradeBar := bar_index

if (shortCondition)
    strategy.entry("Short", strategy.short)
    lastTradeBar := bar_index