Hola!
he programado el famoso indicador “Konkorde v0.9” del gran trader “Blai5” para Tradingview. Lo he adaptado desde el código existente para Prorealtime.
Os lo voy a compartir a continuación ya que esta desarrollado. Aunque realmente, no he conseguido tunearlo a la perfección para que se ajuste bien a BTC. En otros mercados, este indicador funciona muy bien para detectar puntos de compra en suelos de mercado.
El indicador presenta varios colores que representan “manos fuertes” o “smart money”, “manos débiles” o “gacelas” y la “tendencia del mercado” basándose en volúmenes de mercado.
Básicamente la operativa se trata de comprar cuando la mano débil, el área de color verde esta en negativo. Esa es la operativa en cualquier mercado que posea un volumen bastante decente.
Aunque ya os digo que en Bitcoin no he conseguido adaptarlo completamente para que se vean los suelos de mercado igual de bien que se ven en otros mercados.
Digamos que esto es como la versión beta del “konkorde v0.9” para Tradingview.
Si lo usais para otros mercados que no sean Bitcoin, debería de clavar bastante bien los mínimos.
Un consejo: Usar en marcos diarios en otros mercados. Es donde esta configurado ahora para que funcione bien.
Muchas gracias a todos!
Si os gusta, lo usáis, creéis que es útil o tenéis algún comentario para mejorarlo, por favor, hacedmelo saber.
Quizás entre todos podamos tunear los parámetros para que se adapte mejor a Bitcoin!
////////////////// CODIGO ////////////////////
//
// @author JFR
//
//
study(title=“Blai5 Koncorde [JFR]”, shorttitle=“BKON”)
calc_pvi() =>
sval=volume
pvi=(volume > volume[1]) ? nz(pvi[1]) + ((close - close[1])/close[1]) * (na(pvi[1]) ? pvi[1] : sval) : nz(pvi[1])
pvi
calc_nvi() =>
sval=volume
nvi=(volume < volume[1]) ? nz(nvi[1]) + ((close - close[1])/close[1]) * (na(nvi[1]) ? nvi[1] : sval) : nz(nvi[1])
nvi
calc_mfi(length) =>
src=hlc3
upper = sum(volume * (change(src) <= 0 ? 0 : src), length)
lower = sum(volume * (change(src) >= 0 ? 0 : src), length)
rsi(upper, lower)
tprice=ohlc4
lengthEMA = input(255, minval=1)
m=input(15)
pvi = calc_pvi()
pvim = ema(pvi, m)
pvimax = highest(pvim, 90)
pvimin = lowest(pvim, 90)
oscp = (pvi - pvim) * 100/ (pvimax - pvimin)
nvi =calc_nvi()
nvim = ema(nvi, m)
nvimax = highest(nvim, 90)
nvimin = lowest(nvim, 90)
azul = (nvi - nvim) * 100/ (nvimax - nvimin)
xmf = calc_mfi(14)
mult=input(2.0)
basis = sma(tprice, 25)
dev = mult * stdev(tprice, 25)
upper = basis + dev
lower = basis - dev
OB1 = (upper + lower) / 2.0
OB2 = upper - lower
BollOsc = ((tprice - OB1) / OB2 ) * 100
xrsi = rsi(tprice, 14)
calc_stoch(src, length,smoothFastD ) =>
ll = lowest(low, length)
hh = highest(high, length)
k = 100 * (src - ll) / (hh - ll)
sma(k, smoothFastD)
stoc = calc_stoch(tprice, 21, 3)
marron = (xrsi + xmf + BollOsc + (stoc / 3))/2
verde = marron + oscp
media = ema(marron,m)
bandacero= 0
vl=plot(verde, color=#66FF66, style=area, title=“verde”)// COLOURED(102,255,102) as “verde” , GREEN
ml=plot(marron, color= #FFCC99, style=area, title=“marron”, transp=0) // COLOURED(255,204,153) as"marron" , BEIGE
al=plot(azul, color=#00FFFF, style=area, title=“azul”) // COLOURED(0,255,255) as “azul” ,
plot(marron, color= #330000, style=line, linewidth=2, title=“lmarron”) // COLOURED(51,0,0) as “lmarron” ,
plot(verde, color=#006600, style=line, linewidth=2, title=“lineav”) // COLOURED(0,102,0) as “lineav” ,
plot(azul, color=#000066, style=line, title=“lazul”, title=“lazul”) // COLOURED(0,0,102) as “lazul” ,
plot(media, color=#FF00000, title=“media”, style=line, linewidth=2) // COLOURED(255,0,0) as “media” ,
plot(bandacero, color=black, title=“cero”) // COLOURED(0,0,0) as “cero”
////////////////// FIN CODIGO ////////////////////