
Это стратегия, основанная на высокой частоте торгов в направлении закрытия K-линии в течение 1 минуты. Стратегия определяет движение рынка, оценивая связь между ценой закрытия и ценой открытия K-линии, и делает больше, когда формируется позиционная K-линия, и делает больше, когда формируется пассивная K-линия. Стратегия использует фиксированное время удержания позиции, устраняет позиции при закрытии следующей K-линии и ограничивает максимальное количество торгов в день, чтобы контролировать риск.
Основная логика стратегии заключается в том, чтобы оценивать краткосрочные рыночные тенденции с помощью K-линии:
Стратегия - это высокочастотная торговая система, основанная на закрытии K-линии, для захвата краткосрочных рыночных возможностей с помощью простого анализа ценового поведения. Преимущества стратегии заключаются в простоте логики, коротком времени удержания позиции и управляемом риске, но в то же время она сталкивается с такими проблемами, как высокая стоимость торговли и ложные прорывы.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-12-10 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Candle Close Strategy", overlay=true)
// Define conditions for bullish and bearish candlesticks
isBullish = close > open
isBearish = close < open
// Track the number of bars since the trade was opened and the number of trades per day
var int barsSinceTrade = na
var int tradesToday = 0
// Define a fixed position size for testing
fixedPositionSize = 1
// Entry condition: buy after the close of a bullish candlestick
if (isBullish and tradesToday < 200) // Limit to 200 trades per day
strategy.entry("Buy", strategy.long, qty=fixedPositionSize)
barsSinceTrade := 0
tradesToday := tradesToday + 1
// Entry condition: sell after the close of a bearish candlestick
if (isBearish and tradesToday < 200) // Limit to 200 trades per day
strategy.entry("Sell", strategy.short, qty=fixedPositionSize)
barsSinceTrade := 0
tradesToday := tradesToday + 1
// Update barsSinceTrade if a trade is open
if (strategy.opentrades > 0)
barsSinceTrade := nz(barsSinceTrade) + 1
// Reset tradesToday at the start of a new day
if (dayofmonth != dayofmonth[1])
tradesToday := 0
// Exit condition: close the trade after the next candlestick closes
if (barsSinceTrade == 2)
strategy.close("Buy")
strategy.close("Sell")
// Plot bullish and bearish conditions
plotshape(series=isBullish, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=isBearish, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Plot the candlesticks
plotcandle(open, high, low, close, title="Candlesticks")