Tối ưu hóa chiến lược Ichimoku Cloud Band


Ngày tạo: 2024-01-19 14:45:21 sửa đổi lần cuối: 2024-01-19 14:45:21
sao chép: 0 Số nhấp chuột: 641
1
tập trung vào
1617
Người theo dõi

Tối ưu hóa chiến lược Ichimoku Cloud Band

Tổng quan

Chiến lược này là một chiến lược theo dõi xu hướng kết hợp một chỉ số biểu đồ đám mây và nhiều chỉ số phụ. Chủ yếu sử dụng một biểu đồ đám mây để xác định hướng xu hướng, với các chỉ số như MACD, CMF, TSI và các bộ lọc bổ sung để cải thiện chất lượng tín hiệu. Đây là một chiến lược xu hướng mạnh mẽ với kết hợp nhiều yếu tố.

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

Chiến lược này chủ yếu sử dụng sự thay đổi của một bản đồ đám mây để đánh giá xu hướng. Khi antenna đi qua vùng mây, hãy làm nhiều và khi đi qua vùng mây, hãy để trống. Đồng thời kết hợp dây lốp dự phòng, hình ảnh cột MACD, chỉ số CMF và chỉ số TSI để lọc nhiều lớp để đảm bảo chất lượng tín hiệu.

Các điều kiện kích hoạt của nhiều tín hiệu là:

  1. Mây băng trên sóng
  2. Dải mây rộng hơn, đường chuyển hướng trên đường chuẩn
  3. Đường trễ trên trục 0
  4. Giá bán ra gần mức cao nhất
  5. Biểu đồ MACD trên trục 0
  6. CMF lớn hơn 0,1
  7. TSI trên trục 0

Các điều kiện kích hoạt của tín hiệu làm trống là điều kiện ngược lại của điều kiện trên. Bằng cách đánh giá tổng hợp nhiều chỉ số, có thể lọc hiệu quả hầu hết các tín hiệu giả và khóa xu hướng chính của thị trường.

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

Lợi thế lớn nhất của chiến lược này là kết hợp nhiều chỉ số để loại bỏ các tín hiệu giả và nắm bắt xu hướng mạnh. Cụ thể, có một số lợi thế chính như sau:

  1. Một bản đồ đám mây để đánh giá xu hướng chính, đảm bảo rằng hướng lớn là đúng
  2. Các chỉ số phụ giúp lọc tín hiệu hơn nữa, giảm rủi ro giao dịch
  3. Các yếu tố thời gian được xem xét toàn diện, tín hiệu đáng tin cậy hơn
  4. Điều kiện nghiêm ngặt, chỉ giao dịch tín hiệu chất lượng cao, tránh thị trường nhàn rỗi
  5. Kết hợp theo dõi xu hướng, tối đa hóa lợi nhuận theo xu hướng

Bằng cách đánh giá tổng hợp trên, chiến lược có thể nắm bắt hiệu quả các lĩnh vực nóng trung bình và dài của thị trường chứng khoán, theo dõi xu hướng và kiếm được lợi nhuận vượt trội.

Rủi ro chiến lược

Chiến lược này có nhiều rủi ro:

  1. Rủi ro phá vỡ giả. Khi giá bị phá vỡ giả, có thể tạo ra tín hiệu sai.
  2. Rủi ro đảo ngược xu hướng. Hoạt động của cổ phiếu là có quy tắc, chạy dài chắc chắn sẽ quay trở lại, có khả năng mất toàn bộ lợi nhuận.
  3. Tỷ lệ giao dịch thấp, rủi ro thấp. Điều kiện nghiêm ngặt, có thể bỏ lỡ một số cơ hội.

Các biện pháp để giảm nguy cơ như:

  1. Các điều kiện lọc được nới lỏng một cách thích hợp, tăng tần suất giao dịch.
  2. Tăng điều kiện dừng lỗ để tránh tổn thất.
  3. Tối ưu hóa tham số, tăng độ chính xác tín hiệu.

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

Chiến lược này có thể được tối ưu hóa từ các khía cạnh sau:

  1. Tối ưu hóa tham số. Các tham số có thể được tối ưu hóa thông qua nhiều dữ liệu phản hồi hơn để tìm ra sự kết hợp tham số tốt hơn.

  2. Tăng cơ chế ngăn chặn thiệt hại. Nới lỏng các điều kiện nhập cảnh thích hợp, nhưng đặt chặn để kiểm soát rủi ro.

  3. Tăng mức dừng di chuyển. Sử dụng xu hướng theo dõi dừng để khóa lợi nhuận và tránh đảo ngược tổn thất.

  4. Tối ưu hóa các chỉ số lọc. Bạn có thể thử nghiệm nhiều chỉ số hơn để tìm một sự kết hợp tốt hơn của các tín hiệu lọc.

  5. Thêm các quy tắc để tự động nhận diện các đột phá giả mạo.

Tóm tắt

Chiến lược này sử dụng một mô hình đám mây kết hợp với nhiều chỉ số phụ trợ để đánh giá hiệu quả. Bằng các phương tiện như tối ưu hóa tham số, cải thiện cơ chế dừng lỗ và tối ưu hóa chỉ số, bạn có thể tăng cường sự ổn định của chiến lược, cải thiện chất lượng tín hiệu và thu được thu nhập ổn định cao hơn. Chiến lược này có tính thực tế mạnh mẽ.

Mã nguồn chiến lược
/*backtest
start: 2024-01-11 00:00:00
end: 2024-01-13 14:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy("Ichimoku with MACD/ CMF/ TSI", overlay=true, margin_long=0, margin_short=0)



//Inputs
ts_bars = input(10, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(30, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input(26, minval=1, title="Chikou-Span Offset")
ss_offset = input(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

middle(len) => avg(lowest(len), highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)


ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
fast_length = input(title="Fast Length", type=input.integer, defval=17)
slow_length = input(title="Slow Length", type=input.integer, defval=28)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 5)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=true)

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low


//CMF
lengthA = input(8, minval=1, title="CMF Length")
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthA) / sum(volume, lengthA)


//TSI
long = input(title="Long Length", type=input.integer, defval=8)
short = input(title="Short Length", type=input.integer, defval=8)
price = close
double_smooth(src, long, short) =>
	fist_smooth = ema(src, long)
	ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)



bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0  and mf < -0.1 and tsi_value < 0



strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.entry("Short", strategy.short, when=bearish and short_entry)

strategy.close("Long", when=bearish and not short_entry)
strategy.close("Short", when=bullish and not long_entry)