Indicador Konkorde para Tradingview

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 ////////////////////

10 me gusta

Hola @fernazinger2 tienes alguna captura del indicador para ver como es y tal? Exactamente ¿dónde se pone todo ese código dentro de TV?

Estimado, he tomado tu código y lo he plasmado en tradingview.
No he tenido el tiempo de analizar bien qué es lo que el indicador hace. Sólo lo he pegado en tradingview.

Tuve que hacer un par de modificaciones en cuanto a indentado y finalización de funciones.
No conozco Pine, por lo que puede que haya cometido errores, pero el asunto es que no me compilaba. Al corregirlo así como lo incluyo al pie, funcionó.

No obstante veo que no queda el indicador funcionando como sugieres en cuanto a que la parte verde en negativo indica señal de compra.

Te incluyo un análisis para PBR del mercado americano con el BKON al pie.

Aguardo tus comentarios. Gracias.-

////////////////// 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])

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])

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 ////////////////////

Hola,
para introducir el código en Tradingview simplemente se pincha abajo a la izquierda donde pone “Pine Script” y ya te aparece la plantilla para introducir el código.
Una vez hecho esto, ya puedes buscar el indicador en el boton de “indicators” de arriba (junto a donde eliges el marco temporal en el que pintas las velas).
La visualizacion es similar a la que marca el compañero Daemon.

1 me gusta

Hola,
he pintado el blai konkorde para esa que me dices, Petrobas con el código que puse en el foro y este es el resultado.

Este indicador da buenas entradas, suponiendo estas como mínimos relativos básicamente, cuando el indicador pinta el área verde en negativo.
Para cada objeto de estudio, ya sea acción, forex o BTC, existen unos rangos de negativo (verde) que indican saturación, y que dan una pista más de cuando acabará la caída.

Este indicador va muy bien para una estrategia de B&H ya que permite comprar en los retrocesos.

Si observas la gráfica que pongo, verás que el área verde se torna negativa casi siempre que se da un mínimo relativo en el precio de la acción, lo que permite compras periódicas con mayor margen de seguridad.

1 me gusta

Buenas Javier, copio y pego tu código para trading view y me sale este mensaje. No entiendo mucho de programación, me podrías ayudar?

Muchas gracias!!

Le echo un ojo. No se que puede haber pasado.

El código está perfecto, el problema son las tabulaciones en las funciones, imagino que al copiar aquí en la página las tabulaciones desaparecen y al copiarlo de vuelta al TradingView por eso no funciona.

Las tres línea debajo de calc_pvi() => llevan una tabulación delante
Ídem calc_nvi() => (también la tres líneas de debajo)
Ídem calc_mfi(length) => (aunque son cuatro líneas en este caso)
Ídem calc_stoch(src, length,smoothFastD ) => (también son cuatro líneas aquí)

2 me gusta

Aun me aparece otro problema. No entiendo que puede pasar:


En vez de “#FF0000” escribe “red” (sin comillas)

2 me gusta

Fenomenal!! mil gracias!!

1 me gusta

Gracias a ti, aunque todo el mérito es de fernazinger2 que programó el código.

1 me gusta

Hola necesito ayuda al implementar me sale estos error me podrias enviar el archivo en un archivo text
Procesando script…line 5: missing BEGIN at '|B|'
Procesando script…line 4: no viable alternative at input '='
Procesando script…line 5: missing BEGIN at '|B|'
Procesando script…line 7: no viable alternative at input '|E|'
Procesando script…line 10: missing BEGIN at '|B|'
Procesando script…Script could not be translated from: |B|sval=volume|E|
|B|pvi=(volume
Procesando script…Script could not be translated from: |B|sval=volume|E|
|B|pvi=(volume
Procesando script…Script could not be translated from: calc_pvi() =>
|C|sval=volume

hola daemon he estado comparando el indicador que gentilmente codificaste para trading con el que calcula ninja y pro real y los valores difieren, sabras decirme porque tanta diferencia, si bien en ninja y pro real tambien difieren la diferencia es minima


en los graficos de 60 minutos la diferencia incluso puede ser mayor el ninja me tira que el azul esta abajo de cero mientras trading esta bastante por arriba.

sabes a que se puede deber esta diferencia

Os propongo algo, ya que controláis de programación.
Hay otro indicador de Blai, muy conocido, que se llama Vigía.
Seríais capaces de meterlo en tradingview también?

Tener koncorde y vigía en tradingview y de gratis es la leche, gracias por koncorde ; ) !

1 me gusta

mmm voy a darle un up a ver si alguien se atreve con el indicador Vigía.

Buen finde!

Os propongo lo mismo, uso tradingview porque encontré el koncorde gracias a Fernazinger2
Pero tambien uso el blai5 vigia09, no puedo programar códigos, hable con blai5 pero me dijo que sus herramientas estaban abiertas y disponibles en Prorealtime.
Porfavor… Gracias.

A mi también me gustaría tener su indicador correcto en tradingview, voy a ponerme en contacto con Blai a ver si es posible portar su indicador, ¡ojo!, porque el que hay no está bien, lo ha comentado ya varias veces en su twitter y de hecho les ha pedido a tradingview que lo retiren.

Miren en los comentarios.

¿Este código de Tradingview alguien lo ha visto? Yo no lo había visto en mi vida…

Estoy jugando con el Koncorde para tradingview y veo que hay muchas diferencias en los valores del indicador según el marco temporal, para un mismo activo. ¿Esto es normal o es que el Koncorde para TV no va bien?