RicardoSantos

[RS]Trade System 002 Oscilator V1

EXPERIMENTAL: Multiple indicator Analysis
Скрипт с открытым кодом

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

Отказ от ответственности

Все виды контента, которые вы можете увидеть на TradingView, не являются финансовыми, инвестиционными, торговыми или любыми другими рекомендациями. Мы не предоставляем советы по покупке и продаже активов. Подробнее — в Условиях использования TradingView.

Хотите использовать этот скрипт на графике?
study(title="[RS]Trade System 002 Oscilator V1", shorttitle="[RS]TS002O.V1", overlay=false)
//  ||---   Input:
useHA = input(true)
smooth = input(1)
src = avg(highest(max(open,close), 4), lowest(min(open,close), 4))//input(open)
//  ||---   Globals:
_s = useHA ? security(heikenashi(tickerid), period, src) : src
smooth_price = sma(_s, smooth)
transp_value = 90
//  ||---   Sequencer Signal
sequenceLimiter = 5
shortSequence = smooth_price < smooth_price[1] ? nz(shortSequence[1])+1 : 0
longSequence = smooth_price > smooth_price[1] ? nz(longSequence[1])+1 : 0
s_con = shortSequence > 0//(longSequence[1] >= sequenceLimiter and shortSequence > 0)
b_con = longSequence > 0//(shortSequence[1] >= sequenceLimiter and longSequence > 0)
SequenceSignal = b_con ? 1 : s_con ? -1 : 0
//  ||---   RSI Signal:
_rsi = rsi(smooth_price, 50)
s_con_01 = _rsi < 45
b_con_01 = _rsi > 55
RSISignal = b_con_01 ? 1 : s_con_01 ? -1 : 0
//  ||---   CCI Signal:
_cci = cci(smooth_price, 100)
s_con_02 = _cci < 0
b_con_02 = _cci > 0
CCISignal = b_con_02 ? 1 : s_con_02 ? -1 : 0
//  ||---   Momentum Signal:
_mom = mom(smooth_price, 50)
s_con_03 = _mom < 0
b_con_03 = _mom > 0
MOMSignal = b_con_03 ? 1 : s_con_03 ? -1 : 0
//  ||---   Fast MA oscilator Signal:
_fast_ma_str = smooth_price-sma(smooth_price, 12)
s_con_04 = _fast_ma_str < 0
b_con_04 = _fast_ma_str > 0
XMA1Signal = b_con_04 ? 1 : s_con_04 ? -1 : 0
//  ||---   Slow MA oscilator Signal:
_slow_ma_str = smooth_price-sma(smooth_price, 48)
s_con_05 = _slow_ma_str < 0
b_con_05 = _slow_ma_str > 0
XMA2Signal = b_con_05 ? 1 : s_con_05 ? -1 : 0
//  ||---   Track Fast/Slow Donchian:
_fast_HH = highest(smooth_price, 12)
_fast_LL = lowest(smooth_price, 12)
_slow_HH = highest(smooth_price, 48)
_slow_LL = lowest(smooth_price, 48)
b_con_06 = _fast_HH == _slow_HH
s_con_06 = _fast_LL == _slow_LL
DonchianSignal = b_con_06 ? 1 : s_con_06 ? -1 : 0
//  ||---   MACD Signals:
[_, _, MACDhist] = macd(smooth_price, 14, 34, 8)
MACDSignal = MACDhist > 0 ? 1 : MACDhist < 0 ? -1 : 0
//  ||---   Williams %R Signal:
upper = highest(100)
lower = lowest(100)
WILLR = 100 * (smooth_price - upper) / (upper - lower)
SmoothWR = sma(WILLR, 8)
WRSignal = SmoothWR > -50 ? +1 : SmoothWR < -50 ? -1 : 0
//  ||---   SAR Signal:
SAR = sar(0.03,0.01,0.2)
SARSignal = SAR < smooth_price ? 1 : -1
//  ||---
power1 = SequenceSignal + RSISignal + CCISignal + MOMSignal + XMA1Signal + XMA2Signal + DonchianSignal + MACDSignal + WRSignal + SARSignal
power = wma(power1, 4)
powerSignal = ema(power, 8)
signalHist = power-ema(power, 32)
plot(power, color=black, linewidth=2)
plot(powerSignal, color=purple, linewidth=2)
plot(signalHist, color=purple, style=histogram, linewidth=1)
plot(power1, color=gray, linewidth=1)
hline(0)
hline(10)
hline(-10)
powerColor = power >= 8 ? green : 
        power >= 5 and power < 8 ? lime : 
        power >= 1 and power < 5 ? olive : 
        power <= -1 and power > -5 ? orange : 
        power <= -5 and power > -8 ? red : 
        power <= -8 ? maroon : yellow
bgcolor(powerColor, transp=40)
barcolor(powerColor)