
Последняя K-линия - это стратегия отслеживания тенденций, которая используется для определения направления рыночной тенденции путем анализа отношений между ценой закрытия и ценой открытия последней K-линии, что приводит к появлению торговых сигналов.
Основная логика этой стратегии заключается в следующем:
В частности, в стратегии, запросив данные о цене открытия и цене закрытия последней K-линии, направление тренда определяется на основе результатов сравнения цен. Если это тенденция к росту, то при закрытии K-линии открывается больше, чем рыночная цена; если это тенденция к снижению, то при закрытии K-линии открывается только рыночная цена.
Затем устанавливается цена стоп-лосса и стоп-стоп. Стоп-лосса многократного договора умножается на цену открытия линии K, а стоп-стоп - на текущую цену закрытия. В случае с пустым договором, наоборот.
Снижение риска может быть достигнуто с помощью признания трендов в сочетании с индикаторами, оптимизацией логики стоп-стоп, расширением периода отсчета и рыночной средой.
Последняя 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)