
Chiến lược này là một chiến lược theo dõi xu hướng đơn giản nhưng có lợi nhuận, dựa trên sự giao thoa của dòng TENKAN và dòng KIJUN của hệ thống nhận dạng ICHIMOKU trên khung thời gian một giờ để đánh giá xu hướng và kết hợp với chỉ số ADX để lọc ra thị trường có xu hướng yếu hơn để phát tín hiệu giao dịch. Chiến lược này chủ yếu áp dụng cho các cặp giao dịch BTC của các altcoin có giá trị thị trường lớn như ETH/BTC.
Chiến lược này sử dụng đường chuyển đổi (TENKAN line) và đường cơ sở (KIJUN line) của biểu đồ đám mây ICHIMOKU để đánh giá xu hướng thị trường. Trong đó, phương pháp tính toán đường TENKAN là trung bình của điểm cao gần nhất và điểm thấp gần nhất của 18 đường K trước đây, đại diện cho đường chuyển đổi nhanh; phương pháp tính toán đường KIJUN là trung bình của điểm cao gần nhất và điểm thấp gần nhất của 58 đường K trước đây, đại diện cho đường chuyển đổi tiêu chuẩn.
Khi đường chuyển đổi nhanh đi qua đường chuyển đổi tiêu chuẩn từ phía dưới, là tín hiệu đi lên; khi đường chuyển đổi nhanh đi qua đường chuyển đổi tiêu chuẩn từ phía trên xuống, là tín hiệu đi xuống. Như vậy, có thể bắt được sự chuyển đổi của xu hướng trung hạn.
Trong khi đó, chiến lược này cũng kết hợp với chỉ số ADX để lọc và điều chỉnh cường độ của xu hướng thị trường. Chỉ số ADX có thể đánh giá cường độ của xu hướng, khi ADX lớn hơn 20 thì xu hướng hiện tại là mạnh hơn. Vì vậy, chiến lược chỉ phát ra tín hiệu giao dịch khi ADX lớn hơn 20.
Tóm lại, chiến lược này sử dụng hướng xu hướng ngắn hạn của đường TENKAN và đường KIJUN để xác định hướng xu hướng trung hạn, kết hợp với các đợt phá vỡ giả của chỉ số ADX để khóa xu hướng thực, nhằm mục đích theo dõi xu hướng trung hạn và dài hạn.
Chiến lược này có một số ưu điểm:
Sử dụng ICHIMOKU Cloud Chart để xác định xu hướng, hệ thống chỉ số này đã được phát triển và đáng tin cậy, có thể xác định chính xác điểm biến hướng.
Kết hợp với bộ lọc chỉ số ADX để điều chỉnh các thị trường có cường độ yếu hơn, tránh giao dịch thường xuyên trong việc điều chỉnh.
Sử dụng chiến lược phát triển đường dây 1 giờ, có thể lọc tiếng ồn thị trường ngắn hạn và chỉ nắm bắt xu hướng đường dài và trung bình.
Chiến lược này đơn giản, trực quan, dễ hiểu và dễ theo dõi, phù hợp với người theo dõi xu hướng.
Chiến lược phản hồi có hiệu quả tốt, đặc biệt là trên các cặp tiền tệ thị trường lớn như ETH/BTC.
Chiến lược này cũng có một số rủi ro cần lưu ý:
Bản thân bản đồ ICHIMOKU Cloud rất nhạy cảm với các tham số, hiệu quả của các tham số chu kỳ khác nhau rất khác nhau, cần phải tùy chỉnh các tham số tốt nhất cho các cặp tiền tệ khác nhau.
Chỉ số ADX trong một số trường hợp có thể trì hoãn tín hiệu, có thể dẫn đến việc bỏ lỡ thời gian đầu vào tốt nhất.
Chiến lược theo dõi xu hướng đường dài và đường trung, hoạt động kém trong tình huống chấn động, dễ bị phá vỡ.
Chiến lược này có hiệu quả rất khác nhau giữa các cặp tiền tệ khác nhau và các chu kỳ thời gian khác nhau, và cần được sử dụng tùy thuộc vào sự lựa chọn giống mà bạn giỏi.
Giữ vị thế trong thời gian dài có nguy cơ cao và cần thiết phải thiết lập các điều kiện dừng lỗ và ngăn chặn thích hợp.
Chiến lược này có thể hỗ trợ các tín hiệu lọc bằng cách điều chỉnh tham số ADX, hoặc thêm các chỉ số khác như MACD để giảm tín hiệu ảo và tăng sự ổn định của chiến lược. Hoặc có thể có độ cứng tốt hơn bằng cách điều chỉnh các tham số động để phù hợp với các loại trường hợp khác nhau.
Chiến lược này cũng có một số ưu điểm chính:
Hoạt động tối ưu hóa các tham số của đường TENKAN và đường KIJUN để thích ứng tốt hơn với tình hình thực tế và các loại tiền tệ khác nhau.
Tối ưu hóa hoặc thay thế các chỉ số ADX để tìm ra các phương tiện đánh giá xu hướng nhạy cảm và hiệu quả hơn.
Tham gia chiến lược dừng lỗ, kiểm soát tỷ lệ lợi nhuận rủi ro của một giao dịch, tránh thua lỗ lớn.
Tối ưu hóa danh mục đầu tư, tìm kiếm các chỉ số bổ sung để hình thành chiến lược tích hợp, tăng sự ổn định.
Cấu trúc mã đã được cải tổ mô-đun, tăng tính linh hoạt cho các tham số tùy chỉnh, để phù hợp với nhiều giống hơn.
Thêm các biện pháp kiểm soát gió định lượng, chẳng hạn như rút tối đa, hệ số liên quan, v.v., để phòng ngừa nguy cơ của các tình huống cực đoan.
Nói tóm lại, chiến lược này nói chung là một chiến lược theo dõi xu hướng đơn giản và thực tế. Nó chủ yếu dựa trên TENKAN KIJUN kết hợp chéo với chỉ số ADX để xác định hướng xu hướng đường dài và phát tín hiệu giao dịch. Chiến lược này có hiệu quả đo lường tốt, đặc biệt phù hợp với các cặp tiền tệ thị trường lớn như ETH / BTC, có thể đạt được lợi nhuận ổn định hơn.
/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title="Odin's Kraken (TK Cross Strategy)", shorttitle="Odin's Kraken", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
src = input(close, title="Source")
// define tk in ichimoku
conversionPeriods = input(18, minval=1, title="Conversion Line Periods (Tenkan)"),
basePeriods = input(58, minval=1, title="Base Line Periods (Kijun)")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
TK_Uptrend = crossover(conversionLine,baseLine)
TK_Downtrend = crossunder(conversionLine,baseLine)
plot(conversionLine, color=lime, title="Tenkan", linewidth=3)
plot(baseLine, color=red, title="Kijun", linewidth=3)
// define ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
th = input(title="threshold", defval=20)
dirmov(len) =>
up = change(high)
down = -change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
truerange = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / truerange)
minus = fixnan(100 * rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
[plus, minus] = dirmov(dilen)
sig = adx(dilen, adxlen)
// backtesting range
// From Date Inputs
fromDay = input(defval = 3, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2018, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 3, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 9, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2019, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
// open long and short
longCondition = TK_Uptrend
if (longCondition and sig > 12 and time_cond)
strategy.entry("LONG", strategy.long)
shortCondition = TK_Downtrend
if (shortCondition and sig > 12 and time_cond)
strategy.entry("SHORT", strategy.short)
// close trade if backtesting criteria not met
if (not time_cond)
strategy.close_all()