Chiến lược giao dịch mã giá trung bình hàng ngày lệch giá


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

Chiến lược giao dịch mã giá trung bình hàng ngày lệch giá

Tổng quan

Chiến lược này dựa trên một bảng chỉ số Ichimoku Kinko Hyo để tạo tín hiệu giao dịch. Ichimoku Kinko Hyo là bảng cân bằng ngay lập tức, nó kết hợp các ưu điểm của đường trung bình di chuyển và các chỉ số băng tần, đồng thời có thể xác định hướng xu hướng và hỗ trợ mức kháng cự, được coi là một chỉ số tổng hợp.

Chiến lược này sử dụng đường thành phần của Ichimoku Kinko Hyo để đánh giá chiều hướng và sức mạnh của xu hướng. Nó tạo ra tín hiệu giao dịch khi giá phá vỡ đường lên xuống của biểu đồ đám mây.

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

Chiến lược này sử dụng năm dòng thành phần của Ichimoku Kinko Hyo:

  1. Đường Tenkan ((đường xoay): trung bình 9 ngày của giá cao nhất và giá thấp nhất
  2. Đường Kijun ((đường chuẩn): trung bình 26 ngày của giá cao nhất và giá thấp nhất
  3. Senkou Span A (trước 1): Trung bình của đường Tenkan và đường Kijun
  4. Senkou Span B (trước hai): trung bình 52 ngày của giá cao nhất và giá thấp nhất
  5. Đường Chikou ((đường chậm): trung bình trễ 26 ngày của giá đóng cửa

Một bản đồ khác của Ichimoku, bao gồm Senkou Span A và Senkou Span B, đại diện cho khu vực xu hướng hiện tại.

Các tín hiệu giao dịch cho chiến lược này xuất phát từ các tình huống sau:

  1. Giá từ dưới phá vỡ biểu đồ đám mây lên đường ray: làm nhiều tín hiệu
  2. Giá từ trên phá vỡ đường băng xuống của biểu đồ đám mây: tín hiệu giảm giá
  3. Giá từ bên dưới lên trên: Tạo nhiều cơ hội thâm nhập ngang hàng
  4. Giá đi vào từ trên Cloud Graph: Tạo cơ hội thâm nhập ngang hàng ngang hàng

Ngoài ra, chiến lược này cũng đánh giá thời gian dừng chân và dừng lỗ của đường Tenkan và đường Kijun.

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

Lợi thế lớn nhất của chiến lược này là khả năng sử dụng chỉ số Ichimoku Kinko Hyo để xác định hướng xu hướng và hỗ trợ sức đề kháng.

  1. Sử dụng mô hình đám mây để đánh giá xu hướng chính, tránh hoạt động ngược.
  2. Sử dụng đường thành phần để xác định mức kháng cự hỗ trợ, tìm kiếm cơ hội giao dịch đột phá.
  3. Tăng cơ hội tham gia cạnh tranh cạnh tranh, mở rộng không gian lợi nhuận.

Ngoài ra, chiến lược này đã thêm vào các mô-đun dừng lỗ và dừng chết để khóa một phần lợi nhuận và kiểm soát rủi ro.

Rủi ro và giải pháp

Rủi ro chính của chiến lược này nằm ở khả năng nhảy vọt do thuật toán dòng thành phần Ichimoku gây ra. Điều này có thể gây ra nguy cơ đột phá giả.

Giải pháp là điều chỉnh các tham số của thuật toán, giảm khoảng cách giữa các dòng thành phần, hoặc thêm các điều kiện bộ lọc để tránh đi vào vùng rung.

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

Có một số hướng mà chiến lược này có thể được cải thiện:

  1. Tối ưu hóa các tham số của dòng thành phần Ichimoku, điều chỉnh chu kỳ đường trung bình để phù hợp với nhiều giống và chu kỳ hơn.

  2. Tăng cường xác nhận giao dịch, tránh các tín hiệu giả tạo gây ra bởi các cuộc không kích.

  3. Kết hợp với các bộ lọc của các chỉ số khác, chẳng hạn như MACD, RSI, để xác định xu hướng và vùng quá mua quá bán.

  4. Tối ưu hóa logic dừng lỗ, chẳng hạn như phương pháp di chuyển dừng lỗ, thu nhỏ.

Tóm tắt

Tóm lại, chiến lược này sử dụng biểu đồ đám mây và đường thành phần của Ichimoku Kinko Hyo để xác định hướng xu hướng và cơ hội giao dịch. Ưu điểm của chiến lược nằm ở việc xác định xu hướng rõ ràng, thời gian nhập vào chính xác. Bằng cách tối ưu hóa tham số và tăng điều kiện lọc, tỷ lệ tín hiệu giả có thể được giảm thêm, do đó có thể có hiệu suất chiến lược tốt hơn.

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

//@version=5
strategy("Ichimoku Cloud", shorttitle="Ichimoku", overlay=true)

previous_close = close[1]

conversionPeriods = input.int(20, minval=1, title="Conversion Line Periods"),
basePeriods = input.int(60, minval=1, title="Base Line Periods")
laggingSpan2Periods = input.int(120, minval=1, title="Lagging Span 2 Periods"),
displacement = input.int(30, minval=1, title="Displacement")

long_entry = input.bool(true, title="Long Entry")
short_entry = input.bool(true, title="Short Entry")
e2e_entry = input.bool(true, title="E2E Entry")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))

tenkan = donchian(conversionPeriods)
kijun = donchian(basePeriods)
spanA = math.avg(tenkan, kijun)
spanB = donchian(laggingSpan2Periods)

plot(tenkan, color=#0496ff, title="Conversion Line")
plot(kijun, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")

p1 = plot(spanA, offset = displacement, color=#459915, title="Lead 1")
p2 = plot(spanB, offset = displacement, color=#991515, title="Lead 2")
fill(p1, p2, color = spanA > spanB ? #459915 : #991515)

ss_high = math.max(spanA[displacement - 1], spanB[displacement - 1])
ss_low = math.min(spanA[displacement - 1], spanB[displacement - 1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
kumo_twist_bull = ta.mom(close, displacement) > 0
kumo_twist_bear = ta.mom(close, displacement) < 0

price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

price_enters_kumo_top = previous_close > ss_high[1] and close < ss_high
price_enters_kumo_bottom = previous_close < ss_low[1] and close > ss_low

bullish = tk_cross_bull and kumo_twist_bull and price_above_kumo
bearish = tk_cross_bear and kumo_twist_bear and price_below_kumo

bullishe2e = price_enters_kumo_bottom // and tk_cross_bull
bearishe2e = price_enters_kumo_top // and tk_cross_bear

price_touches_kumo_top = ta.cross(close, ss_high)
price_touches_kumo_bottom = ta.cross(close, ss_low)

strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.close("Long", when=tk_cross_bear)
strategy.close("Long", when=price_enters_kumo_top)

strategy.entry("Long e2e", strategy.long, when=bullishe2e and e2e_entry)
strategy.close("Long e2e", when=price_touches_kumo_top)
strategy.close("Long e2e", when=price_below_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)

strategy.entry("Short", strategy.short, when=bearish and short_entry)
strategy.close("Short", when=tk_cross_bull)
strategy.close("Short", when=price_enters_kumo_bottom)

strategy.entry("Short e2e", strategy.short, when=bearishe2e and e2e_entry)
strategy.close("Short e2e", when=price_touches_kumo_bottom)
strategy.close("Short e2e", when=price_above_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)