
Эта стратегия является интеллектуальной энергетической стратегией обратного трейдинга низких точек для криптовалют. Она использует многократные временные рамки и адаптированный RSI, чтобы определить возможные краткосрочные низкие точки рынка, совершить обратный вход вблизи низких точек и получить дополнительную прибыль.
Во-первых, стратегия использует изменение и объем торгов для вычисления самостоятельного RSI, чтобы определить возможные краткосрочные низкие точки рынка. Затем, в сочетании с многократными временными рамками, технология определяет сигнал низкого уровня на более крупном уровне.
В частности, метод расчета адаптированного RSI заключается в следующем: сначала вычислить количество изменений в каждой линии K, затем вычислить количество сделок на линии K, а затем умножить количество изменений на количество сделок, чтобы получить количественную силу этой линии K. Расчет RSI на количественную силу и получение среднего значения N циклов, чтобы получить адаптированный RSI. Этот показатель позволяет четко определять низкие точки рынка.
На этой основе, эта стратегия также вводит многократные временные рамки, чтобы оценить сигналы на более высоких уровнях, чтобы избежать помех от шума в краткосрочных рынках.
Наибольшее преимущество этой стратегии заключается в том, что использование адаптированных RSI-индексов позволяет точно определить краткосрочные низкие точки рынка, что обеспечивает эффективный сигнал для обратной торговли на низких точках. Кроме того, добавление технологии многократных временных рамок также повышает качество сигнала, чтобы избежать помех от шума краткосрочного рынка.
По сравнению с традиционным RSI, адаптивный RSI включает в себя количественное измерение напряженности, что делает его более чувствительным к быстро меняющимся криптовалютным рынкам и позволяет быстрее и более точно определять низкие точки рынка, что дает возможность для обратной торговли.
Кроме того, эта стратегия обладает преимуществами как отслеживания трендов, так и обратных сделок. В рынках, где тенденция не ясна, она может использовать обратные сделок для получения прибыли.
Основной риск этой стратегии заключается в том, что точность определения низкой точки не может быть гарантирована на 100%. Рынок часто имеет огромные иррациональные колебания в краткосрочной перспективе. Если низкая точка будет продолжать снижаться, то столкнется с большим риском остановки убытка.
Кроме того, могут возникать отклонения между несколькими временными рамками. Если высокие сигналы временных рамок задерживаются, это может привести к убыткам в торговле.
Для управления рисками в этой стратегии используется более консервативный механизм остановки убытков, а также устанавливается поэтапный остановка, постепенно оптимизируя прибыль. Кроме того, параметры могут быть адаптированы к RSI, чтобы оптимизировать точность определения низких точек.
Эта стратегия может быть оптимизирована в следующих аспектах:
Оптимизация параметров RSI для повышения точности определения низких точек рынка. Можно попробовать различные циклические параметры.
Добавление других показателей для подтверждения, чтобы избежать ошибочного сигнала. Например, комбинированный показатель пропускной способности и т. Д.
Оптимизация механизма остановки убытков, надлежащее смягчение размера остановки убытков при условии обеспечения убыточного соотношения, чтобы получить больше тенденционной прибыли.
Выбор оптимальных временных рамок обеспечивает надежность сигнала на более высоком уровне. Средний уровень может быть протестирован ежедневно, еженедельно и т. д.
Испытание эффективности этой стратегии в различных криптовалютных разновидностях, чтобы выбрать наиболее подходящую.
Эта интеллектуальная инверсионная стратегия понижения низких точек определяет возможные краткосрочные низкие точки рынка, адаптируясь к показателям RSI и технологии многократных временных рамок. Характеристика ее инверсионной торговли позволяет ей получать сверхприбыль в условиях неопределенности. В то же время она может отслеживать явные тенденции.
/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © theCrypster 2020
//@version=4
strategy(title = "Low Scanner strategy crypto", overlay = false, pyramiding=1,initial_capital = 1000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.075)
strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"])
strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)
leng=1
p1=close[1]
min=input(10)
len55 = timeframe.isintraday and timeframe.multiplier >= 1 ?
min / timeframe.multiplier * 7 :
timeframe.isintraday and timeframe.multiplier < 60 ?
60 / timeframe.multiplier * 24 * 7 : 7
//taken from https://www.tradingview.com/script/Ql1FjjfX-security-free-MTF-example-JD/
tf3 = input("60", type=input.resolution)
ti = change( time(tf3) ) != 0
T_c = fixnan( ti ? close : na )
vrsi = rsi(cum(change(T_c) * volume), leng)
pp=wma(vrsi,len55)
d=(vrsi[1]-pp[1])
min1 =input(1)
len100 = timeframe.isintraday and timeframe.multiplier >= 1 ?
min1 / timeframe.multiplier * 7 :
timeframe.isintraday and timeframe.multiplier < 60 ?
60 / timeframe.multiplier * 24 * 7 : 7
x=ema(d,len100)
//
zx=x/-1
col=zx > 0? color.lime : color.orange
plot(zx,color=col,linewidth=1)
//
tf10 = input("60", title = "Timeframe", type = input.resolution, options = ["1", "5", "15", "30", "60","120", "240","360","720", "D", "W"])
length = input(24, title = "Period", type = input.integer)
shift = input(1, title = "Shift", type = input.integer)
hma(_src, _length)=>
wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
hma3(_src, _length)=>
p = length/2
wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)
a = security(syminfo.tickerid, tf10, hma(close, length))
b =security(syminfo.tickerid, tf10, hma3(close[1], length)[shift])
//plot(a,color=color.gray)
//plot(b,color=color.yellow)
close_price = close[0]
len = input(25)
linear_reg = linreg(close_price, len, 0)
//plot(linear_reg, color=color.blue, title="LR", linewidth=3)
buy=crossover(linear_reg, b)
sell=crossunder(linear_reg, b)
//
l = crossover(zx,0) or buy
if l
strategy.entry("buy", strategy.long)
per(pcnt) =>
strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=10, minval=0.01)
los = per(stoploss)
q1=input(title=" qty_percent1", defval=25, minval=1)
q2=input(title=" qty_percent2", defval=25, minval=1)
q3=input(title=" qty_percent3", defval=25, minval=1)
tp1=input(title=" Take profit1", defval=1, minval=0.01)
tp2=input(title=" Take profit2", defval=2, minval=0.01)
tp3=input(title=" Take profit3", defval=3, minval=0.01)
tp4=input(title=" Take profit4", defval=5, minval=0.01)
strategy.exit("x1", qty_percent = q1, profit = per(tp1), loss = los)
strategy.exit("x2", qty_percent = q2, profit = per(tp2), loss = los)
strategy.exit("x3", qty_percent = q3, profit = per(tp3), loss = los)
strategy.exit("x4", profit = per(tp4), loss = los)