Si quieres mezclado, sólo a veces para eliminar las conexiones entre dos secciones verticales del zigzag, es mejor tomar un zigzag de color y el lugar, por la condición, sin color.
De hecho, es posible que quiera leer toda la sección de documentación sobre el trazado de gráficos. Te dará una idea de lo que se puede hacer...
"He empezado a hacer un indicador que dibujará líneas entre dos puntos por tiempo y precio...
Todo es bueno, pero a veces el tiempo de los puntos puede estar en una vela..."
Culpa mía por utilizar la palabra línea y no segmentos de línea. Debería haber insertado una imagen de inmediato.
Gracias, probaré el zigzag de colores, creo que será más fácil que hacer un buffer extra para el segmento inclinado.
Es mejor tomar un zigzag de color y no asignar ningún color en algunos lugares, por convención.
Pues no cómo consigo la falta de color en un zigzag de color. Si no es difícil (creo que a ti no te llevará más de 5 minutos), ¿puedes asignar la falta de color en este ejemplo? He adjuntado una imagen de las líneas que deberían faltar.
#property indicator_chart_window#property indicator_buffers3#property indicator_plots1//--- plot ZigZag#property indicator_label1"ZigZag"#property indicator_type1DRAW_COLOR_ZIGZAG#property indicator_color1clrRed,clrYellow#property indicator_style1STYLE_SOLID#property indicator_width110//--- input параметры//--- indicator buffersdouble ZigZagBuffer1[];
double ZigZagBuffer2[];
int color_sections;
double Color_ZigzagColors[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- связывание массивов и индикаторных буферовSetIndexBuffer(0,ZigZagBuffer1,INDICATOR_DATA);
SetIndexBuffer(1,ZigZagBuffer2,INDICATOR_DATA);
SetIndexBuffer(2,Color_ZigzagColors,INDICATOR_COLOR_INDEX);
color_sections=0;
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
int limit=prev_calculated;
if(prev_calculated==0)limit=rates_total-1;
for(int i2=limit;i2<rates_total;i2++) // recalculate on new bar
{
for(int i=0;i<rates_total;i++)
{
if(i==rates_total-3 || i==rates_total-12 || i==rates_total-18) // Test VLines and TLines!
{
ZigZagBuffer1[i]=high[i];
Color_ZigzagColors[i]=color_sections;
}
else
{
ZigZagBuffer1[i]=EMPTY_VALUE;
}
if(i==rates_total-7 || i==rates_total-12 || i==rates_total-20) // Test VLines and TLines!
{
ZigZagBuffer2[i]=low[i];
Color_ZigzagColors[i]=color_sections;
}
else
{
ZigZagBuffer2[i]=EMPTY_VALUE;
}
}
}
//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+
No puedo conseguir la falta de color en el zigzag de color. Si no es difícil (creo que a ti no te llevará más de 5 minutos), ¿puedes asignar la falta de color en este ejemplo? Adjunto una imagen de las líneas que deben faltar.
Gracias, pero no consigo que esto funcione a nivel de funciones, ¿qué debo añadir o quitar en las funciones para que estas líneas desaparezcan? ¿Cómo puedo implementar clrNone aquí?
if(i==rates_total-3 || i==rates_total-12 || i==rates_total-18) // Test VLines and TLines!
{
ZigZagBuffer1[i]=high[i];
Color_ZigzagColors[i]=0;
}
else
{
ZigZagBuffer1[i]=EMPTY_VALUE;
}
if(i==rates_total-7 || i==rates_total-12 || i==rates_total-20) // Test VLines and TLines!
{
ZigZagBuffer2[i]=low[i];
Color_ZigzagColors[i]=0;
}
else
{
ZigZagBuffer2[i]=EMPTY_VALUE;
}
Gracias, pero no consigo que esto se aplique a nivel de función, ¿qué debo añadir o quitar en las funciones allí para que desaparezcan estas líneas? ¿Cómo implementar clrNone aquí?
Esto es lo que ocurrirá (he puesto clrYellow en lugar de clrNone para que quede más claro). En lugar de las líneas de conexión (marcadas con cruces azules) desaparece la línea vertical central (marcada con un círculo rojo). Por lo tanto, asumo que algo ya está mal en el nivel de la función.
Esto es lo que ocurre (he sustituido clrNone por clrYellow para que quede más claro). La línea vertical del medio (rodeada de rojo) también desaparece en lugar de las líneas de conexión (rodeadas de azul). Por lo tanto, asumo que algo ya está mal en el nivel de la función.
Proporcionar el código y el dibujo no a mano, pero las líneas dibujadas por el indicador. La capacidad de dibujar secciones verticales de un zigzag apareció hace muy poco. Rashid Umarov participó en ese debate y este cambio se hizo a propuesta suya. Si se confirma esta opción, invitaremos a Rashid.
Proporcionar el código y el dibujo no a mano, pero las líneas dibujadas por el indicador. La posibilidad de dibujar secciones verticales del zigzag ha aparecido recientemente. Rashid Umarov participó en ese debate y este cambio se hizo a propuesta suya. Si se confirma esta opción, invitaremos a Rashid.
En uno de los hilos has participado en la discusión sobre la imposibilidad de dibujar una línea vertical mediante DRAW_ZIGZAG. Un ejemplo está en el post anterior. Tras esa discusión, se hicieron cambios y se añadió la función. Ahora hay otro problema con DRAW_COLOR_ZIGZAG, es simplemente imposible establecer el color de forma consistente para cada segmento. ¿Tal vez haya una forma de solucionar este inconveniente también en la pantalla gráfica?
En uno de los hilos has participado en la discusión sobre la imposibilidad de dibujar una línea vertical mediante DRAW_ZIGZAG. Un ejemplo está en el post anterior. Después de esa discusión, se hicieron cambios y se añadió la función. Ahora hay otro problema con DRAW_COLOR_ZIGZAG, es simplemente imposible establecer el color de forma consistente para cada segmento. ¿Tal vez haya una forma de solucionar este inconveniente también en la pantalla gráfica?
Si lo hay, no será pronto. Estará en algún lugar en el centésimo lugar como una tarea lejana no prioritaria.
Tienes que decidir lo que quieres...
Si quieres mezclado, sólo a veces para eliminar las conexiones entre dos secciones verticales del zigzag, es mejor tomar un zigzag de color y el lugar, por la condición, sin color.
De hecho, es posible que quiera leer toda la sección de documentación sobre el trazado de gráficos. Te dará una idea de lo que se puede hacer...
"He empezado a hacer un indicador que dibujará líneas entre dos puntos por tiempo y precio...
Todo es bueno, pero a veces el tiempo de los puntos puede estar en una vela..."
Culpa mía por utilizar la palabra línea y no segmentos de línea. Debería haber insertado una imagen de inmediato.
Gracias, probaré el zigzag de colores, creo que será más fácil que hacer un buffer extra para el segmento inclinado.Es mejor tomar un zigzag de color y no asignar ningún color en algunos lugares, por convención.
Pues no cómo consigo la falta de color en un zigzag de color. Si no es difícil (creo que a ti no te llevará más de 5 minutos), ¿puedes asignar la falta de color en este ejemplo? He adjuntado una imagen de las líneas que deberían faltar.
No puedo conseguir la falta de color en el zigzag de color. Si no es difícil (creo que a ti no te llevará más de 5 minutos), ¿puedes asignar la falta de color en este ejemplo? Adjunto una imagen de las líneas que deben faltar.
1.
2.
Color_ZigzagColors[i]=0;El color será rojo
Color_ZigzagColors[i]=1;No habrá color.
Y la variable
int color_sections;es completamente superfluo.1.
2.
El color será rojo
No habrá color.
Y la variable
es completamente innecesario.Gracias, pero no consigo que esto funcione a nivel de funciones, ¿qué debo añadir o quitar en las funciones para que estas líneas desaparezcan? ¿Cómo puedo implementar clrNone aquí?
Gracias, pero no consigo que esto se aplique a nivel de función, ¿qué debo añadir o quitar en las funciones allí para que desaparezcan estas líneas? ¿Cómo implementar clrNone aquí?
En un lugar 0 en otro 1
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Línea vertical.
Alexey Viktorov, 2018.10.12 17:29
Color_ZigzagColors[i]=0;El color será rojo
Color_ZigzagColors[i]=1;No habrá color.
Y en su código es lo mismo en dos casos
Color_ZigzagColors[i]=0;En un lugar 0 en el otro 1
En su código es lo mismo en ambos casos
Esto es lo que ocurrirá (he puesto clrYellow en lugar de clrNone para que quede más claro). En lugar de las líneas de conexión (marcadas con cruces azules) desaparece la línea vertical central (marcada con un círculo rojo). Por lo tanto, asumo que algo ya está mal en el nivel de la función.
Esto es lo que ocurre (he sustituido clrNone por clrYellow para que quede más claro). La línea vertical del medio (rodeada de rojo) también desaparece en lugar de las líneas de conexión (rodeadas de azul). Por lo tanto, asumo que algo ya está mal en el nivel de la función.
Proporcionar el código y el dibujo no a mano, pero las líneas dibujadas por el indicador. La capacidad de dibujar secciones verticales de un zigzag apareció hace muy poco. Rashid Umarov participó en ese debate y este cambio se hizo a propuesta suya. Si se confirma esta opción, invitaremos a Rashid.
Proporcionar el código y el dibujo no a mano, pero las líneas dibujadas por el indicador. La posibilidad de dibujar secciones verticales del zigzag ha aparecido recientemente. Rashid Umarov participó en ese debate y este cambio se hizo a propuesta suya. Si se confirma esta opción, invitaremos a Rashid.
Interesante, con unas líneas tan gruesas que parecen dibujadas a mano...
@Rashid Umarov
En uno de los hilos has participado en la discusión sobre la imposibilidad de dibujar una línea vertical mediante DRAW_ZIGZAG. Un ejemplo está en el post anterior. Tras esa discusión, se hicieron cambios y se añadió la función. Ahora hay otro problema con DRAW_COLOR_ZIGZAG, es simplemente imposible establecer el color de forma consistente para cada segmento. ¿Tal vez haya una forma de solucionar este inconveniente también en la pantalla gráfica?
Interesante, con unas líneas tan gruesas que parecen dibujadas a mano...
@Rashid Umarov
En uno de los hilos has participado en la discusión sobre la imposibilidad de dibujar una línea vertical mediante DRAW_ZIGZAG. Un ejemplo está en el post anterior. Después de esa discusión, se hicieron cambios y se añadió la función. Ahora hay otro problema con DRAW_COLOR_ZIGZAG, es simplemente imposible establecer el color de forma consistente para cada segmento. ¿Tal vez haya una forma de solucionar este inconveniente también en la pantalla gráfica?
Si lo hay, no será pronto. Estará en algún lugar en el centésimo lugar como una tarea lejana no prioritaria.