Основная идея этой стратегии заключается в том, чтобы использовать K-линейную форму, содержащуюся в промежутках между циклами, для определения направления тренда и использовать ее в качестве входного сигнала. Когда появляется форма, содержащая в себе предыдущую K-линию, мы можем вывести, что текущий момент является моментом перехода тренда, в этот момент мы можем выбрать, сделать лишний при предыдущем прорыве высокого уровня или сделать пустое при предыдущем прорыве низкого уровня, и установить хорошие остановки и остановки.
Судить о том, возникают ли K-линейные формы между включенными циклами. Конкретная логика суждения заключается в том, что высота текущей K-линии ниже высоты предыдущей K-линии, а низкая точка текущей K-линии выше низкой точки предыдущей K-линии.
Если цена закрытия выше, чем цена открытия, то она является положительной; если цена закрытия ниже, чем цена открытия, то она является отрицательной.
Если предыдущая K-линия является трендовой, и в ней присутствует внутрициклическая форма, мы устанавливаем Stop Order в пределах 10% от высоты предыдущей K-линии.
Если предыдущая K-линия является нисходящей, и в ней присутствует внутрициклическая форма, мы устанавливаем Stop-Sell в пределах 10% от предыдущей K-линейной низкой точки.
После того, как приостановка была вызвана, мы установили приостановку и приостановку. Конкретные приостановки и приостановки соответствуют определенной пропорции усиления предыдущей линии K.
Если вновь возникнет форма между включенными циклами, мы будем уделять первоочередное внимание ликвидации, а затем перенастроим новую привязанную линию.
Преимущества такой стратегии:
Используя внутреннюю логику K-линии, мы точно определяем время входа. Внутренние формы между циклами зачастую означают предстоящее изменение или ускорение тренда, что дает нам лучший момент входа.
Правила стратегии понятны и просты в использовании.
Риск можно контролировать, используя высокие и низкие точки предыдущего цикла для установки стоп-стоп-позиции.
Каждый раз, когда новое появление соответствует формату, будет перенастраиваться новый список, чтобы следовать новым тенденциям.
Однако эта стратегия несет в себе некоторые риски:
Внутрициклические формы не обязательно приводят к обратному тренду или ускорению, существует определенный риск ложного сигнала.
Стоп-разрыв может быть слишком мал, чтобы выдержать большие колебания.
Стоп-дистанция может быть установлена слишком высокой, чтобы вовремя получить прибыль.
Эта стратегия больше зависит от тенденций, и у нее есть ограниченное пространство для получения прибыли в консолидированных ситуациях.
Это может быть связано с высокой частотой транзакций и высокой стоимостью транзакций.
Ответ:
Вместе с другими показателями фильтр может содержать подтверждающий сигнал формы между циклами, снижая уровень ложного сигнала.
Стоп-разрыв может быть сделан соответствующим образом, но не более 50% от предыдущей K-линии.
Уменьшить расстояние от остановки до предыдущей K-линии приблизительно на 50%.
Оптимизация управления капиталом, снижение одноразовых позиций, реагирование на ситуацию с ликвидацией.
Соответствующее смягчение условий входа и сокращение количества сделок.
Эта стратегия может быть оптимизирована в следующих аспектах:
В сочетании с трендовыми показателями, чтобы определить направление тренда, избегайте частых сделок при сворачивании. Например, присоединиться к MACD, чтобы определить тренд, только тогда, когда MACD будет рассматриваться.
Оптимизация стратегии остановки убытков, использование мобильных остановок или защищенных от прибыли остановок, чтобы сделать остановку более гибкой.
Тестирование различных параметров стоп-стоп-пароли, чтобы найти оптимальную комбинацию параметров.
Присоединяйтесь к механизму повторного входа, чтобы снова захватить тренд после стоп-лосс-выхода.
Оптимизация управления позициями, корректировка отдельных позиций в зависимости от степени волатильности рынка.
Оптимизация управления средствами, например, использование фиксированных средств.
Испытание эффективности этой стратегии для разных сортов и временных периодов.
В целом, это стратегия, которая использует переломные моменты тренда для определения формы, содержащиеся между циклами, и устанавливает привязку, чтобы захватить обратную тенденцию. Она имеет преимущества, такие как четкость времени входа, простые правила стратегии, контролируемые риски, но также существует определенный риск ложного сигнала и пространство для оптимизации.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// Inside Bar Momentum Strategy
// As defined on Babypips.com
// https://www.babypips.com/trading/forex-inside-bar-20170113
// strategy("Babypips: Inside Bar Momentum Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=5)
From_Year = input(defval = 2018, title = "From Year")
From_Month = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
From_Day = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
To_Year = input(defval = 9999, title = "To Year")
To_Month = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
To_Day = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
Start = timestamp(From_Year, From_Month, From_Day, 00, 00) // backtest start window
Finish = timestamp(To_Year, To_Month, To_Day, 23, 59) // backtest finish window
Window = true
Stop_Buy_Perc = input(10, "Stop Buy Order Percentage From Previous Candle's Range")/100
Stop_Loss_Perc = input(20, "Stop Loss Distance from High/Low of Previous Candle")/100
Take_Prof_Perc = input(80, "Take Profit Distance from High/Low of Previous Candle")/100
Risk = input(2, "Percentage Of EQUITY to risk per trade", step=0.1, minval=0, maxval=100)/100
Inside_Bar = high[1] > high[0] and low[1] < low[0]
Prev_Range = high[1] - low[1]
Bullish = open[1] < close[1]
Bearish = open[1] > close[1]
// Get Key Levels
Long_Stop_Buy_Level = high[1] + (Prev_Range * Stop_Buy_Perc)
Short_Stop_Buy_Level = low[1] - (Prev_Range * Stop_Buy_Perc)
Long_Stop_Loss_Level = high[1] - (Prev_Range * Stop_Loss_Perc)
Short_Stop_Loss_Level = low[1] + (Prev_Range * Stop_Loss_Perc)
Long_Take_Prof_Level = high[1] + (Prev_Range * Take_Prof_Perc)
Short_Take_Prof_Level = low[1] - (Prev_Range * Take_Prof_Perc)
// Position Sizing
long_qty = floor((strategy.equity * Risk) / (Long_Stop_Buy_Level - Long_Stop_Loss_Level))
short_qty = floor((strategy.equity * Risk) / (Short_Stop_Loss_Level - Short_Stop_Buy_Level))
// -------------------------- LONG CONDITIONS --------------------------------//
// The first candlestick must be bullish (green or white) and if the second
// candlestick is completely contained by the first, set a buy stop order at
// the first candle’s high plus 10% of its range (high minus low).
// Place the stop loss at the first candle’s high minus 20% of its range
// and set the target at the first candle’s high plus 80% of its range
// If another inside bar pattern forms, the current position should be closed
// or the pending buy/sell order must be canceled and entry orders must be
// updated to the latest candles.
Long_Condition = Window and Inside_Bar and Bullish
if (Long_Condition)
// Incase we still have a buy stop order in the market
strategy.cancel_all()
// Close any existing positions according to the rules
strategy.close_all()
strategy.entry("Bullish IB", strategy.long, stop=Long_Stop_Buy_Level)
strategy.exit("Bullish Exit","Bullish IB", stop=Long_Stop_Loss_Level, limit=Long_Take_Prof_Level)
// -------------------------- SHORT CONDITIONS -------------------------------//
// The first candlestick must be bearish (red or black) and if the second
// candlestick is completely contained by the first, set a sell stop order at
// the first candle’s low minus 10% of its range (high minus low).
// Place the stop loss at the first candle’s low plus 20% of its range and
// set the target at the first candle’s low minus 80% of its range.
// If another inside bar pattern forms, the current position should be closed
// or the pending buy/sell order must be canceled and entry orders must be
// updated to the latest candles.
Short_Condition = Window and Inside_Bar and Bearish
if (Short_Condition)
// Incase we still have a buy stop order in the market
strategy.cancel_all()
// Close any existing positions according to the rules
strategy.close_all()
strategy.entry("Bearish IB", strategy.short, stop=Short_Stop_Buy_Level)
strategy.exit("Bearish Exit","Bearish IB", stop=Short_Stop_Loss_Level, limit=Short_Take_Prof_Level)
// ----------------------------- PLOTTING ------------------------------------//
plotshape(Inside_Bar, style=shape.arrowdown, location=location.abovebar, color=purple)