Trazar nueva serie de velas OHLC

Responder
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Trazar nueva serie de velas OHLC

Mensaje por cls »

En un chart puedes cargar todas las series de precios que quieras y cada una en su panel. Después sólo hay
que cargar el indicador en el panel que sea, que te cogerá esa serie de precios. Si con eso no te sirve explica un poco mejor lo que quieres hacer por si hay manera de lograrlo fácilmente.
Normalmente un indicador no necesita dibujar barras ohlc salvo que sean calculadas (p.ej. en el indicador ValueCharts o indicadores de tipo orderflow), y en ese caso hay que hacerlo en el OnRender.
S2
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Trazar nueva serie de velas OHLC

Mensaje por cls »

Hola W5W, como te decía, en un chart puedes tener todos los paneles que quieras y cada uno con su serie de precios, y después cargar el indicador/es que necesites en cada uno de los paneles.
El indicador no necesita dibujar las barras OHLC, ya están en el panel.

Lo que sí puedes hacer desde un indicador es modificar los colores del cuerpo y del borde de cada barra con los métodos BarBrush + CandleOutlineBrush para la barra corriente. Y BarBrushes + CandleOutlineBrushes para cualquier barra histórica.
Por ejemplo: https://ninjatrader.com/support/helpGui ... rushes.htm

No veo tu necesidad de dibujar las barras OHLC desde el indicador.

S2
Adjuntos
chart.jpg
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Trazar nueva serie de velas OHLC

Mensaje por cls »

De nada. Si quieres que un determinado intervalo de tiempo no se muestre en el chart, lo más fácil es crear sesiones a medida (se llaman TradingHours). En cada TradingHours puedes configurar los días que engloba, el horario de cada día, festivos, etc. Al abrir el chart eliges esa TradingHours y ya está, sólo se mostrarán las barras que pertenezcan a esa TradingHours. Los indicadores que cargues en el chart trabajarán sólo con esas barras. No tienes que programar nada adicional en el indicador. También es aplicable a sistemas + backtesting.
S2
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Trazar nueva serie de velas OHLC

Mensaje por cls »

W5W escribió: 24 Ene 2021 14:08 Una última pregunta si me permites. Es un poco básica, pero me hace dudar y es respecto a la declaración de variables en ninjascript.
¿Si declaro una variable en el nivel public class, luego tengo que asignarle un valor una vez alcanzado State.Configure o State.DataLoaded según el tipo de datos del que depende la variable, o por el contrario puedo asignarle un valor directamente en OnBarUpdate() sin tener que hacerlo en estos estados previos?

El resultado que obtengo es el mismo, pero he visto en muchos scripts que la forma de proceder es por ejemplo
declaro una variable en public class
private double contador
Luego en State.Configure se la asigna un valor 0 o el que sea y en OnBarUpdate() se hace el cálculo que sea con esta variable.
¿Puedo saltarme la asignación del valor a la variable en State.Configure?
Sí, puedes saltarte la asignación. Las variables declaradas a nivel de clase son accesibles desde todos los métodos de la clase, y no se necesita inicializarlas a un valor en la declaración para poder usarlas. Si al ser llamadas no se les ha asignado ningún valor tomarán el valor por defecto de su tipo, por ejemplo el 0 para los números.
W5W escribió: 24 Ene 2021 14:08 Por otra parte hay muchas variables que no se declaran antes de OnBarUpdate() sino dentro de ello, imagino que son variables que no hace falta que tengan memoria y se resetean en cada barra?

Gracias por tu tiempo cls no hay prisa en contestar.
Correcto. Son variables locales, declaradas dentro de los métodos y su ámbito está restringido a ese método concreto. Las variables locales tienen que inicializarse explícitamente antes de poder utilizarse. Si no lo haces te dará un error en tiempo de compilación.

S2
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Indicadores”