Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 751

 
Vitaly Muzichenko:
La documentazione lo descrive molto bene, e c'è anche un esempio pronto e funzionante

la documentazione per DRAW_HISTOGRAM2 non ha questo
 
igorbel:

Non esiste nella documentazione di DRAW_HISTOGRAM2

Sì, un po' diversamente

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
 

Cosa dovrei memorizzare nel buffer dei colori? L'esempio è un po' complicato.
 

L'ho capito.

Awesome_Oscillator dagli esempi è più facile.

 

Ho fatto questo, ma ora gli altri buffer degli indicatori non vengono visualizzati :(

Ci sono solo linee.

//--- 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 sono istogrammi.

buf2, buf3 sono linee e non vengono visualizzate, anche se i valori ci sono.

 
igorbel:

Ho fatto questo, ma ora gli altri buffer degli indicatori non vengono visualizzati :(

Ci sono solo linee.

buf0, buf1, buf_colors sono istogrammi.

buf2, buf3 sono linee, non vengono visualizzate, anche se i valori ci sono.

I valori sono corretti?

#property indicator_buffers 
#property indicator_plots   
 
Vitaly Muzichenko:

I vostri valori sono corretti?


#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
Queste sono tutte direttive.
 
igorbel:

Queste sono tutte direttive.
Hai impostato un colore sugli altri buffer?
 
Vitaly Muzichenko:
Hai impostato un colore sugli altri buffer?


Sì, ce n'è uno nel post precedente.

   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
Questo ha aiutato. Questo è strano.