Chiến lược này là một hệ thống giao dịch theo xu hướng toàn diện kết hợp nhiều cơ chế xác nhận tín hiệu bao gồm chỉ số Alligator, Awesome Oscillator (AO) và Accelerator Oscillator (AC).
Logic cốt lõi dựa trên ba thành phần chính: 1. Hệ thống cá sấu: Sử dụng đường trung bình động của các giai đoạn khác nhau (13/8/5), xác nhận hướng xu hướng thông qua đường chéo môi và răng. Hệ thống xác nhận động lượng: Kết hợp các chỉ số AO và AC, xác nhận sức mạnh xu hướng thông qua các giá trị dương / âm của chúng. 3. Hệ thống quản lý rủi ro: Sử dụng các thiết lập dừng lỗ năng động dựa trên các điểm cao / thấp 5 giai đoạn, với tỷ lệ rủi ro - phần thưởng 1: 2 cho các mức lợi nhuận.
Điều kiện kích hoạt nhiều tín hiệu: - Long Entry: môi vượt trên răng + dương AO + dương AC - Nhập ngắn: môi chéo dưới răng + AO âm + AC âm
Chiến lược này thiết lập một hệ thống giao dịch hoàn chỉnh thông qua việc sử dụng toàn diện nhiều chỉ số kỹ thuật. Hệ thống nhấn mạnh không chỉ độ chính xác tín hiệu mà còn quản lý rủi ro nghiêm ngặt để bảo vệ vốn. Mặc dù có một số rủi ro chậm trễ, chiến lược cho thấy hứa hẹn cho hiệu suất tốt hơn thông qua các hướng tối ưu hóa được đề xuất. Nó phù hợp với các nhà đầu tư tìm kiếm lợi nhuận ổn định.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Alligator with AO and AC Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // ---------------------------- Индикатор Аллигатор ---------------------------- // Параметры Аллигатора jawLength = input.int(13, title="Jaw Length") teethLength = input.int(8, title="Teeth Length") lipsLength = input.int(5, title="Lips Length") jawOffset = input.int(8, title="Jaw Offset") teethOffset = input.int(5, title="Teeth Offset") lipsOffset = input.int(3, title="Lips Offset") // Расчёт скользящих средних jawLine = ta.sma(close, jawLength) teethLine = ta.sma(close, teethLength) lipsLine = ta.sma(close, lipsLength) // Сдвиг линий jaw = jawLine[jawOffset] teeth = teethLine[teethOffset] lips = lipsLine[lipsOffset] // Отображение линий Аллигатора plot(jaw, color=color.blue, linewidth=2, title="Jaw (13,8)") plot(teeth, color=color.red, linewidth=2, title="Teeth (8,5)") plot(lips, color=color.green, linewidth=2, title="Lips (5,3)") // ---------------------------- Awesome Oscillator (AO) ---------------------------- // Расчёт AO medianPrice = (high + low) / 2 ao = ta.sma(medianPrice, 5) - ta.sma(medianPrice, 34) // Отображение AO hline(0, "Zero Line", color=color.gray) plot(ao, title="Awesome Oscillator", color=(ao >= 0 ? color.green : color.red), style=plot.style_histogram, linewidth=2) // ---------------------------- Accelerator Oscillator (AC) ---------------------------- // Расчёт AC ac = ao - ta.sma(ao, 5) // Отображение AC plot(ac, title="Accelerator Oscillator", color=(ac >= 0 ? color.green : color.red), style=plot.style_histogram, linewidth=2) // ---------------------------- Логика сигналов и управление позицией ---------------------------- // Условия для открытия длинной позиции longCondition = ta.crossover(lips, teeth) and ao > 0 and ac > 0 if (longCondition) // Определение уровней stop-loss и take-profit stopLevel = ta.lowest(low, 5) // Минимум за последние 5 свечей takeProfit = close + (close - stopLevel) * 2 // Соотношение риска к прибыли 1:2 // Открытие длинной позиции strategy.entry("Long", strategy.long) strategy.exit("Take Profit", "Long", limit=takeProfit, stop=stopLevel) // Условия для открытия короткой позиции shortCondition = ta.crossunder(lips, teeth) and ao < 0 and ac < 0 if (shortCondition) // Определение уровней stop-loss и take-profit stopLevelShort = ta.highest(high, 5) // Максимум за последние 5 свечей takeProfitShort = close - (stopLevelShort - close) * 2 // Соотношение риска к прибыли 1:2 // Открытие короткой позиции strategy.entry("Short", strategy.short) strategy.exit("Take Profit Short", "Short", limit=takeProfitShort, stop=stopLevelShort) // Отображение уровней на графике plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")