Chiến lược giao dịch chéo trung bình di chuyển thích nghi và trung bình di chuyển cân nhắc

Tác giả:ChaoZhang, Ngày: 2024-01-23 14:13:55
Tags:

img

Tổng quan

Chiến lược này tạo ra các tín hiệu giao dịch dựa trên Chỉ số thích nghi cho đường trung bình động (AIOMA) và chỉ số đường trung bình động (WMA).

Tên chiến lược

AIOMA-WMA Adaptive Crossover chiến lược

Chiến lược logic

Chiến lược bao gồm các thành phần chính sau:

  1. Tính toán chỉ số AIOMA

    • Tính toán một chuỗi các đường trung bình động theo cấp số (EMA) với chiều dài được chỉ định
    • Chuỗi các EMA này để tạo ra các giá trị trơn tru
    • AIOMA cuối cùng là EMA của giá trị trơn tru cuối cùng
  2. Tính toán chỉ số WMA

    • Tính toán WMA với chiều dài được chỉ định
  3. Sản xuất tín hiệu

    • Mua tín hiệu khi WMA vượt qua AIOMA
    • Bán tín hiệu khi WMA vượt dưới AIOMA
  4. Logic giao dịch

    • Nhập vị trí dài trên tín hiệu mua
    • Nhập vị trí ngắn trên tín hiệu bán
    • Vị trí gần trên tín hiệu chéo ngược

Ưu điểm

  1. Sử dụng hai loại trung bình động khác nhau cải thiện độ chính xác tín hiệu
  2. AIOMA làm giảm tín hiệu sai thông qua nhiều đường mịn theo cấp số nhân
  3. WMA như là chỉ số chính phản ứng nhanh hơn với sự thay đổi giá để nắm bắt xu hướng sớm
  4. Logic giao dịch đơn giản, dễ hiểu và thực hiện

Rủi ro

  1. Sự chậm trễ quá mức do nhiều lần làm mịn EMA
  2. WMA dễ bị tín hiệu sai từ biến động giá ngắn hạn
  3. Không có logic dừng lỗ, có thể dẫn đến tổn thất lớn

Có thể giảm rủi ro thông qua tối ưu hóa tham số, thêm stop loss, lọc với các chỉ số khác vv

Các lĩnh vực cải tiến

  1. Kiểm tra các kết hợp tham số khác nhau để tìm ra các giá trị tối ưu
  2. Lệnh dừng lỗ kích hoạt cùng với tín hiệu nhập cảnh
  3. Các tín hiệu lọc sử dụng các chỉ số biến động
  4. Kết hợp các chiến lược định kích thước vị trí

Kết luận

Chiến lược này kết hợp các điểm mạnh của AIOMA và WMA bằng cách sử dụng chéo để tạo ra tín hiệu giao dịch. So với trung bình động đơn, nó cải thiện chất lượng tín hiệu.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SDTA

//@version=5
strategy("AIOMA-WMA Strategy", overlay=true)

// Parametreler
aioma_length = input(14, "AIOMA Length")
wma_length = input(21, "WMA Length")

// AIOMA hesaplama
length1 = aioma_length
ema1 = ta.ema(close, length1)
length2 = aioma_length
ema2 = ta.ema(ema1, length2)
length3 = aioma_length
ema3 = ta.ema(ema2, length3)
length4 = aioma_length
ema4 = ta.ema(ema3, length4)
aioma = ta.ema(ema4, aioma_length)

// WMA hesaplama
wma = ta.wma(close, wma_length)

// Kesişim kontrolü
cross_up = ta.crossover(wma, aioma)
cross_down = ta.crossunder(wma, aioma)

// İşlem fonksiyonu
enterTrade(dir, price, signalText, color) =>
    if dir
        strategy.entry("Enter", strategy.long)
        label.new(x = bar_index, y = price, text = signalText, color = color, textcolor = color, style = label.style_label_up, size = size.small, tooltip = "Entry Signal")
    else if not dir
        strategy.entry("Exit", strategy.short)
        label.new(x = bar_index, y = price, text = signalText, color = color, textcolor = color, style = label.style_label_down, size = size.small, tooltip = "Exit Signal")

// Long pozisyon girişi
if cross_up
    enterTrade(true, low, "Buy Signal", color.green)

// Short pozisyon girişi
if cross_down
    enterTrade(false, high, "Sell Signal", color.red)

// Pozisyon kapatma
if cross_up and strategy.position_size > 0
    strategy.close("Enter")
if cross_down and strategy.position_size < 0
    strategy.close("Exit")

// Grafiğe plot
plot(aioma, color=color.blue, linewidth=2, title="AIOMA")
plot(wma, color=color.red, linewidth=2, title="WMA")


Thêm nữa