Chiến lược chéo SMA Ichimoku là một chiến lược giao dịch phổ biến. Chiến lược này sử dụng các nguyên tắc chéo vàng và chéo chết của đường trung bình động, kết hợp với đám mây Ichimoku và đường trung bình di chuyển mượt mà SMA, để tạo thành một hệ thống giao dịch tương đối hoàn chỉnh. Chiến lược này có thể tự động mở và đóng các vị trí cổ phiếu.
Chiến lược này chủ yếu đánh giá việc mua và bán cổ phiếu thông qua so sánh giữa đường chuyển đổi và đường cơ sở trong chỉ số Ichimoku và các chéo chéo của đường trung bình di chuyển SMA ngắn hạn và dài hạn.
Cụ thể, mã xác định đường chuyển đổi, đường cơ sở, chặng đường dẫn đầu 1 và chặng đường dẫn đầu 2 của chỉ số Ichimoku. Đồng thời, đường trung bình di chuyển SMA dài hạn ma1 và đường trung bình di chuyển SMA ngắn hạn ma2 được xác định.
Khi đánh giá mua, đường chuyển đổi cần phải thấp hơn đường cơ sở và đường trung bình di chuyển ngắn hạn thấp hơn đường trung bình di chuyển dài hạn, tức là một đường chéo vàng xảy ra.
Khi đánh giá bán, đường chuyển đổi cần phải cao hơn đường cơ sở và trung bình di chuyển ngắn hạn cao hơn trung bình di chuyển dài hạn, tức là một đường chéo chết xảy ra.
Ngoài ra, mã cũng xác định một số điều kiện phụ, chẳng hạn như giá đóng cửa cao hơn ngày trước và sử dụng sự khác biệt và chia các giá trị trung bình động để đánh giá độ dốc.
Chiến lược này kết hợp các lợi thế của nhiều chỉ số kỹ thuật và có những lợi thế sau:
Bản thân đám mây Ichimoku chứa phán đoán xu hướng, kết hợp với SMA trung bình động có thể tạo thành một phán đoán xu hướng mạnh mẽ.
Đường trung bình di chuyển SMA có thể xác định xu hướng và động lực giá.
Thêm phán đoán giá đóng cửa có thể tránh việc mở và đóng các vị trí không cần thiết.
Việc tính toán độ dốc trung bình động làm tăng phán đoán về động lực của các giao thoa trung bình động và có thể lọc các giao thoa sai.
Nhìn chung, chiến lược này có phán đoán xu hướng tương đối chính xác, có thể giảm giao dịch không cần thiết và có một số chỗ cho tối ưu hóa.
Chiến lược này cũng có một số rủi ro:
Cả Ichimoku và SMA đều có thể chậm lại và không phản ánh sự thay đổi giá theo thời gian.
Sự kết hợp của nhiều điều kiện làm tăng sự phức tạp và xác suất lỗi.
Chiến lược chỉ dựa trên các chỉ số kỹ thuật và không thể đánh giá tác động của tin tức lớn.
Chiến lược không đặt ra các điều kiện dừng lỗ, với nguy cơ tăng lỗ.
Chiến lược không xem xét các điều kiện thị trường đặc biệt như củng cố.
Cài đặt tham số không chính xác cũng có thể ảnh hưởng đến hiệu suất chiến lược.
Chiến lược này có thể được tối ưu hóa trong các khía cạnh sau:
Thiết lập các điều kiện dừng lỗ để tự động dừng lỗ khi lỗ tăng.
Tăng sự đánh giá về các sự kiện tin tức lớn để tránh tác động của chúng.
Tăng sự phán đoán về các điều kiện thị trường đặc biệt như tăng phạm vi giao dịch hoặc điều chỉnh các tham số.
Kiểm tra và tối ưu hóa các kết hợp tham số để tìm các tham số tối ưu.
giới thiệu các thuật toán học máy để tối ưu hóa tham số và đánh giá thị trường.
Thêm các chỉ số động lực để tránh các sự đột phá sai.
Kết hợp thêm các yếu tố cơ bản như thay đổi khối lượng.
Tóm lại, chiến lược chéo SMA Ichimoku này tích hợp các lợi thế của trung bình động Ichimoku và SMA để tạo thành một chiến lược giao dịch chứng khoán tương đối hoàn chỉnh. Chiến lược này có khả năng xác định xu hướng mạnh mẽ và có thể nắm bắt các cơ hội xu hướng hiệu quả. Nhưng cũng có những vấn đề như chậm trễ, phức tạp cao, thiếu stop loss. Điều này cho phép tối ưu hóa chiến lược này. Bằng cách đặt stop loss, đánh giá các sự kiện tin tức lớn, tối ưu hóa các tham số và hơn thế nữa, chiến lược này có thể được cải thiện liên tục để trở thành một chiến lược giao dịch định lượng ổn định và đáng tin cậy.
/*backtest start: 2023-09-15 00:00:00 end: 2023-10-15 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // strategy("Ichimoku+SMAsmoothed", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0) // conversionPeriods = input(9, minval=1, title="Conversion Line Periods"), basePeriods = input(26, minval=1, title="Base Line Periods") laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"), displacement = input(26, minval=1, title="Displacement") SMA1=input(title="SMA LONG",defval=21) SMA2=input(title="SMA SHORT",defval=19) p=ohlc4[1] donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) //plot(conversionLine, color=#0496ff, title="Conversion Line") //plot(baseLine, color=#991515, title="Base Line") //plot(close, offset = -displacement, color=#459915, title="Lagging Span") //p1 = plot(leadLine1, offset = displacement, color=green, // title="Lead 1") //p2 = plot(leadLine2, offset = displacement, color=red, // title="Lead 2") //fill(p1, p2, color = leadLine1 > leadLine2 ? green : red) ma1=sma(p, SMA1) ma2=sma(p, SMA2) p_a = ma1*2 p_b = ma1 p_c = p_a - p_b p_d = p_c/24 p_e = ma2*2 p_f = ma2 p_g = p_e - p_f p_h = p_g/24 closelong = ohlc4<ohlc4[SMA1] and ohlc4<ohlc4[1]// and leadLine1<leadLine2 and p_h<p_d if (closelong) strategy.close("Long") closeshort = ohlc4>ohlc4[SMA1] and ohlc4>ohlc4[1]// and leadLine1>leadLine2 and p_h>p_d if (closeshort) strategy.close("Short") longCondition = ohlc4>ohlc4[1] and leadLine1>leadLine2 and p_h>p_d if (longCondition) strategy.entry("Long",strategy.long) shortCondition = ohlc4<ohlc4[1] and leadLine1<leadLine2 and p_h<p_d if (shortCondition) strategy.entry("Short",strategy.short)