Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 789

 
Olá a todos! Caros camaradas, ajudem com a seguinte pergunta. Indicador padrão OSM + indicador MA (só abaixado até o porão). Como levar uma leitura do indicador de MA até o porão? Se usarmos o indicador MA padrão, aplicamos um preço de 0 a 6, e se descermos ao porão, definimos "aplicar a" para 8. Suponho que precisamos mudar o próprio indicador MA (apenas o que mudar lá, não sei) e então usar a função iCustom.

Ficaria grato por sua ajuda.


 
alexey1979621:
Olá a todos! Caros camaradas, ajudem com a seguinte pergunta. Indicador padrão + indicador MA (só abaixado até o porão). Como levar as indicações do indicador de MA baixadas para o porão? Se usarmos um indicador padrão МА, aplicamos um preço de 0 a 6, mas se descermos ao porão, definimos "aplicar a" para 8. Suponho que devemos mudar o próprio indicador MA (mas não sei o que mudar lá) e depois usar a função iCustom.

Ficaria grato por sua ajuda.


Você pega um conjunto do indicador OSM e ImaOnArray com todos os parâmetros МА.
 
solnce600:

Boa gente!!!

Ajude-me a encontrar um bug. Estou aprendendo sobre os Arrays.

Eu criei uma matriz em um arquivo de inclusão.

Coloco uma referência ao arquivo incluído em meu Expert Advisor.

Não consigo entender por que.

Nos códigos de erro do link de localização do arquivo

http://clip2net.com/s/jkTd89

Obrigado.

Talvez o problema seja com o nome do arquivo e o caminho? Tente nomear os arquivos em caracteres latinos e sem pontos.
 
solnce600:

Boa gente!!!

Ajude-me a encontrar um bug. Estou aprendendo sobre os Arrays.

Eu criei uma matriz em um arquivo de inclusão.

Coloco uma referência ao arquivo incluído em meu Expert Advisor.

Não consigo entender por que.

Nos códigos de erro do link de localização do arquivo

http://clip2net.com/s/jkTd89

Obrigado.

Caminho suspeito. .../Arquivos de programa/... Na verdade, todos os arquivos devem estar no caminho como C:Utentes****AppData*Roaming*MetaQuotes*Terminal*COPY5MQL4Inclua
 
barabashkakvn:
Caminho suspeito. .../Arquivos de programa/... Na verdade, todos os arquivos devem ser localizados no caminho como C:\Users\***AppData\Roaming\MetaQuotes\Terminal\******************\MQL4\Incluir
Você pode realmente rodar o terminal no portátil ;)
 
evillive:
Na verdade, é possível executar o terminal em portátil ;)
Você pode usar /Portable switch, mas nós não somos telepatas, somos? E essa chave é usada por poucas pessoas.
 

Você pode me dizer como fazer a exibição dos dados indicadores como castiçais ou apenas barras verticais, como aqui:

Não está clarono próprio código como fazer isso! O estilo DRAW_HISTOGRAM apenas desenha uma linha vertical em cada barra a partir da borda inferior da janela, mas não um candelabro.

/// это начало ///

#property indicator_chart_window
#property indicator_buffers 6

#property  indicator_style1 STYLE_DOT
#property  indicator_width1 1
#property  indicator_color1 Sienna

#property  indicator_style2 STYLE_DOT
#property  indicator_width2 1
#property  indicator_color2 Sienna

#property  indicator_style3 STYLE_SOLID
#property  indicator_width3 2
#property  indicator_color3 DodgerBlue

#property  indicator_style4 STYLE_SOLID
#property  indicator_width4 2
#property  indicator_color4 DodgerBlue

#property  indicator_style5 STYLE_SOLID
#property  indicator_width5 1
#property  indicator_color5 DodgerBlue

#property  indicator_style6 STYLE_SOLID
#property  indicator_width6 1
#property  indicator_color6 DodgerBlue

/// это в процедуре OnInit() ///

   SetIndexBuffer(0, ForecastCloudHigh);
   SetIndexStyle(0, DRAW_HISTOGRAM, EMPTY, EMPTY, IndicatorCloudColor);
   SetIndexShift(0, ForecastBars - Offset);
   
   SetIndexBuffer(1, ForecastCloudLow);
   SetIndexStyle(1, DRAW_HISTOGRAM, EMPTY, EMPTY, IndicatorCloudColor);
   SetIndexShift(1, ForecastBars - Offset);
   
   SetIndexBuffer(2, ForecastBestPatternOpen);
   SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(2, ForecastBars - Offset);

   SetIndexBuffer(3, ForecastBestPatternClose);
   SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(3, ForecastBars - Offset);

   SetIndexBuffer(4, ForecastBestPatternHigh);
   SetIndexStyle(4, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(4, ForecastBars - Offset);
   
   SetIndexBuffer(5, ForecastBestPatternLow);
   SetIndexStyle(5, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(5, ForecastBars - Offset);

/// а это уже заполнение в процедуре-обработчике ///

         ForecastBestPatternOpen[indexBar] = xcbase + ((iOpen(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternClose[indexBar] = xcbase + ((iClose(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternHigh[indexBar] = xcbase + ((iHigh(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternLow[indexBar] = xcbase + ((iLow(NULL, 0, altindex) - ycbase) * sAlt[0]);
 
Awwl:

Você pode me dizer como fazer a exibição dos dados indicadores como castiçais ou apenas barras verticais, como aqui:

Não está clarono próprio código como fazer isso! O estilo DRAW_HISTOGRAM apenas desenha uma linha vertical em cada barra a partir da borda inferior da janela, mas não um candelabro.

A maneira mais fácil é desenhar em mql5, usando o estilo de desenhoDRAW_CANDLES ouDRAW_COLOR_CANDLES. Infelizmente, em mql4 não se pode desenhar candelabros assim.
 
Awwl:

Você pode me dizer como fazer a exibição dos dados indicadores como castiçais ou apenas barras verticais, como aqui:

Não está clarono próprio código como fazer isso! O estilo DRAW_HISTOGRAM apenas desenha uma linha vertical em cada barra a partir da borda inferior da janela, mas não um candelabro.

Se você descobrir como funciona o indicador Heiken Ashi (incluído com o terminal), você entenderá tudo.
 
evillive:
Se você entender como o indicador Heiken Ashi é configurado (o terminal vem com ele), você entenderá tudo.

O Heiken Ashi embutido parece um pouco subdesenvolvido (pergunto-me se sou só eu no 745?), mas posso ver como ele funciona. E não está claro como WmiFor é construído!

No código Heiken Ashi uma vela é tirada de 4 histogramas de barras:

#property indicator_separate_window
#property indicator_buffers 4
#property  indicator_color1 Red
#property  indicator_color2 White
#property  indicator_color3 Red
#property  indicator_color4 White
#property  indicator_width1 1
#property  indicator_width2 1
#property  indicator_width3 3
#property  indicator_width4 3

//---
input color ExtColor1 = Red;    // Shadow of bear candlestick
input color ExtColor2 = White;  // Shadow of bull candlestick
input color ExtColor3 = Red;    // Bear candlestick body
input color ExtColor4 = White;  // Bull candlestick body
//--- buffers
double ExtLowHighBuffer[];
double ExtHighLowBuffer[];
double ExtOpenBuffer[];
double ExtCloseBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//|------------------------------------------------------------------|
void OnInit(void)
  {
   IndicatorShortName("Heiken Ashi");
   IndicatorDigits(Digits);
//--- indicator lines
   SetIndexStyle(0,DRAW_HISTOGRAM,0,1,ExtColor1);
   SetIndexBuffer(0,ExtLowHighBuffer);
   SetIndexStyle(1,DRAW_HISTOGRAM,0,1,ExtColor2);
   SetIndexBuffer(1,ExtHighLowBuffer);
   SetIndexStyle(2,DRAW_HISTOGRAM,0,3,ExtColor3);
   SetIndexBuffer(2,ExtOpenBuffer);
   SetIndexStyle(3,DRAW_HISTOGRAM,0,3,ExtColor4);
   SetIndexBuffer(3,ExtCloseBuffer);
//---
   SetIndexLabel(0,"Low/High");
   SetIndexLabel(1,"High/Low");
   SetIndexLabel(2,"Open");
   SetIndexLabel(3,"Close");
   SetIndexDrawBegin(0,10);
   SetIndexDrawBegin(1,10);
   SetIndexDrawBegin(2,10);
   SetIndexDrawBegin(3,10);
//--- indicator buffers mapping
   SetIndexBuffer(0,ExtLowHighBuffer);
   SetIndexBuffer(1,ExtHighLowBuffer);
   SetIndexBuffer(2,ExtOpenBuffer);
   SetIndexBuffer(3,ExtCloseBuffer);
//--- initialization done
  }

Ou seja, conforme o número de tampão aumenta (de 0 para 3), novas barras são desenhadas em cima das antigas. A ordem é a seguinte:

BaixoAlto - AltoBaixo - Aberto - Fechado.

A ordem dos castiçais deve ser a seguinte para que eles se vejam como devem ser, com seus corpos e rabos:

max(Abrir,Fechar)// linha de cor de espessuras/// - min(Abrir,Fechar)// branco de espessuras/// - alto// linha de cor de espessuras/// - baixo// branco de espessuras///.

Vamos compilar o indicador, colocá-lo no gráfico e ver todos os problemas (ver foto).

Mas este método, como Heiken Ashi, tem uma desvantagem - sob cada "vela" obtemos um laço branco na cor de fundo que cobre tudo mais baixo. Mas com WmiFor tudo é perfeito! Características não documentadas?

Primeira foto - Heiken Ashi (colocada em uma janela separada), segunda foto - WmiFor, o fundo está em verde claro para maior clareza.