
Strategi ini adalah sistem perdagangan dua hala yang berasaskan corak penyerapan carta K. Strategi ini mengenal pasti corak yang mempunyai ciri penyerapan di pasaran dengan menganalisis hubungan arah, amplitudo dan jumlah transaksi di garisan K yang berdekatan, dan berdagang ke arah yang sesuai apabila memenuhi syarat. Strategi ini menggunakan kaedah pengurusan peratusan dana, dengan logik pembukaan posisi yang lengkap.
Logik utama strategi ini adalah berdasarkan tiga syarat utama:
Apabila ketiga-tiga syarat ini dipenuhi secara serentak, strategi akan menentukan arah perdagangan berdasarkan arah garis K terkini: jika garis yang lebih, maka lebih banyak, jika garis yang lebih kosong. Strategi menggunakan kedudukan penuh untuk berdagang, dan melacak kedudukan melalui pembolehubah keadaan.
Strategi ini membina satu sistem perdagangan yang lengkap melalui analisis pelbagai dimensi mengenai bentuk K-line, amplitudo dan jumlah transaksi. Walaupun terdapat risiko tertentu, tetapi dengan arah pengoptimuman yang disyorkan, kestabilan dan kebolehpercayaan strategi dapat ditingkatkan lagi. Kelebihan utama strategi ini adalah kaedah analisis pelbagai dimensi dan mekanisme pengurusan keadaan yang baik, sesuai untuk digunakan dalam persekitaran pasaran yang bergelombang.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Candle Absorption Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Условия индикатора
// 1. Две соседних свечи должны быть разнонаправленными
condition1 = (close[1] > open[1] and close < open) or (close[1] < open[1] and close > open)
// 2. Дельта по цене открытия/закрытия у первой свечи меньше, чем у следующей
delta1 = math.abs(close[1] - open[1])
delta2 = math.abs(close - open)
condition2 = delta1 < delta2
// 3. Объем первой свечи должен быть больше, а последней меньше
condition3 = volume[1] > volume and volume < volume[2]
// Проверяем выполнение всех условий
all_conditions = condition1 and condition2 and condition3
// Определяем направление для входа
is_bullish = close > open // Зеленая свеча больше (бычье поглощение)
is_bearish = close < open // Красная свеча больше (медвежье поглощение)
// Переменные для отслеживания состояния позиции
var float entryPrice = na
var bool isLong = false
var bool isShort = false
// Логика генерации сигналов
buySignal = all_conditions and is_bullish and not isLong
sellSignal = all_conditions and is_bearish and not isShort
// Обработка лонгового входа
if (buySignal)
isLong := true
isShort := false
entryPrice := close
strategy.entry("Long", strategy.long)
// Обработка шортового входа
if (sellSignal)
isLong := false
isShort := true
entryPrice := close
strategy.entry("Short", strategy.short)
// Визуализация точек поглощения
// if all_conditions
// label.new(bar_index, high, "✔", color=is_bullish ? color.green : color.red, textcolor=color.white, style=label.style_circle, size=size.small)
// Логика сброса состояния при закрытии позиции
if (strategy.position_size == 0)
isLong := false
isShort := false
entryPrice := na
// Дополнительно: можно добавить стоп-лосс и тейк-профит (пример ниже)
// strategy.exit("Exit Long", from_entry="Long", stop=low - atr(14), limit=high + atr(14))
// strategy.exit("Exit Short", from_entry="Short", stop=high + atr(14), limit=low - atr(14))