Индикатор Turtle Trading RSI Краткосрочная стратегия


Дата создания: 2023-11-14 15:59:25 Последнее изменение: 2023-11-14 15:59:25
Копировать: 1 Количество просмотров: 724
1
Подписаться
1617
Подписчики

Индикатор Turtle Trading RSI Краткосрочная стратегия

Обзор

Эта стратегия является стратегией использования RSI для короткой торговли. Она объединяет RSI и Williams Shark, чтобы совершать обратную торговлю, когда RSI входит в зону перекупа или перепродажи, и является более консервативной стратегией короткой торговли.

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

Эта стратегия основана на следующих принципах:

  1. Применение правил торговли на морских островах, более консервативный подход к торговле, вступая только в то время, когда рынок явно перевернулся.

  2. Используйте RSI, чтобы определить перекуп и перепродажу на рынке. Когда линия RSI входит в зону перекупа (по умолчанию выше отметки 60) или в зону перепродажи (по умолчанию ниже отметки 40), это означает, что рынок находится в критической точке, где он переворачивается, и тогда происходит обратная торговля.

  3. В сочетании с индексом Уильямса-Карла, чтобы определить тенденцию рынка. Считать пустоту следует только в том случае, если индикатор Карла показывает три равномерные линии (черные губы, белые зубы, синие зубы) вниз; Считать больше, если индикатор Карла показывает три равномерные линии вверх.

  4. Используя RSI для определения RSI-индикаторов, чтобы судить о чрезмерной покупке и продаже RSI, создается двойной фильтрующий эффект. Только RSI-индикаторная линия входит в зону сверхпокупки и сверхпродажи, а RSI-индикатор RSI также входит в зону сверхпокупки и сверхпродажи.

  5. Установите линию остановки и линию остановки. Когда цена переворачивается до линии остановки или линии остановки.

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Применяя надежную стратегию торговли на море, вступая только в то время, когда рынок заметно переворачивается, можно избежать огромного риска, связанного с отсутствием направления при колебаниях рынка.

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

  3. В сочетании с рыбным индикатором определяется направление тренда, чтобы избежать обратной торговли.

  4. Установка стратегии стоп-стоп-лосса, которая позволяет закрепить прибыль и контролировать риски.

  5. Легкость оптимизации параметров. Параметры RSI, а также условия входа и выхода могут быть скорректированы в соответствии с различными рынками, оптимизируя стратегию.

Анализ рисков

Однако эта стратегия также несет в себе некоторые риски:

  1. Существует вероятность того, что RSI посылает ложные сигналы. RSI может посылать ошибочные сигналы о перекупке и перепродаже.

  2. Слишком большое установление стоп-поста может привести к увеличению убытков. Стоп-пост следует соответственно уменьшить, чтобы уменьшить убытки.

  3. Перевороты не обязательно происходят в зонах RSI сверхпокупа и сверхпродажи. Изменения в структуре рынка могут привести к изменениям в точке переворота, при необходимости корректируя параметры.

  4. Возможно, что количество сделок будет меньше, и в случае длительного отсутствия сделок. Условия входа могут быть сделанными более мягкими, чтобы увеличить количество сделок.

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

Направление оптимизации

Эта стратегия может быть оптимизирована в следующих направлениях:

  1. Оптимизация параметров RSI, корректировка диапазона перекупа и перепродажи для различных рынков.

  2. Настройка параметров рыболовного индикатора, оптимизация точности определения направления тенденции.

  3. Оптимизируйте настройки стоп-лосса для максимального контроля отмены и блокировки большей прибыли.

  4. Комбинируется с другими показателями для повышения точности сигнала, такими как KDJ, MACD и т. Д.

  5. Добавлена функция автоматического остановки, отслеживания остановки и улучшенного контроля за одиночными потерями.

  6. Оптимизация управления позициями, корректировка размеров позиций в зависимости от различных рыночных условий, контроль риска.

  7. Оптимизируйте торговые периоды, торгуйте в более заметные периоды времени.

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

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

Исходный код стратегии
/*backtest
start: 2023-11-06 00:00:00
end: 2023-11-07 20:00:00
period: 30m
basePeriod: 15m
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/
// © mohanee

//@version=4

strategy(title="RSI of Ultimate Oscillator [SHORT Selling] Strategy",  shorttitle="RSIofUO" , overlay=false, pyramiding=1,     default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed,

	
//Ultimate Oscillator logic copied from  TradingView   builtin indicator
/////////////////////////////////////////////////////////////////////////////////
length1 = input(5, minval=1), length2 = input(10, minval=1), length3 = input(15, minval=1)


rsiUOLength = input(5, title="RSI UO length", minval=1)

sellLine = input (60, title="Sell at RSIofUO")
coverLine = input (75, title="Cover at RSIofUO")

riskCapital = input(title="Risk % of capital", defval=10, minval=1)
stopLoss=input(3,title="Stop Loss",minval=1)


showUO=input(false, "show Ultimate Oscialltor")



average(bp, tr_, length) => sum(bp, length) / sum(tr_, length)
high_ = max(high, close[1])
low_ = min(low, close[1])
bp = close - low_
tr_ = high_ - low_
avg7 = average(bp, tr_, length1)
avg14 = average(bp, tr_, length2)
avg28 = average(bp, tr_, length3)
out = 100 * (4*avg7 + 2*avg14 + avg28)/7
//Ultimate Oscillator 
/////////////////////////////////////////////////////////////////////////////////

//Willimas Alligator  copied from  TradingView built in Indicator
/////////////////////////////////////////////////////////////////////////////////
smma(src, length) =>
	smma =  0.0
	smma := na(smma[1]) ? sma(src, length) : (smma[1] * (length - 1) + src) / length
	smma

//moving averages logic copied from Willimas Alligator -- builtin indicator in TradingView
sma1=smma(hl2,10)
sma2=smma(hl2,20)
sma3=smma(hl2,50)

//Willimas Alligator
/////////////////////////////////////////////////////////////////////////////////


//drawings
/////////////////////////////////////////////////////////////////////////////////
hline(sellLine, title="Middle Line 60  [Short Here]", color=color.red , linestyle=hline.style_solid)

obLevelPlot = hline(75, title="Overbought",  color=color.blue , linestyle=hline.style_dashed)
osLevelPlot = hline(25, title="Oversold", color=color.blue, linestyle=hline.style_dashed)

fill(obLevelPlot, osLevelPlot, title="Background", color=color.blue, transp=90)
rsiUO = rsi(out,rsiUOLength)

ultPlot=plot(showUO==true? out : na, color=color.green, title="Oscillator")

plot(rsiUO, title = "rsiUO" ,  color=color.purple)
//drawings
/////////////////////////////////////////////////////////////////////////////////




//Strategy Logic 
/////////////////////////////////////////////////////////////////////////////////

//Entry--
//Echeck how many units can be purchased based on risk manage ment and stop loss
qty1 = (strategy.equity  * riskCapital / 100 ) /  (close*stopLoss/100)  

//check if cash is sufficient  to buy qty1  , if capital not available use the available capital only
qty1:= (qty1 * close >= strategy.equity ) ? (strategy.equity / close) : qty1


strategy.entry(id="SERSIofUO", long=false,   qty=qty1, when = sma1<=sma2 and sma2 < sma3 and close<sma2 and crossunder(rsiUO,sellLine) )

//strategy.entry(id="SERSiofUO", long=false, when = sma1< sma2  and crossunder(rsiUO,60) )

barcolor(abs(strategy.position_size)>=1 ? color.purple : na )
bgcolor(abs(strategy.position_size)>=1 ? color.purple : na , transp=70)


//partial exit
strategy.close(id="SERSIofUO", comment="PExit",  qty=strategy.position_size/3, when=abs(strategy.position_size)>=1 and close< strategy.position_avg_price and crossover(rsiUO,30) )

strategy.close(id="SERSIofUO", comment="CloseAll", when=abs(strategy.position_size)>=1 and crossover(rsiUO,coverLine) )

//Strategy Logic 
/////////////////////////////////////////////////////////////////////////////////