Стратегия узкого пробега


Дата создания: 2023-09-14 16:59:35 Последнее изменение: 2023-09-14 16:59:35
Копировать: 0 Количество просмотров: 677
1
Подписаться
1617
Подписчики

Стратегический принцип

Эта стратегия сочетает в себе узкий диапазон (NR7) и расстояние для определения времени доступа.

Логика сделки:

  1. Идентифицируйте NR7, то есть наименьший диапазон цен в течение последних 7 дней.

  2. Идентифицируйте расстояние, то есть максимальная цена ниже предыдущего дня, минимальная цена выше предыдущего дня

  3. Когда NR7 и Mileage появляются в один день, и цена закрытия ниже цены открытия

  4. И когда мы просто двигаемся вниз, мы делаем пустоту.

  5. Если на следующий торговый день цена закрытия снова будет ниже цены открытия, то позиция будет закрыта.

Эта стратегия использует в полной мере узкую ширину и расстояние для обозначения консолидации. В сочетании с усредненным суждением и позицией цены закрытия, можно повысить эффективность дифференцирования.

Стратегические преимущества

  • Уровень и пробег определяют время для перемен

  • Сочетание условий избегает ложного сигнала

  • Выбор многоплоскости

Стратегический риск

  • NR7 и пробег не так часто встречаются

  • Необходимо оптимизировать параметры средней линии

  • Только пустота не позволяет использовать многочисленные возможности.

Подвести итог

Стратегия выполняется с помощью эффективных методов обратной идентификации и верификации. Однако частота сделок ниже, поэтому необходимо оценить эффективность стратегии.

Исходный код стратегии
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("NR7ID: Narrow Range + Inside Day, Short Only Strategy (by ChartArt)", shorttitle="CA_-_NR7ID_Short_Strat", overlay=true) // max_bars_back=5000


// ChartArt's Narrow Range + Inside Day Strategy (Short Only)
//
// Version 1.1
// Idea by ChartArt on Oktober 22, 2016.
//
// This short only strategy determines when there is both
// a NR7 (narrow range 7, a trading day in which the range
// is narrower than any of the previous six days), plus a
// inside day (high of the current day is lower than the high
// of the previous day and the low of the current day is higher
// than the low of the previous day) both on the same trading day
// and enters a short trade when the close is lower than the
// open and the slope of the simple moving average is downwards, too.
//
// The strategy exits the short trade next time the close is
// lower than the open in any of the next trading days.
//
// In addition the NR7ID can be colored (if close lower open
// colored in red, else in green) and the SMA can be drawn
// with a color based on the direction of the SMA slope.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 


// NR7 Identifier
show_NR7=input(true, type=bool,title="Show Narrow Range 7 (NR7) ?")
range=(high-low)
nr7=(range < range[1]) and (range < range[2]) and (range < range[3]) and (range < range[4]) and (range < range[5]) and (range < range[6])
plotchar(show_NR7?nr7:na, char="7", location=location.abovebar, color=blue)

// Inside Day Identifier
show_insidebar = input(true, type=bool,title="Show Inside Day (I) ?")
insidebar =  (high < high[1] and low > low[1])
plotchar(show_insidebar?insidebar:na, char="i", location=location.abovebar, color=blue)

// NR7 + Inside Day Identifier
show_NR7ID_bear = input(true, type=bool,title="Show NR7ID (NR7 + Inside Day) bear color ?")
NR7ID = nr7 and insidebar
NR7ID_bear_color = NR7ID and open > close ? red : na
barcolor(show_NR7ID_bear?NR7ID_bear_color:na)
show_NR7ID_bull = input(false, type=bool,title="Show NR7ID (NR7 + Inside Day) bull color ?")
NR7ID_bull_color = NR7ID and open < close ? green : na
barcolor(show_NR7ID_bull?NR7ID_bull_color:na)

// Simple Moving Average
show_ma = input(true, type=bool,title="Show SMA ?")
ma_length = input(14,title="SMA Length")
ma = sma(close,ma_length)
ma_change = change(ma) > 0
ma_change_color = change(ma) > 0 ? green : change(ma) < 0 ? red : blue
plot(show_ma?ma:na,color=ma_change_color,linewidth=3)

// Short Strategy: NR7 + Inside Day + close is smaller than open + change of SMA is downwards
strategy.entry("sell", strategy.short, when = NR7ID and open > close and ma_change == false, comment="Short")
strategy.close("sell", when = open > close )

// (not enabled) Long Strategy: NR7 + Inside Day + close is larger than open + change of SMA is upwards
//strategy.entry("long", strategy.long, when = NR7ID and open < close and ma_change == true, comment="Long")
//strategy.close("long", when = open < close )