Chiến lược Ichimoku Kinko Hyo


Ngày tạo: 2023-09-24 13:11:38 sửa đổi lần cuối: 2023-09-24 13:11:38
sao chép: 1 Số nhấp chuột: 736
1
tập trung vào
1617
Người theo dõi

Tổng quan

Chiến lược này kết hợp nhiều chỉ số kỹ thuật khác nhau như chỉ số Ichimoku Kinko Hyo, đường hạch, đường trung bình di chuyển Gaussian và MACD để đánh giá xu hướng và tìm kiếm thời điểm vào đáng tin cậy hơn.

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

  1. Ichimoku Kinko Hyo đánh giá chỉ số: Chuyển đổi đường trên đường Base Line được coi là tín hiệu báo hiệu.

  2. Đường hạch phá vỡ phán quyết: Giá đóng cửa ngày hôm nay tăng một phần so với giá đóng cửa ngày hôm qua xác nhận tín hiệu bullish.

  3. Đánh giá đường trung bình trên giá được coi là tín hiệu lạc quan.

  4. MACD phán đoán: DIFF đường đi qua DEA đường đi được coi là tín hiệu lạc quan.

  5. Các yếu tố đa dạng trên được tổng hợp để đánh giá thị trường đang đối mặt với sự chuyển đổi xu hướng, xác định thời điểm xem nhiều người tham gia.

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

  1. Một số chỉ số tổng hợp phán đoán, tăng độ chính xác của phán đoán.

  2. Các nhà nghiên cứu đã tìm ra cách để xác định các khung thời gian trong ngày và nhiều khung thời gian để tránh các đột phá giả.

  3. Ichimoku Kinko Hyo là người có khả năng đánh giá chính xác các xu hướng.

  4. Gaussian trung bình di chuyển trơn có tính chất chậm trễ hơn.

  5. MACD có thể đánh giá động lực đang đối mặt với sự thay đổi.

Rủi ro chiến lược

  1. Các trường hợp đa dạng có ít thời gian để thành lập cùng một lúc, có thể dẫn đến việc bỏ lỡ các điểm nhập cảnh tốt.

  2. Thiết lập tham số chỉ số không đúng có thể dẫn đến tín hiệu sai.

  3. Một số trường hợp có thể xảy ra sự khác biệt giữa phân định trong ngày và phân định trong nhiều khung thời gian.

  4. Những vụ đột phá giả vẫn có thể xảy ra và gây thiệt hại.

Phương pháp tối ưu hóa tương ứng:

  1. Điều chỉnh các tham số chỉ số, mở rộng thời gian nhập học.

  2. Kiểm tra các kết hợp các tham số khác nhau về giống và chu kỳ, tối ưu hóa tham số.

  3. Tối ưu hóa cấu hình khung thời gian để các tín hiệu khung thời gian được phối hợp.

  4. Thiết lập Stop Loss Stop, kiểm soát tổn thất đơn.

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

  1. Kiểm tra sự kết hợp của các chỉ số khác nhau để tìm ra sự kết hợp tốt hơn.

  2. Thêm các thuật toán học máy, sử dụng nhiều dữ liệu hơn để nâng cao khả năng phán đoán.

  3. Tăng khả năng phát hiện xu hướng, tránh giao dịch ngược.

  4. Tối ưu hóa các chiến lược quản lý tài chính, làm cho chiến lược vững mạnh hơn.

  5. Tối ưu hóa chiến lược dừng lỗ và tối đa hóa lợi nhuận.

Tóm tắt

Chiến lược này tích hợp nhiều chỉ số để xác định xu hướng, tham gia vào khi xác định xác suất cao hơn, xác nhận thông qua nhiều khung thời gian và nhiều chỉ số, tăng độ chính xác của phán đoán. Có thể tối ưu hóa từ điều chỉnh cửa sổ tham số, tối ưu hóa kết hợp và giới thiệu nhiều dữ liệu hơn, tích hợp nhiều tín hiệu yếu tố hơn, thu được nhiều cơ hội giao dịch hơn khi duy trì nền tảng ổn định.

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

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Ichimoku + Daily-Candle_X + HULL-MA_X + MacD", shorttitle="٩(̾●̮̮̃̾•̃̾)۶", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=26, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0,precision=6)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-500.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=25000.00, title="Target Point in $", type=float, step=1)
ot=1
p = input(7, minval=1, title="Length")
pi=3.1415926535
w=2*pi/p
beta = (1 - cos(w))/(pow(1.414,2.0/3) - 1)
alfa = -beta + sqrt(beta*beta + 2*beta)
ret1= pow(alfa,4)*close+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
ret2= pow(alfa,4)*close[1]+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1])
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")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
closelong = ret1<ret2 and close<ret2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
longCondition = ret1>ret2 and strategy.opentrades<ot and confidence>dt and close>ret2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
//                         /L'-, 
//                               ,'-.           /MM . .             /  L '-, 
//     .                    _,--dMMMM\         /MMM  `..           /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `QMM   ,<>         /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\       `  ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//a1=plot(n1,color=c)
//a2=plot(n2,color=c)
//plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
//plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
//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)
// remove the "//" from before the plot script if want to see the indicators on chart