Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 751

 
Vitaly Muzichenko:
La documentación cubre esto muy bien, e incluso hay un ejemplo listo y funcionando

la documentación de DRAW_HISTOGRAM2 no tiene esto
 
igorbel:

No existe tal cosa en la documentación de DRAW_HISTOGRAM2

Sí, un poco diferente

https://www.mql5.com/en/docs/customind/indicators_examples/draw_color_histogram2

Documentation on MQL5: Custom Indicators / Indicator Styles in Examples / DRAW_COLOR_HISTOGRAM2
Documentation on MQL5: Custom Indicators / Indicator Styles in Examples / DRAW_COLOR_HISTOGRAM2
  • www.mql5.com
Custom Indicators / Indicator Styles in Examples / DRAW_COLOR_HISTOGRAM2 - Reference on algorithmic/automated trading language for MetaTrader 5
 

¿Qué se supone que debo almacenar en el buffer de color? El ejemplo es un poco complicado.
 

Lo he descubierto.

Awesome_Oscillator de los ejemplos es más fácil.

 

Lo he hecho, pero ahora los otros topes de los indicadores no se muestran :(

Sólo hay líneas.

//--- indicator buffers mapping
   SetIndexBuffer(0,buf0,INDICATOR_DATA);
   PlotIndexSetString(0,PLOT_LABEL,"buf0");
   //---
   SetIndexBuffer(1,buf1,INDICATOR_DATA);
   PlotIndexSetString(1,PLOT_LABEL,"buf1");
   //---
   SetIndexBuffer(2,buf_colors,INDICATOR_COLOR_INDEX);
   //---
   SetIndexBuffer(3,buf2,INDICATOR_DATA);
   PlotIndexSetInteger(3,PLOT_DRAW_TYPE,DRAW_LINE);
   PlotIndexSetInteger(3,PLOT_LINE_STYLE,STYLE_SOLID);
   PlotIndexSetInteger(3,PLOT_LINE_COLOR,clrRoyalBlue);
   PlotIndexSetString(3,PLOT_LABEL,"buf2");
   //---
   SetIndexBuffer(4,buf3,INDICATOR_DATA);
   PlotIndexSetInteger(4,PLOT_DRAW_TYPE,DRAW_LINE);
   PlotIndexSetInteger(4,PLOT_LINE_STYLE,STYLE_SOLID);
   PlotIndexSetInteger(4,PLOT_LINE_COLOR,clrRed);
   PlotIndexSetString(4,PLOT_LABEL,"buf3");

buf0, buf1, buf_colors son histogramas.

buf2, buf3 son líneas y no se muestran, aunque los valores están ahí.

 
igorbel:

Lo he hecho, pero ahora los otros topes de los indicadores no se muestran :(

Sólo hay líneas.

buf0, buf1, buf_colors son histogramas.

buf2, buf3 son líneas, no se muestran, aunque los valores están ahí.

¿Son correctos los valores?

#property indicator_buffers 
#property indicator_plots   
 
Vitaly Muzichenko:

¿Son correctos sus valores?


#property indicator_chart_window
#property indicator_buffers 5
#property indicator_plots 3
#property  indicator_type1   DRAW_COLOR_HISTOGRAM2
#property  indicator_color1 clrRed,clrRoyalBlue
#property  indicator_style1  STYLE_SOLID 
#property  indicator_width1  3
Todo esto son directivas.
 
igorbel:

Todo esto son directivas.
¿Has puesto un color en los otros topes?
 
Vitaly Muzichenko:
¿Has puesto un color en los otros topes?


Sí, hay uno en el puesto anterior.

   SetIndexBuffer(3,buf2,INDICATOR_DATA);
   PlotIndexSetInteger(3,PLOT_DRAW_TYPE,DRAW_LINE);
   PlotIndexSetInteger(3,PLOT_LINE_STYLE,STYLE_SOLID);
   PlotIndexSetInteger(3,PLOT_LINE_COLOR,clrRoyalBlue);
   PlotIndexSetString(3,PLOT_LABEL,"buf2");
   //---
   SetIndexBuffer(4,buf3,INDICATOR_DATA);
   PlotIndexSetInteger(4,PLOT_DRAW_TYPE,DRAW_LINE);
   PlotIndexSetInteger(4,PLOT_LINE_STYLE,STYLE_SOLID);
   PlotIndexSetInteger(4,PLOT_LINE_COLOR,clrRed);
   PlotIndexSetString(4,PLOT_LABEL,"buf3");
 
#property  indicator_type2   DRAW_LINE
#property  indicator_type3   DRAW_LINE
Eso ayudó. Eso es raro.