Ichimoku Moving Average Crossover chiến lược

Tác giả:ChaoZhang, Ngày: 2023-12-19 15:40:53
Tags:

img

Tổng quan

Chiến lược chéo trung bình di chuyển Ichimoku xác định các tín hiệu dài và ngắn bằng cách tính toán một tập hợp các đường trung bình di chuyển và phát hiện các đường chéo giá. Chiến lược này kết hợp nhiều chỉ số kỹ thuật và cung cấp giao dịch vững chắc và đáng tin cậy cho các hoạt động trung hạn đến dài hạn.

Chiến lược logic

Chiến lược Ichimoku sử dụng một hệ thống chuyên dụng bao gồm 5 đường trung bình động, cụ thể là đường chuyển đổi, đường cơ sở, trải dài dẫn đầu 1, trải dài dẫn đầu 2 và trải dài chậm. Cụ thể, đường chuyển đổi mô tả đà tăng giá gần đây, đường cơ sở cho thấy xu hướng trung bình đến dài hạn, các đường dẫn đầu kết hợp chuyển đổi và cơ sở để dự đoán các chuyển động trong tương lai, và trải dài chậm hiển thị giá quá khứ để tham khảo. Các tín hiệu giao dịch được tạo ra khi giá vượt qua đường cơ sở. Chiến lược cũng kết hợp các bộ lọc cơ thể và màu nến để tránh phá vỡ sai.

Ưu điểm

Chiến lược Ichimoku kết hợp các điểm mạnh của các chỉ số kỹ thuật khác nhau thành một hệ thống. Nó hợp nhất các khái niệm về đường trung bình động, kênh giá, xác nhận khối lượng vv, tạo thành một phương pháp hệ thống. Điều này đảm bảo độ chính xác và định hướng của các tín hiệu giao dịch. So với các chiến lược chỉ số duy nhất, nó làm giảm đáng kể các tín hiệu sai và tăng các yếu tố lợi nhuận.

Rủi ro

Là một hệ thống theo xu hướng, chiến lược Ichimoku có khoảng thời gian giao dịch tương đối dài. Điều này có nghĩa là không thể nắm bắt các dao động giá ngắn hạn. Ngoài ra, đường trung bình động thất bại khi giá dao động mạnh mẽ. Những tình huống như vậy có thể dẫn đến tín hiệu sai và thua giao dịch.

Cơ hội gia tăng

Chiến lược Ichimoku có thể được cải thiện trong các lĩnh vực như: 1) Điều chỉnh các tham số trung bình cho các giai đoạn và sản phẩm khác nhau; 2) Kết hợp các chỉ số khối lượng để xác nhận mối quan hệ giá-độ lượng; 3) giới thiệu các mô hình học máy để tinh chỉnh xác định tín hiệu; 4) Thêm nhiều bộ lọc để giảm xác suất giao dịch không chính xác.

Kết luận

Chiến lược chéo trung bình di chuyển Ichimoku ổn định và đáng tin cậy phù hợp như một chiến lược cốt lõi kết hợp với các thuật toán khác. Hướng dẫn xu hướng rõ ràng và tính linh hoạt do điều chỉnh tham số và tối ưu hóa nhiều chỉ số làm cho nó có giá trị cho nghiên cứu sâu sắc và ứng dụng dài hạn bởi các nhà giao dịch lượng.


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

//Noro
//2018

//@version=3
strategy(title = "Noro's Ichimoku Strategy v1.0", shorttitle = "Ichimoku str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
conversionPeriods = input(9, minval = 1, title = "Conversion Periods")
basePeriods = input(26, minval = 1, title = "Base Periods")
laggingSpan2Periods = input(52, minval = 1, title = "Lagging Span")
usebf = input(true, defval = true, title = "Use body filter")
usecf = input(true, defval = true, title = "Use color filter")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Ichimoku
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

//Lines
plot(conversionLine, color=red, title="Conversion Line")
plot(baseLine, color=blue, title="Base Line")
plot(close, offset = -basePeriods, color=green, title="Lagging Span")
p1 = plot(leadLine1, offset = basePeriods, color=green, title="Lead 1")
p2 = plot(leadLine2, offset = basePeriods, color=red, title="Lead 2")
fill(p1, p2)

//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 3 or usebf == false

//Color Filter
bar = close > open ? 1 : close < open ? -1 : 0
gb = bar == 1 or usecf == false
rb = bar == -1 or usecf == false

//Signals
up = low > baseLine and rb and body
dn = high < baseLine and gb and body

//Trading
if up
    //if strategy.position_size < 0
    //    strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    //if strategy.position_size > 0
    //    strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

Thêm nữa