Chiến lược định lượng điện tử của Hucknall Kissing Clouds chủ yếu kết hợp một chỉ số biểu đồ điện tử và chỉ số RSI ngẫu nhiên, xây dựng tín hiệu chiến lược giao dịch định lượng, giao dịch tự động trên các loại chứng khoán bằng cách tăng trọng lượng phán đoán tín hiệu của cả hai. Chiến lược tổng hợp xem xét các tín hiệu tín hiệu điện tử và tín hiệu Stoch RSI với cường độ khác nhau, làm cho quyết định giao dịch mượt mà và ổn định hơn bằng cách đặt trọng lượng.
Chiến lược này sử dụng các chỉ số như đường chuyển đổi, đường chuẩn, đường dẫn đầu 1 và đường dẫn đầu 2 trong một biểu đồ đám mây kết hợp với đường K và đường D trong StochRSI. Một phần biểu đồ đám mây, nếu đường chuyển đổi cao hơn đường chuẩn và đường dẫn đầu 1 cao hơn đường dẫn trước 2, sẽ được coi là tín hiệu mạnh, và nếu đường chuyển đổi thấp hơn đường chuẩn, đường dẫn đầu 1 và đường dẫn trước 2 sẽ được coi là tín hiệu trống mạnh. Ngoài ra, đường chuyển đổi cao hơn hoặc thấp hơn đường chuẩn cũng tạo ra tín hiệu yếu có thể được mua hoặc bán.
Chiến lược này kết hợp sử dụng một biểu đồ đám mây và hai chỉ số StochRSI, có thể xác định xu hướng xu hướng và tình trạng quá mua quá bán, tín hiệu được toàn diện và đáng tin cậy hơn. So với việc sử dụng chỉ số nào đó một mình, có thể giảm phát sinh tín hiệu sai. Chỉ số một biểu đồ đám mây có thể đánh giá xu hướng trung bình chính xác hơn, chỉ số StochRSI có thể đo lường hiện tượng quá mua quá bán trong thời gian ngắn, kết hợp cả hai làm cho chiến lược phù hợp với các chu kỳ khác nhau.
Rủi ro lớn nhất của chiến lược này là cả biểu đồ đám mây và chỉ số StochRSI có thể tạo ra tín hiệu sai, đặc biệt là trong tình huống biến động, làm tăng số lần giao dịch không cần thiết. Ngoài ra, việc đặt trọng lượng và giá trị tham số cũng có thể ảnh hưởng lớn đến hiệu quả của chiến lược. Nếu trọng lượng không được thiết lập đúng, có thể bỏ lỡ tín hiệu quan trọng hoặc tạo ra quá nhiều tín hiệu sai. Một số tham số quan trọng như chiều dài RSI, chiều dài Stoch, v.v. cũng cần được thử nghiệm và tối ưu hóa cho các loại sản phẩm và môi trường thị trường khác nhau, nếu không sẽ ảnh hưởng đến hiệu quả của chiến lược.
Chiến lược này cũng có rất nhiều không gian tối ưu hóa. Thứ nhất, bạn có thể xem xét thêm các chỉ số như đường Brin, chỉ số KD, v.v., để phán đoán tín hiệu được toàn diện hơn. Thứ hai, bạn có thể sử dụng các phương pháp như học máy hoặc thuật toán di truyền để tự động tối ưu hóa tham số, thay vì sử dụng tham số cố định, làm cho chiến lược trở nên thông minh hơn và thích ứng hơn.
Chiến lược định lượng quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường quãng đường
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Baracuda Ichimoku/StochRSI Strategy", overlay=true)
DecisionWeight = input(50, minval = 0, title="BUY/SELL decision weight")
ichimokuStrong = input(35, minval = 0, title="Ichimoku strong weight")
ichimokuStandard = input(20, minval = 0, title="Ichimoku standard weight")
ichimokuWeak = input(20, minval = 0, title="Ichimoku weak weight")
stochRSIWweak = input(30, minval = 0, title="Stoch RSI weight")
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(5, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
lengthRSI = input(8, minval=8) //14
lengthStoch = input(5, minval=5)//14
smoothK = input(3,minval=3)
smoothD = input(3,minval=3)
OverSold = input(20)
OverBought = input(80)
rsi1 = rsi(close, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
stronglong = conversionLine > baseLine and leadLine1 > leadLine2
strongshort = conversionLine < baseLine and leadLine1 < leadLine2
weaklong = conversionLine > baseLine
weakshort = conversionLine < baseLine
RSIlong = k > d and k < OverSold and d < OverSold
RSIshort = k < d and k > OverBought and d > OverBought
long=(((stronglong ? 1:0)*ichimokuStrong) + ((weaklong? 1:0)*ichimokuWeak) + ((RSIlong? 1:0)*stochRSIWweak)) > DecisionWeight
short=(((strongshort? 1:0)*ichimokuStrong) + ((weakshort? 1:0)*ichimokuWeak) + ((RSIshort? 1:0)*stochRSIWweak)) > DecisionWeight
strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)