RSI MTF Ob+Os

Tác giả:Nhà phát minh định lượng, Ngày: 2022-05-09 15:35:09
Tags:RSI

Xin chào các thương nhân.

Chỉ số này sử dụng cùng một khái niệm như chỉ số trước của tôi CCI MTF Ob + Os.

Nó là một chỉ số đơn giản Chỉ số sức mạnh tương đối (RSI) với mức mua quá mức và bán quá mức nhiều khung thời gian (MTF).

Nó có thể phát hiện mức mua quá mức và bán quá mức lên đến 5 khung thời gian, giúp các nhà giao dịch phát hiện điểm đảo ngược tiềm năng dễ dàng hơn.

Có các tùy chọn để chọn 1-5 khung thời gian để phát hiện quá mua và quá bán.

Aqua Background đang bán hết, đang tìm kiếm Long. Orange Background là Overbought, đang tìm kiếm Short.

Tận hưởng nhé.

img


/*backtest
start: 2021-05-08 00:00:00
end: 2022-05-07 23:59:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

// © thakon33

//    __  __        __             ____ ____

//   / /_/ /  ___ _/ /_____  ___  |_  /|_  /

//  / __/ _ \/ _ `/  '_/ _ \/ _ \_/_ <_/_ < 

//  \__/_//_/\_,_/_/\_\\___/_//_/____/____/ 



//@version=5

indicator("RSI MTF Ob+Os")



//------------------------------------------------------------------------------

// Input

var g_rsi       = "[ RSI SETTING ]"

rsiSrc          = input    (title="Source",     defval=close,                                group=g_rsi)

rsiLength       = input.int(title="Length",     defval=14,     minval=1,                     group=g_rsi)

rsiOverbought   = input.int(title="Overbought", defval=65,     minval=50, maxval=99, step=1, group=g_rsi)

rsiOversold     = input.int(title="Oversold",   defval=35,     minval=1,  maxval=50, step=1, group=g_rsi)





var g_tf        = "[ SELECT TIMEFRAME ]"

rsiTf1          = input.timeframe(title="Timeframe 1", defval="15",  group=g_tf, inline="tf1")

rsiTf2          = input.timeframe(title="Timeframe 2", defval="30",  group=g_tf, inline="tf2")

rsiTf3          = input.timeframe(title="Timeframe 3", defval="60",  group=g_tf, inline="tf3")

rsiTf4          = input.timeframe(title="Timeframe 4", defval="120", group=g_tf, inline="tf4")

rsiTf5          = input.timeframe(title="Timeframe 5", defval="240", group=g_tf, inline="tf5")

rsiTf1_E        = input.bool(title="", defval=true, group=g_tf, inline="tf1")

rsiTf2_E        = input.bool(title="", defval=true, group=g_tf, inline="tf2")

rsiTf3_E        = input.bool(title="", defval=true, group=g_tf, inline="tf3")

rsiTf4_E        = input.bool(title="", defval=true, group=g_tf, inline="tf4")

rsiTf5_E        = input.bool(title="", defval=true, group=g_tf, inline="tf5")





//------------------------------------------------------------------------------

// Calculate RSI



Fsec(Sym, Tf, Exp) =>

    request.security(Sym, Tf, Exp[barstate.isrealtime ? 1 : 0], barmerge.gaps_off, barmerge.lookahead_off) [barstate.isrealtime ? 0 : 1]



rsi1            = Fsec(syminfo.tickerid, rsiTf1, ta.rsi(rsiSrc, rsiLength))

rsi2            = Fsec(syminfo.tickerid, rsiTf2, ta.rsi(rsiSrc, rsiLength))

rsi3            = Fsec(syminfo.tickerid, rsiTf3, ta.rsi(rsiSrc, rsiLength))

rsi4            = Fsec(syminfo.tickerid, rsiTf4, ta.rsi(rsiSrc, rsiLength))

rsi5            = Fsec(syminfo.tickerid, rsiTf5, ta.rsi(rsiSrc, rsiLength))





//------------------------------------------------------------------------------

// RSI Overbought and Oversold detect



rsi1_Ob         = not rsiTf1_E or rsi1 >= rsiOverbought 

rsi2_Ob         = not rsiTf2_E or rsi2 >= rsiOverbought

rsi3_Ob         = not rsiTf3_E or rsi3 >= rsiOverbought

rsi4_Ob         = not rsiTf4_E or rsi4 >= rsiOverbought

rsi5_Ob         = not rsiTf5_E or rsi5 >= rsiOverbought



rsi1_Os         = not rsiTf1_E or rsi1 <= rsiOversold

rsi2_Os         = not rsiTf2_E or rsi2 <= rsiOversold

rsi3_Os         = not rsiTf3_E or rsi3 <= rsiOversold

rsi4_Os         = not rsiTf4_E or rsi4 <= rsiOversold

rsi5_Os         = not rsiTf5_E or rsi5 <= rsiOversold



rsiOb           = rsi1_Ob and rsi2_Ob and rsi3_Ob and rsi4_Ob and rsi5_Ob

rsiOs           = rsi1_Os and rsi2_Os and rsi3_Os and rsi4_Os and rsi5_Os





//------------------------------------------------------------------------------

// Drawing on chart

plot    (rsiTf1_E ? rsi1 : na, title="TF 1",            color=color.rgb(255, 205, 22, 20),                                linewidth=1)

plot    (rsiTf2_E ? rsi2 : na, title="TF 2",            color=color.rgb(255, 22, 239, 20),                                linewidth=1)

plot    (rsiTf3_E ? rsi3 : na, title="TF 3",            color=color.rgb(38, 22, 255, 0),                                  linewidth=1)

plot    (rsiTf4_E ? rsi4 : na, title="TF 4",            color=color.rgb(123, 253, 22, 20),                                linewidth=1)

plot    (rsiTf5_E ? rsi5 : na, title="TF 5",            color=color.rgb(0, 255, 255, 50),                               linewidth=1)


strategy.entry("BUY", strategy.long, when=rsiOb)
strategy.entry("SELL", strategy.short, when=rsiOs)


//==============================================================================

//==============================================================================

Có liên quan

Thêm nữa