Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 751

 
Vitaly Muzichenko:
A documentação cobre isto muito bem, e há mesmo um exemplo pronto e funcional

a documentação do DRAW_HISTOGRAM2 não o tem
 
igorbel:

Não existe tal coisa na documentação do DRAW_HISTOGRAM2

Sim, um pouco 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
 

O que é suposto eu armazenar no tampão de cor, afinal? O exemplo que existe é um pouco complicado.
 

Imaginei-o.

Awesome_Oscillator dos exemplos é mais fácil.

 

Eu fiz isto, mas agora os outros amortecedores indicadores não são exibidos :(

Há apenas linhas.

//--- 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 são histogramas.

buf2, buf3 são linhas e não são exibidos, embora os valores estejam lá.

 
igorbel:

Eu fiz isto, mas agora os outros amortecedores indicadores não são exibidos :(

Há apenas linhas.

buf0, buf1, buf_colors são histogramas.

buf2, buf3 são linhas, não são exibidas, embora os valores estejam lá.

Os valores estão correctos?

#property indicator_buffers 
#property indicator_plots   
 
Vitaly Muzichenko:

Os seus valores estão correctos?


#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
Todas estas são directivas.
 
igorbel:

Todas estas são directivas.
Colocou uma cor nos outros amortecedores?
 
Vitaly Muzichenko:
Colocou uma cor nos outros amortecedores?


Sim, há um no posto 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
Isso ajudou. Isso é estranho.