Duda código VC5 indicador(Paso a pasito)

Todo lo relacionado con este conocido software de trading made in Spain: estudios, indicadores, sistemas, plantillas, etc.
Responder
od-lambda
Mensajes: 23
Registrado: 26 Oct 2011 10:57

Duda código VC5 indicador(Paso a pasito)

Mensaje por od-lambda »

Hola:

He estado dando vueltas para ver como introducir el código tanto en el diagrama como en visual basic.

Lo que quiero hacer es algo muy parecido a CCI 3 BANDS.

3 BANDAS

UNA MEDIA MÓVIL SIMPLE




Estoy atascado en lo siguiente:

1-Quiero poner en el indicador 3 barras situada en +1 0 y -1:

El código en visual básic es:



Ejemplo sobre(ps stochrsi.vba)

Public Sub Indicator_OnCalculateBar(ByVal Bar As Long)
With APP
'¡¡ PDV code
Sum1 = 0
Sum2 = 0
For k = 0 To RangeSum - 1
Sum1 = Sum1 + (.GetIndicatorValue(RSIData, k, 1) - .GetIndicatorValue(HIGHLOWRSIData, k, 2))
Sum2 = Sum2 + (.GetIndicatorValue(HIGHLOWRSIData, k, 1) - .GetIndicatorValue(HIGHLOWRSIData, k, 2))
Next k
If Sum2 <> 0 Then
PSStochRSI = (Sum1 * 100) / Sum2
PrePSStochRSI = PSStochRSI
Else
PSStochRSI = PrePSStochRSI
End If
.SetIndicatorValue PSStochRSI
.SetIndicatorValue UpperBand, 2
.SetIndicatorValue LowerBand, 3

'PDV code !!
End With
End Sub

Es decir en mi código:

.SetIndicatorValue UpperBand, 2
.SetIndicatorValue MidBand, 3
.SetIndicatorValue LowerBand, 4

El valor como comentaba: +1 0 y -1

Esto mismo aparentemente el código en diagrama seria:

[UpperBand]
/
[MidBand]
/
[LowerBansd]


Con lo que el indicador apareceria 3 lineas en +1 0 y -1.( que son las variables del indicador)

Efectivamente no aparece como quiero y se suman.

Resumen: Mi primer paso sería construir un indicador con 3 barras, situadas en +1,0 y -1.Se hacerlo en visual basic pero en el diagrama ni idea...me pierdo.


2-He estado probando una serie de datos comprendidos en +1 0 y -1 los cuales aplico una media móvil simple suavizando los datos.Bien me funciona perfectamente si lo aplico directamente en gráfico, pero me gustaria aplicar una media movil sobre el indicador mediante programación.

He estado dando vueltas sobre el diagrama y no lo consigo y tampoco en visual basic.Nose por donde empezar.


3-Por ultimo en esta media móvil quisiera conservar los colores tanto para alcista,bajista y neutro o cero.

Ni idea tampoco como indicar esto en visual basic o diagrama.


¿Alguien podría hecharme una mano?

Sinceramente la ayuda sobre programación de visual chart es más que escasa....tengo el libro de estrategias de inversión con visual chart , pero le falta bastante...o eso pienso.

Alguien sabe como ampliar conocimientos sobre este tema mediante ejemplos etc.


Ante todo gracias!



-------------------

SOLUCIONANDO

------------------


Hola de nuevo:

He estado solucionado, asi que posteo la solución por si a alguien le puede valer:


1-Poner 3 barras en +1,0 y -1:

Bien sencillo cogemos la fuente de datos

[INDICADOR_DATA]
/
[BANDASUP]
/
[BANDAMED]
/
[BANDAINF]


Una vez establecido el flujo nos vamos a las opciones del valor que estamos mostrando(BANDASUP,BANDAMED,BANDAINF),nos aparecerá un menu contextual en el cual expecificaremos el número de linea.

Tan simple como eso...

Me rompi la cabeza.

Finalmente le estamos diciendo que para mostrar diferentes lineas o datos selecionamos esa opcion)número de linea), ultrabásico...en fin :D

2-Las medias moviles pues exactamente igual:

[INDICADOR_DATA]
/
[av_simple(sobre data o otro indicador)]
/
[BANDASUP]
/
[BANDAMED]
/
[BANDAINF]

Una vez establecido el flujo nos vamos a las opciones del valor que estamos mostrando(BANDASUP,BANDAMED,BANDAINF,AV_SIMPLE),nos aparecerá un menu contextual en el cual expecificaremos el número de linea.

Ya tenemos en el indicador las tres barras en +1,0,-1 y la av simple.

Ahora nos queda darle el color a la av_simple para alcista y bajista....

---------


HOLA AL FINAL EMPECE DE NUEVO....

Según la imagen podéis ver las lineas básicas o las bandas.
Adjuntos
INICIO.
INICIO.
Última edición por od-lambda el 30 Jun 2012 14:46, editado 2 veces en total.
Avatar de Usuario
ondu
Mensajes: 865
Registrado: 18 May 2006 21:36

Re: Duda código VC5 indicador(Solucionandolo)

Mensaje por ondu »

Hola, sube la imagen del PDV

saludos !!!
od-lambda
Mensajes: 23
Registrado: 26 Oct 2011 10:57

Re: Duda código VC5 indicador(Solucionandolo)

Mensaje por od-lambda »

Si demomento subi eso, porque estoy hecho un lio de como poner una linea de tendencia sin que cambie el estilo(colores para alcista y bajista...)
Avatar de Usuario
Wikmar
Mensajes: 3868
Registrado: 29 Sep 2010 00:01
Ubicación: Madrid

Re: Duda código VC5 indicador(Solucionandolo)

Mensaje por Wikmar »

VC5 tiene un fallo en la traducción al VBA de ese tipo de esquema de PDV con varias lineas de salida en los indicadores.

P. ej. un esquema de ese tipo, si ves el VBA, crearía en el Sub Indicator_OnCalculateBar , unas lineas del tipo:

.SetIndicatorValue .GetIndicatorValue(CCIData), , 0
.SetIndicatorValue UpperBand, , 0
.SetIndicatorValue BandValue, , 0
.SetIndicatorValue LowerBand, , 0

cuando deberían ser:

.SetIndicatorValue .GetIndicatorValue(CCIData), , 0
.SetIndicatorValue UpperBand, 2, 0
.SetIndicatorValue BandValue, 3, 0
.SetIndicatorValue LowerBand, 4, 0

Es decir, se come los números que diferencian cada linea de salida y solo te pone la última porque se van montando al creerse que siempre se habla de la linea 1.

Para meter colores y anchos de linea, hazlo con sentencias de este tipo:

.SetIndicatorValue .GetIndicatorValue(VolatilityIndexData) / .GetIndicatorValue(VolatilityIndex1Data), , 0
.SetIndicatorValue 1, 2, 0
.SetIndicatorValue 0.5, 3, 0
.SetBarWidth 0, 1, 2
.SetBarColor 0, 1, RGB(47, 79, 79)
.SetBarColor 0, 2, RGB(0, 100, 0)
.SetBarColor 0, 3, RGB(220, 20, 60)
            https://wikmar.wordpress.com
            Si quieres algo de privacidad, cuidado con las Nubes, que nadie ha conseguido todavía ponerles una puerta.
od-lambda
Mensajes: 23
Registrado: 26 Oct 2011 10:57

Re: Duda código VC5 indicador(Solucionandolo)

Mensaje por od-lambda »

Hola:

Gracias por vuestro tiempo ante todo.

Si me pasaba lo que indicas se va montando como si fuera una misma linea 1.A veces lo guarda y otras no.

Con lo que tuve que estar como bien dices diferenciandolos en vba.(no pasa nada):

P. ej. un esquema de ese tipo, si ves el VBA, crearía en el Sub Indicator_OnCalculateBar , unas lineas del tipo:

.SetIndicatorValue .GetIndicatorValue(CCIData), 1, 0
.SetIndicatorValue UpperBand, 2, 0
.SetIndicatorValue BandValue, 3, 0
.SetIndicatorValue LowerBand, 4, 0

(Lo que tu decias.....)

En cuanto al color...la interfaz no deja mucho más alla....Solo te deja pinta en pdv en el indicador, a no ser como bien dices meter código que sinceramente no tenia ni idea.


.SetBarColor 1, 0, RGB(47, 79, 79)
.SetBarColor 2, 0, RGB(0, 100, 0)
.SetBarColor 3, 0, RGB(220, 20, 60)

Nose si para este caso valdria asi.

¿Habría que insertarle en "Public Sub Indicator_OnCalculateBar(ByVal Bar As Long)"?

Subo el archivo para que esto no sea un testamento y una imagen.

Ahora los colores cada uno es de su madre y su padre con lo que tengo que estar con la plantilla.....

Nose donde poder colocar la funcion .SerBarColor....porque ando muy pez, en vez de corregirme el codigo si sabeis algún libro o referencia de ejemplo perfecto.No quiero hacer perder las ganas :D.


----------------------

HASTA AQUI TENEMOS LAS BARRAS

--------------------------


Ahora por ejemplo insertamos una media movil simple de 30 periodos sobre un macd(por ejemplo), bien si insertamos len pdv y compilamos nos saldrá la media móvil con los datos macd.La media móvil nos saldra unicolor...con lo que sigo atascado...

Es decir ¿en una media móvil como diferencia una tendencia alcista y otra bajista en el mismo visual chart?(en código o esquema vba/pdv).No entiendo porque no se "hereda" el mismo formato, o hago algo mal....

Un saludo!
Adjuntos
BARRAS.JPG
barras.zip
(46.77 KiB) Descargado 201 veces

od-lambda
Mensajes: 23
Registrado: 26 Oct 2011 10:57

Re: Duda código VC5 indicador(Paso a pasito)

Mensaje por od-lambda »

Hola:

Sigo teniendo problemas a la hora de poder asignar un color al indicador, según vuestra ayuda debería hacerse asÍ:

Para meter colores y anchos de linea, hazlo con sentencias de este tipo:

.SetIndicatorValue .GetIndicatorValue(VolatilityIndexData) / .GetIndicatorValue(VolatilityIndex1Data), , 0
.SetIndicatorValue 1, 2, 0
.SetIndicatorValue 0.5, 3, 0
.SetBarWidth 0, 1, 2
.SetBarColor 0, 1, RGB(47, 79, 79)
.SetBarColor 0, 2, RGB(0, 100, 0)
.SetBarColor 0, 3, RGB(220, 20, 60)


Yo lo que quiero intentar lograr es lo siguiente:

Si el indicador esta pordebajo de la linea cero me mostrara el indicador en verde y si esta por encima en color rojo, creo que la indicación anterior o el código anterior es para las barras si mal no me equivoco, cosa que me sirve para dejarlas ya con un color estático o fijo.

Nose si en el tipo de barra seria modificando el ultimo digito(por ejemplo quiero que algunas lineas pasen a serlineas discontinuas)

Muchas gracias y un saludo.
Avatar de Usuario
Wikmar
Mensajes: 3868
Registrado: 29 Sep 2010 00:01
Ubicación: Madrid

Re: Duda código VC5 indicador(Paso a pasito)

Mensaje por Wikmar »

Bueno, por lo visto hasta ahora, sabemos:

Hacer que el indicador dé como resultado varias lineas diferentes.
Dar color y ancho específicos a cada linea.

Las lineas de los indicadores están compuestas de las "barras" del indicador, no te hagas líos.

Entonces, según tus deseos, te pongo psudocódigo:

Si el indicador <= 0 then SetBarColor verde elseif indicador > 0 then SetBarColor rojo

¿Ok?
            https://wikmar.wordpress.com
            Si quieres algo de privacidad, cuidado con las Nubes, que nadie ha conseguido todavía ponerles una puerta.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Visual Chart”