pine script
unknown
plain_text
3 years ago
3.7 kB
39
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...