Внутренний диапазон порога - это стратегия ценового действия, которая принимает торговые решения на основе внутренних паттернов порога. Она возникает, когда диапазон текущего порога, измеряемый разницей между высоким и низким, меньше, чем в предыдущем пороге, что указывает на консолидацию или нерешительность на рынке.
Стратегия использует следующие показатели и переменные:
Решение о входе в систему основывается на выходе из диапазона за предыдущие высокие/низкие пороги.
Стоп-лосс использует ATR умноженное на диапазон.
Преимущества этой стратегии включают:
Риски этой стратегии:
Области оптимизации:
Внутренняя стратегия прорыва диапазона баров использует расширение диапазона от консолидации путем входа, когда цена выходит из диапазона предыдущих баров. Уровни ликвидности избегают попадания в ловушку. Разумные параметры остановки потери и получения прибыли позволяют использовать импульс после прорыва, чтобы достичь целевой прибыли. Стратегия может давать хорошие результаты в промежуточные временные рамки. Дальнейшее повышение преимуществ и надежности системы может быть достигнуто за счет оптимизации параметров и улучшения фильтров входа.
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ilikelyrics560 //@version=5 strategy("Inside Bar Range Breakout Strategy", overlay=true) // Inputs lookback = input.int(20, "Lookback Period", minval=1) atrMult = input.float(1.5, "ATR Multiplier", step=0.1) atrLen = input.int(14, "ATR Length", minval=1) slMult = input.float(2, "Stop Loss Multiplier", step=0.1) tpMult = input.float(3, "Take Profit Multiplier", step=0.1) // Variables atr = ta.atr(atrLen) Range = high - low insideBar = Range < Range[1] breakoutUp = close > high[1] breakoutDown = close < low[1] liquidityUp = ta.highest(high, lookback) liquidityDown = ta.lowest(low, lookback) longEntry = breakoutUp and low > liquidityDown shortEntry = breakoutDown and high < liquidityUp longExit = close < low[1] shortExit = close > high[1] // Plotting plot(liquidityUp, "Liquidity Up", color.new(color.green, 30), 1) plot(liquidityDown, "Liquidity Down", color.new(color.red, 30), 1) bgcolor(longEntry ? color.new(color.green, 30) : na, title="Long Entry") bgcolor(shortEntry ? color.new(color.maroon, 30) : na, title="Short Entry") // Trading if (longEntry) strategy.entry("Long", strategy.long) strategy.exit("Long Exit", "Long", stop=low - slMult * atr, limit=high + tpMult * atr) if (shortEntry) strategy.entry("Short", strategy.short) strategy.exit("Short Exit", "Short", stop=high + slMult * atr, limit=low - tpMult * atr)