Chiến lược giao cắt đường trung bình động Ichimoku


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

Chiến lược giao cắt đường trung bình động Ichimoku

Tổng quan

Chiến lược giao chéo Ichimoku bằng cách tính toán một loạt các đường trung bình, nhận ra tín hiệu giao chéo giá cổ phiếu, thực hiện các hoạt động ngắn và ngắn. Chiến lược này kết hợp nhiều chỉ số kỹ thuật, vững chắc và đáng tin cậy, phù hợp với hoạt động đường dài và trung bình.

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

Chiến lược Ichimoku Equilibrium Crossover sử dụng một hệ thống chỉ số chuyên dụng gồm 5 đường trung bình. Cụ thể, nó bao gồm đường giao dịch, đường chuẩn, đường dẫn trước 1, đường dẫn trước 2 và đường trì hoãn 5 đường trung bình. Trong đó, đường giao dịch là đường trung bình của động lực giá gần đây, đường chuẩn phản ánh xu hướng giá trung hạn và dài hạn, đường dẫn kết hợp đường giao dịch và đường chuẩn, phản ánh xu hướng tương lai, đường trì hoãn hiển thị giá trong quá khứ.

Lợi thế chiến lược

Ichimoku là một tập hợp các chỉ số kỹ thuật. Nó kết hợp nhiều ý tưởng chiến lược như trung bình di chuyển, kênh giá, xác nhận giá cả, tạo thành một hệ thống hệ thống. Điều này đảm bảo tính chính xác và định hướng của tín hiệu giao dịch.

Rủi ro chiến lược

Ichimoku là một chiến lược theo dõi xu hướng với khoảng thời gian giao dịch dài. Điều này có nghĩa là chiến lược không thể nắm bắt được biến động giá trong thời gian ngắn. Ngoài ra, chỉ số đường trung bình sẽ bị mất hiệu lực khi giá cổ phiếu dao động mạnh. Trong những trường hợp này, sẽ tạo ra tín hiệu sai và giao dịch thua lỗ.

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

Chiến lược giao chéo trung bình Ichimoku có thể được tối ưu hóa theo các hướng sau: 1) điều chỉnh tham số trung bình để phù hợp với các chu kỳ và giống khác nhau; 2) chỉ số năng lượng kết hợp, xác nhận mối quan hệ giữa giá và khối lượng giao dịch; 3) giới thiệu mô hình học máy, cải thiện phán đoán tín hiệu; 4) thêm nhiều điều kiện và bộ lọc, giảm khả năng giao dịch sai.

Tóm tắt

Chiến lược Ichimoku Linear Crossover là một chiến lược ổn định và đáng tin cậy, phù hợp với chiến lược cốt lõi và được sử dụng với các bộ thuật toán khác. Nó cung cấp định hướng giao dịch xu hướng rõ ràng, trong khi điều chỉnh tham số và tối ưu hóa đa chỉ số làm cho chiến lược trở nên thông minh và linh hoạt hơn. Chiến lược này đáng để các nhà giao dịch định lượng nghiên cứu và áp dụng lâu dài.

Mã nguồn chiến lược
/*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()