pine script
unknown
plain_text
2 years ago
3.7 kB
35
Indexable
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © WISKTON //@version=5 indicator("WHiLo Indicator", "WHiLo", overlay=true, precision=2) BTC_HILO = 50 ATOM_HILO = 60 NEO_HILO = 44 AXS_HILO = 26 ETH_HILO = 55 SOL_HILO = 50 DOT_HILO = 56 MATIC_HILO = 40 EGLD_HILO = 60 KSM_HILO = 50 RUNE_HILO = 31 WAVES_HILO = 60 UNI_HILO = 60 AAVE_HILO = 56 HNT_HILO = 57 AVAX_HILO = 60 BNB_HILO = 46 LTC_HILO = 66 DEFAULT_HILO = 50 symbol_name = str.tostring(syminfo.tickerid) //symbol_name := str.tostring(str.split(symbol_name, "BINANCE:")[1]) //symbol_name := str.tostring(str.split(symbol_name, "USD")[0]) default_value = input.int(0, title="Period", minval=0) len = 0 if symbol_name == "BINANCE:BTCUSDT" len := BTC_HILO else if symbol_name == "BINANCE:ATOMUSDT" len := ATOM_HILO else if symbol_name == "BINANCE:NEOUSDT" len := NEO_HILO else if symbol_name == "BINANCE:AXSUSDT" len := AXS_HILO else if symbol_name == "BINANCE:ETHUSDT" len := ETH_HILO else if symbol_name == "BINANCE:SOLUSDT" len := SOL_HILO else if symbol_name == "BINANCE:DOTUSDT" len := DOT_HILO else if symbol_name == "BINANCE:MATICUSDT" len := MATIC_HILO else if symbol_name == "BINANCE:EGLDUSDT" len := EGLD_HILO else if symbol_name == "BINANCE:KSMUSDT" len := KSM_HILO else if symbol_name == "BINANCE:RUNEUSDT" len := RUNE_HILO else if symbol_name == "BINANCE:WAVESUSDT" len := WAVES_HILO else if symbol_name == "BINANCE:UNIUSDT" len := UNI_HILO else if symbol_name == "BINANCE:AAVEUSDT" len := AAVE_HILO else if symbol_name == "BINANCE:HNTUSDT" len := HNT_HILO else if symbol_name == "BINANCE:AVAXUSDT" len := AVAX_HILO else if symbol_name == "BINANCE:BNBUSDT" len := BNB_HILO else if symbol_name == "BINANCE:LTCUSDT" len := LTC_HILO else len := default_value //label_text = symbol_name + " " + str.tostring(len) //label.new(0, 0, label_text) offset = input.int(0, title="Offset", minval=0) hiloType = input.string(title="Type", defval="HiLo", options=["HiLo", "HiLo Activator"]) simpleHiLo = (hiloType == "HiLo") maType = input.string(title="MA Type", defval="SMA", options=["SMA", "EMA"]) useEMA = (maType == "EMA") hima = (useEMA ? ta.ema(high, len) : ta.sma(high, len)) loma = (useEMA ? ta.ema(low, len) : ta.sma(low, len)) hihi = (simpleHiLo ? na: ta.highest(high, len)) lolo = (simpleHiLo ? na: ta.lowest(low, len)) hilo = close hilo := if simpleHiLo (close < loma[offset] ? hima : (close > hima[offset] ? loma : hilo[1])) else (close < loma[offset] ? hihi : (close > hima[offset] ? lolo : hilo[1])) hlColor = color.red hlColor := (close < loma[offset] ? color.red : (close > hima[offset] ? color.green : hlColor[1])) buyArith = math.sign(close - hima[offset]) sellArith = math.sign(close - loma[offset]) buy = ta.crossover(buyArith, 0.5) sell = ta.crossunder(sellArith, -0.5) buyState = false buyState := buy ? true : (sell ? false : buyState[1]) sellState = false sellState := buy ? false : (sell ? true : sellState[1]) enterBuyState = buyState[0] and not buyState[1] enterSellState = sellState[0] and not sellState[1] plot(hilo, color=hlColor, linewidth=2, style=plot.style_cross, transp=0, title="HiLo") plotshape(enterBuyState, title = "Buy", text = 'Buy', style = shape.labelup, location = location.belowbar, color= color.green,textcolor = color.white, transp = 0, size = size.tiny) plotshape(enterSellState, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= color.maroon,textcolor = color.white, transp = 0, size = size.tiny)
Editor is loading...