Chiến lược dài hạn trung bình động hàm mũ ba


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

Chiến lược dài hạn trung bình động hàm mũ ba

Tổng quan

Triple Exponential Moving Average Long Only Strategy là một chiến lược dài hạn dựa trên trung bình di chuyển chỉ số ba lần như một tín hiệu giao dịch. Chiến lược này được sử dụng để xác định hướng của xu hướng đường dài trung bình bằng cách tính toán EMA của ba chu kỳ khác nhau, và chuyển đổi thành chỉ số TEMA để loại bỏ tiếng ồn thị trường ngắn hạn.

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

Chiến lược này xác định xu hướng đường dài thông qua chỉ số kỹ thuật TEMA. Chỉ số TEMA là chỉ số xu hướng được lấy sau khi làm mịn ba lần trên đường trung bình di chuyển của chỉ số EMA. Chỉ số EMA tự nó có tác dụng dao động nhất định đối với giá.

Cụ thể, chiến lược này đầu tiên tính toán chỉ số EMA của chu kỳ fastEmaPeriod là ema1, sau đó dựa trên ema1 tính toán cùng chu kỳ ema2 và cuối cùng dựa trên ema2 tính toán ema3. Chỉ số TEMA cuối cùng được tính toán theo công thức: TEMA = 3 * (ema1 - ema2) + ema3. Khi giá vượt qua TEMA, làm nhiều hơn; Khi giá vượt qua TEMA, bằng.

Bằng cách làm mịn nhiều chỉ số, chỉ số TEMA có thể xác định hiệu quả chiều hướng xu hướng đường dài và đường dài lặp đi lặp lại, loại bỏ tiếng ồn ngắn hạn gây nhiễu cho giao dịch, do đó rất phù hợp với chiến lược giao dịch đường dài không đầu.

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

  • Sử dụng chỉ số TEMA có thể xác định hiệu quả xu hướng đường dài, loại bỏ nhiễu tiếng ồn ngắn hạn và tránh bị mắc kẹt.

  • Chỉ cần làm nhiều hơn không làm rỗng, bạn có thể tránh được rủi ro mất mát vô hạn do không có tiền.

  • Sử dụng quản lý vị trí phần trăm, có thể điều chỉnh kích thước vị trí linh hoạt theo số tiền trong tài khoản, kiểm soát rủi ro.

  • Cài đặt cửa sổ thời gian cho phép đánh giá lại khoảng thời gian lịch sử được chỉ định, tối ưu hóa các tham số chính sách.

Phân tích rủi ro chiến lược

  • Trong trường hợp giữ một vị trí dài, một sự cố lớn của thiên bạch đen có thể gây ra tổn thất lớn do sự thay đổi nhanh chóng.

  • Chỉ số TEMA có thể bỏ lỡ cơ hội dừng lỗ kịp thời khi bước ngoặt xu hướng thất bại.

  • Tỷ lệ phần trăm vị trí không thể giới hạn kích thước tổn thất đơn lẻ, cần được hỗ trợ bằng cách ngăn chặn tổn thất để kiểm soát rủi ro.

  • Khám phá có nguy cơ quá phù hợp, tối ưu hóa tham số không nhất thiết phù hợp với thị trường tương lai.

Hướng tối ưu hóa chiến lược

  • Kết hợp các tham số tối ưu hóa chỉ số dao động, tăng tính ổn định của tham số.

  • Thêm chiến lược dừng lỗ để kiểm soát tổn thất đơn lẻ.

  • Tối ưu hóa quản lý vị trí, giảm vị trí khi rút.

  • Thêm một chỉ số xu hướng theo chu kỳ thời gian, nâng cao tính chính xác của việc đánh giá xu hướng.

  • Kiểm tra các tham số khác nhau về chu kỳ giữ vị thế để tìm chu kỳ giữ vị thế tối ưu.

Tóm tắt

Nói tóm lại, chiến lược dài hạn của chỉ số di chuyển trung bình ba chỉ số bằng cách tính toán chỉ số TEMA để xác định hướng xu hướng, sử dụng vị trí dài hạn để tránh bị nhiễu bởi tiếng ồn ngắn hạn, chỉ cần không làm rỗng để tránh rủi ro mất mát vô hạn, có thể nắm bắt hiệu quả xu hướng dài hạn của xu hướng dài hạn. Tuy nhiên, chiến lược này cũng có một số rủi ro và cần được tối ưu hóa thích hợp để tăng cường sự ổn định. Nói chung, chiến lược này phù hợp với các nhà đầu tư có khả năng chịu rủi ro nhất định và có xu hướng giao dịch xu hướng.

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

//@version=2
strategy("TEMA_System_long_only", overlay=true)

//Collect inputs parameters

fastEmaPeriod = input(7, minval=1, title="Fast TEMA Period")

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 4, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2010, title = "From Year", minval = 2000)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2000)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

fastEma = ema(close, fastEmaPeriod)

//convert EMA into TEMA

ema1 = ema(close, fastEmaPeriod)
ema2 = ema(ema1, fastEmaPeriod)
ema3 = ema(ema2, fastEmaPeriod)

fastTEMA = 3 * (ema1 - ema2) + ema3


buy  = close > fastTEMA
sell = close < fastTEMA

plot(fastTEMA, title = 'TEMA', linewidth=3, color=white)

if window()
    strategy.entry("long",strategy.long, when = buy)
    strategy.close("long", when = sell )