
Đây là một chiến lược giao dịch định lượng kết hợp phân tích hình dạng với hình dạng đường nòng. Chiến lược này thực hiện giao dịch tự động có lợi nhuận thấp và rủi ro cao bằng cách phát hiện các ngã ba quan trọng trong biểu đồ giá và hình dạng nòng đại diện cho sự đảo ngược mạnh mẽ.
Chiến lược này dựa trên phân tích chi tiết về xu hướng giá, kết hợp phân tích hình dạng và phân tích đường nét, thiết lập logic nhập cảnh và logic dừng rõ ràng, có thể thực hiện theo dõi hiệu quả về xu hướng.
Cụ thể, điều kiện nhập cảnh của nó là: giá vượt qua hai đường K đầu tiên là giá cao nhất và có một hình thức điểm cao hoặc hình thức nuốt nhiều đầu hoặc một trong các hình thức thùng. Điều kiện kết hợp này có thể xác nhận hiệu quả cơ hội đợt tăng giá.
Về hình thức phán đoán, chiến lược này kết hợp sử dụng các đường phân loại để xác định các ngã tư quan trọng và ba hình thức ngã tư điển hình để đánh giá xu hướng đảo ngược. Trong đó, phân loại các ngã tư quan trọng sử dụng lý thuyết phân loại rộng hơn, phân loại các hình thức như đa đầu, nuốt trôi không đầu và ngã tư sử dụng các thuật toán đã phát triển hơn.
Trong thực hiện cụ thể, chiến lược này được viết bằng kịch bản pine. Logic thực hiện phân loại phát hiện của nó là phân loại đỉnh khi giá cao nhất của dòng K hiện tại bằng giá cao nhất của 3 dòng K trước đó. Nguyên tắc phán đoán của phân loại dưới tương tự.
Những ưu điểm chính của chiến lược này là:
Tuy nhiên, chiến lược này vẫn có một số rủi ro cần lưu ý:
Các rủi ro trên có thể được kiểm soát bằng cách tối ưu hóa chiến lược dừng lỗ, giới thiệu bộ lọc xu hướng, sử dụng các công cụ định lượng để xác minh các tham số chiến lược.
Chiến lược này có thể được tối ưu hóa hơn bao gồm:
Những cải tiến trên có thể giúp tăng cường tính ổn định và lợi nhuận của chiến lược.
Bài viết này giới thiệu chi tiết về một chiến lược giao dịch định lượng dựa trên đường phân loại và hình dạng hình nón. Chiến lược này được đánh giá chính xác, dễ thực hiện, có thể nắm bắt xu hướng giá một cách hiệu quả và thực hiện giao dịch tự động. Sau khi được tối ưu hóa và xác minh liên tục, hiệu suất của nó sẽ được nâng cao hơn nữa, đáng để các nhà đầu tư hoặc thương nhân nghiên cứu và áp dụng sâu hơn.
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Fractal & Pattern Entry/Exit Strategy", overlay=true)
// Fractal calculation
fractalHigh = high == highest(3)
fractalLow = low == lowest(3)
// Pattern detection
bullishEngulfing = open < close[1] and close > open[1] and close > open + (open[1] - close[1]) * 2 and low < min(open, close) and high > max(open, close) and open[1] > close[1]
bearishEngulfing = open > close[1] and close < open[1] and open > close + (close[1] - open[1]) * 2 and high > max(open, close) and low < min(open, close) and open[1] < close[1]
hammer = open < close and close > (high + low + open * 2) / 4 and close - open > (high - low) * 0.6 and high - close < (high - low) * 0.1 and open - low < (high - low) * 0.1
hangingMan = open > close and open < (high + low + close * 2) / 4 and open - close > (high - low) * 0.6 and high - open < (high - low) * 0.1 and close - low < (high - low) * 0.1
// Entry condition
longCondition = crossover(close, highest(2)[1]) and (fractalHigh or bullishEngulfing or hammer)
shortCondition = crossunder(close, lowest(2)[1]) and (fractalLow or bearishEngulfing or hangingMan)
// Exit condition
exitLongCondition = crossunder(close, lowest(2)[1])
exitShortCondition = crossover(close, highest(2)[1])
// Entry and exit orders
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (exitLongCondition)
strategy.close("Long")
if (exitShortCondition)
strategy.close("Short")
// Plot fractals
plotshape(fractalHigh, title="Fractal High", style=shape.triangledown, location=location.abovebar, color=color.green, size=size.small)
plotshape(fractalLow, title="Fractal Low", style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small)
// Plot patterns
plotshape(bullishEngulfing, title="Bullish Engulfing", style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small)
plotshape(bearishEngulfing, title="Bearish Engulfing", style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)
plotshape(hammer, title="Hammer", style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small)
plotshape(hangingMan, title="Hanging Man", style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)