Это стратегия торговли сверхтенденционными индикаторами, основанная на 5-минутной K-линии BankNifty. Стратегия основное использование сверхтенденционных индикаторов для идентификации тенденций, торговли в сочетании с торговыми периодами и правилами управления рисками.
Сначала стратегия определяет входные переменные, такие как время торговли и диапазон дат. Время торговли устанавливается на время торговли в Индии, с 9:15 до 3:10 утра.
Затем рассчитывается индикатор супертенденции и его направление.
В начале каждой торговой сессии стратегия состоит в том, чтобы ждать, пока не сформируются 3 K-линии, прежде чем рассматривать вход. Это делается для фильтрации ложных прорывов.
Многоголовый сигнал - это когда направление индикатора супертенденции изменяется снизу вверх; пустой сигнал - это когда направление индикатора супертенденции изменяется снизу вверх.
После входа в игру можно установить стоп-потерю, фиксированный стоп-пункт и стоп-процент отслеживания могут быть скорректированы с помощью ввода переменных.
По окончании торгового периода стратегия ликвидирует все не ликвидированные позиции.
Это простая торговая стратегия, которая использует индикаторы для определения тенденций. Она имеет следующие преимущества:
Однако эта стратегия также несет в себе некоторые риски:
Эти риски можно уменьшить, оптимизировав параметры индикатора супертенденции или добавив другие показатели.
Эта стратегия также может быть оптимизирована в следующих аспектах:
Эта стратегия является стратегией торговли сверхтрендовыми показателями, основанной на 5-минутной линии BankNifty. Она использует сверхтрендовые показатели для определения направления тенденции, в сочетании с торговыми периодами и правилами управления рисками для торговли.
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BankNifty 5min Supertrend Based Strategy, 09:15 Entry with Date Range and Risk Management")
// Session and date range input variables
session = input("0915-1510", "Session", group="Indian Session Time")
start_date = input(title="Start Date", defval=timestamp("01 Jan 2022 00:00:00"), group="Backtest Specific Range")
end_date = input(title="End Date", defval=timestamp("01 Dec 2023 23:59:59"))
atrPeriod = input(50, "ATR Length", group="SuperTrend Setting")
factor = input.float(3.0, "Factor", step=0.1)
useDelay = input(true, "Use Delay?", group="Delay at Session Start")
Delay = useDelay ? input(10, title="Delay N numbers of candle", group="Delay at Session Start") : na
useDelay_stopLoss = input(true, "Use Stoploss Points?", group="Risk Management")
stopLoss = useDelay_stopLoss ? input(100, "Stop Loss Points", group="Risk Management"): na
useDelay_stopLossPerc1 = input(true, "Use Stoploss Trail?", group="Risk Management")
stopLossPerc1 =useDelay_stopLossPerc1 ? input.float(0.1, "Stop Loss Trail%", step=0.1,maxval = 1, group="Risk Management"): na
// Check if current time is within the specified session and date range
inSession = true
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
// Wait for 3 candles to form at the start of every session
var candlesFormed = 0
if inSession and not inSession[1]
candlesFormed := 1
else if inSession and candlesFormed > 0
candlesFormed := candlesFormed + 1
else
candlesFormed := 0
//
// Only enter trades if 3 candles have formed at the start of the session
entryce = (ta.change(direction) < 0) or (candlesFormed >= Delay and direction < 0)
exitce = ta.change(direction) > 0
entrype = (ta.change(direction) > 0) or (candlesFormed >= Delay and direction > 0)
exitpe = ta.change(direction) < 0
var entryPrice = 0.0
if entryce and inSession
// Enter long trade
onePercent = strategy.position_avg_price *stopLossPerc1
entryPrice := close
strategy.entry("My Long Entry Id", strategy.long, comment="long" )
// Set stop loss at x% below entry price
strategy.exit("My Long Exit Id", "My Long Entry Id", stop=(entryPrice - stopLoss),trail_points=onePercent )
if entrype and inSession
onePercent1 = strategy.position_avg_price *stopLossPerc1
entryPrice := close
// Enter short trade
strategy.entry("My Short Entry Id", strategy.short, comment="short")
// Set stop loss at x% above entry price
strategy.exit("My Short Exit Id", "My Short Entry Id", stop=(entryPrice + stopLoss),trail_points=onePercent1)
// Close all trades at end of session
if not inSession and strategy.opentrades > 0
strategy.close_all()
// Plot Supertrend with changing colors
plot(supertrend, title="Supertrend", color=direction == 1 ? color.red : color.green, linewidth=2)