
Стратегия использует прорыв в высоких и низких точках динамических временных рамок для создания торговых сигналов. Она определяет, стоит ли торговать, сравнивая максимальные и минимальные цены текущих временных рамок с ценой закрытия предыдущих временных рамок плюс минус определенное количество пунктов. Этот метод может адаптироваться к различным тенденциям и волатильности рынка, что повышает адаптивность и гибкость стратегии.
В основе этой стратегии лежит определение ценового движения с использованием высоких и низких точек в разных временных рамках. Во-первых, в зависимости от выбранного пользователем временного периода, получаются соответствующие данные о максимальной цене, минимальной цене и цене закрытия. Затем, путем сравнения, является ли максимальная цена в текущем временном периоде больше, чем цена закрытия в предыдущем временном периоде, добавляется определенное количество точек для определения сигнала покупки.
Динамическая временная рамка стратегии прорыва высоких и низких точек с использованием ценовых данных разных временных рамок для создания торговых сигналов на основе прорыва высоких и низких точек. Логика стратегии ясна, адаптивна, легко реализуема и оптимизируется. Но в то же время существуют такие проблемы, как чувствительность к параметрам, перенастройка и рыночный риск, которые требуют постоянной оптимизации и улучшения в практическом применении.
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(" NIFTY 65-15 ", overlay=true)
// Define input options for point settings and timeframe
points = input.int(60, title="Point Threshold", minval=1, step=1)
timeframe = input.timeframe("60", title="Timeframe", options=["1", "3", "5", "15", "30", "60", "240", "D", "W", "M"])
// Calculate high and low of the selected timeframe
high_timeframe = request.security(syminfo.tickerid, timeframe, high)
low_timeframe = request.security(syminfo.tickerid, timeframe, low)
close_timeframe = request.security(syminfo.tickerid, timeframe, close)
// Define conditions for Buy and Sell
buyCondition = high_timeframe > (close_timeframe[1] + points)
sellCondition = low_timeframe < (close_timeframe[1] - points)
// Entry and exit rules
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Close the positions based on the conditions
if (sellCondition)
strategy.close("Buy")
if (buyCondition)
strategy.close("Sell")
// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, title="Buy Entry", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Entry", color=color.red, style=shape.triangledown, location=location.abovebar)
// Plot the equity curve of the strategy
plot(strategy.equity, title="Equity", color=color.blue, linewidth=2)