Окончательная стратегия отслеживания тренда K-line


Дата создания: 2023-12-21 12:15:23 Последнее изменение: 2023-12-21 12:15:23
Копировать: 0 Количество просмотров: 1040
1
Подписаться
1621
Подписчики

Окончательная стратегия отслеживания тренда K-line

Обзор

Последняя K-линия - это стратегия отслеживания тенденций, которая используется для определения направления рыночной тенденции путем анализа отношений между ценой закрытия и ценой открытия последней K-линии, что приводит к появлению торговых сигналов.

Стратегический принцип

Основная логика этой стратегии заключается в следующем:

  1. Вычислите цены открытия и закрытия последней линии K
  2. Если цена открытия ниже цены закрытия, то это будет восходящая тенденция, которая будет давать сигнал покупки.
  3. Если цена открытия торгового дня выше цены закрытия торгового дня, то это будет признано как понижающий тренд, что будет сигналом к продаже.
  4. В зависимости от полученного торгового сигнала, открыть позицию вверх или вниз
  5. Установка стоп-лосс и стоп-стоп цены, выхода из стратегии

В частности, в стратегии, запросив данные о цене открытия и цене закрытия последней K-линии, направление тренда определяется на основе результатов сравнения цен. Если это тенденция к росту, то при закрытии K-линии открывается больше, чем рыночная цена; если это тенденция к снижению, то при закрытии K-линии открывается только рыночная цена.

Затем устанавливается цена стоп-лосса и стоп-стоп. Стоп-лосса многократного договора умножается на цену открытия линии K, а стоп-стоп - на текущую цену закрытия. В случае с пустым договором, наоборот.

Анализ преимуществ

  • Логика стратегии проста, ясна, легко понятна и реализуема
  • Используя последнюю K-линию для определения тенденции, CAPTURE отслеживает недавние тенденции изменения цен
  • Стоп-лост и стоп-паук, которые ограничивают риск падения

Анализ рисков

  • Последняя K-линия может иметь отклик или вибрацию, увеличивая вероятность whipsaw
  • Определение тенденции только на основе последней K-линии может быть скомпрометировано, следует объединить это с определением тенденции
  • Недостаточные данные отслеживания могут привести к пересчёту

Снижение риска может быть достигнуто с помощью признания трендов в сочетании с индикаторами, оптимизацией логики стоп-стоп, расширением периода отсчета и рыночной средой.

Направление оптимизации

  • Фильтрация времени входа в рынок с использованием таких показателей, как MA, MACD и т. д.
  • Стоп-лост может быть настроен на ATR
  • Модели машинного обучения могут быть использованы для определения направления тенденций.
  • Можно оптимизировать стратегии остановки убытков, такие как перемещение убытков, блокировка в группах и т. д.

Подвести итог

Последняя K-линия - это простая стратегия для отслеживания тенденции. Она быстро определяет направление тенденции и торгует по последней K-линии. Логика стратегии проста, ее легко реализовать и она соответствует идее отслеживания тенденции.

Исходный код стратегии
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Last Candle Strategy with Date Range", overlay=true)

// Define the start and end dates for the backtest
startDate = timestamp(2015, 01, 01, 00, 00)
endDate = timestamp(2023, 11, 24, 23, 59)

// Check if the current bar is within the specified date range
withinDateRange = time >= startDate and time <= endDate

// If outside the date range, skip the strategy logic
if (not withinDateRange)
    strategy.close_all()

// Calculate the opening and closing values for the last candle
lastCandleOpen = request.security(syminfo.tickerid, "D", open[1], lookahead=barmerge.lookahead_on)
lastCandleClose = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on)

// Determine the trade direction based on the last candle
tradeDirection = lastCandleOpen < lastCandleClose ? 1 : -1  // 1 for buy, -1 for sell

// Plot the last candle's opening and closing values on the chart
plot(lastCandleOpen, color=color.blue, title="Last Candle Open")
plot(lastCandleClose, color=color.red, title="Last Candle Close")

// Execute strategy orders
if (withinDateRange)
    if (tradeDirection == 1)
        strategy.entry("Buy", strategy.long)

    if (tradeDirection == -1)
        strategy.entry("Sell", strategy.short)

// Set stop loss and take profit
stopLoss = 0.01 * lastCandleOpen
takeProfit = close

// Exit strategy
strategy.exit("StopLoss/Profit", from_entry="Buy", loss=stopLoss, profit=takeProfit)
strategy.exit("StopLoss/Profit", from_entry="Sell", loss=stopLoss, profit=takeProfit)