[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 14

 
Yulia:

Eu tentei tudo, se eu colocar o valor de 20 bar no buffer verde, então o vermelho é puxado ainda mais, se eu atribuir EMPTY_VALUE ao buffer vermelho 20, então o vermelho ao 20 não é puxado. Por favor, mostre-me um exemplo, eu ficaria muito grato a você

Os tampões precisam ser preenchidos por alguma condição, por exemplo, pelo número do bar (do 20º ao 40º bar que desenhamos em verde):
    while (i >= 0)    
    {    
                
         if (i <= 20 && i >= 40) Buf_0[i] = High[i];                      
         if (i >= 20 && i <= 40) Buf_1[i]= High[i];
         i--;                                
      
    }

P.S. E aprenda a inserir código em seus postos - através do botão "SRC". (no menu do campo de entrada de texto). Aqui sobre isso mais em detalhes.

 
rigonich:

Variáveis ou matrizes de variáveis são utilizadas para este fim. Na verdade, o MySQL também é um conjunto de variáveis e um conjunto de regras que permitem que você trabalhe com este conjunto.

Você pode dar um exemplo?
 
TarasBY:
Os tampões devem ser preenchidos por alguma condição, por exemplo, pelo número de barra (da 20ª à 40ª barra que desenhamos em verde):

P.S. E aprenda como inserir código em seus postos - através do botão "SRC (no menu do campo de entrada de texto). Leia mais sobre isso aqui.

Sim, erro meu, desculpe.

Obrigado pelo código. Vou investigar isso.

 
Yulia:

Que tipo de homem você é, você não pode ajudar uma pobre garota, tudo o que peço é uma bagatela.

Aqui está um link para MA colorido, por exemplo.https://www.mql5.com/ru/code/9145

Eu só preciso de um exemplo, mas mais simples e claro com uma linha colorida no topo ou no fundo das barras, sem algoritmos de cálculo.

Por favor, responda ao meu pedido. Agradecemos antecipadamente.

Sozinho ou conosco, mas você não pode fazer isso sem um livro didático! E a pobre garota precisa de um patrocinador! ;)
 

Posso lhe fazer mais algumas perguntas?

Meu indicador tem duas linhas, que arrasto com o mouse através da tela, como a função Alerta no terminal, mas mais conveniente. Mas ele fica louco ao mudar para uma tabela mensal. É claro que não é tão importante, mas eu gostaria de saber a razão.

// Юляшкин индикатор

#property indicator_chart_window
extern bool                     Активность            = 1;
extern int                      Уровень               = 500;
//--------------------------------------------------------------+
int start() {
    if (Активность == 0) {ObjectSet("Line_up",OBJPROP_COLOR,Gray); ObjectSet("Line_down",OBJPROP_COLOR,Gray); return(0);}
    if (Close[0] > ObjectGet ("Line_up",OBJPROP_PRICE1) || Close[0]< ObjectGet("Line_down",OBJPROP_PRICE1)) 
       PlaySound("alert.wav"); 
return(0);
}
//--------------------------------------------------------------+ 
int init() {
ObjectCreate("Line_up",OBJ_HLINE,0,0,Close[0]+Уровень*Point);
ObjectSet("Line_up",OBJPROP_STYLE,2); 
ObjectSet("Line_up",OBJPROP_COLOR,Yellow);
ObjectCreate("Line_down",OBJ_HLINE,0,0,Close[0]-Уровень*Point); 
ObjectSet("Line_down",OBJPROP_STYLE,2); 
ObjectSet("Line_down",OBJPROP_COLOR,Yellow);
return(0);
}  
//--------------------------------------------------------------+
int deinit() {
ObjectDelete("Line_up");
ObjectDelete("Line_down");   
return(0);
} 
//--------------------------------------------------------------+  
A segunda pergunta. O mql4 tem limitações na criação de objetos usando a função ObjectCreate?
 
TarasBY:
Para que a linha seja desenhada em cores diferentes (é montada a partir de "peças" separadas de linhas de cores diferentes), você precisa ativar quantos tampões quiser nas cores da linha que está sendo desenhada.

Em seu exemplo, na barra 20 os valores devem ser colocados no buffer que desenha a linha verde, e todos os outros buffers nessa barra devem ter um valor vazio que não está desenhado no gráfico. O valor padrão é EMPTY_VALUE.


P.S. O link colorido MA que você forneceu é elementar e muito claro sobre o que lhe escrevi acima.


Em geral, é elementar e compreensível, mas está além do escopo das ferramentas padrão para construir indicadores, e uma pessoa que apenas desenvolve ferramentas padrão não é elementar e compreensível. Na verdade, eu quis dizer que a função padrão em um momento pode extrair apenas um segmento dos dados de um buffer, e para extrair o próximo, você deve se lembrar do anterior, e então montá-los juntos.... Tudo isso é possível, e de várias maneiras, mas para alguém que faz este tipo de perguntas, nem todas serão simples.
 
Yulia:

Posso lhe fazer mais algumas perguntas?

Meu indicador tem duas linhas, que arrasto com o mouse através da tela, como a função Alerta no terminal, mas mais conveniente. Mas ele fica louco ao mudar para uma tabela mensal. É claro que não é tão importante, mas eu gostaria de saber a razão.

A segunda pergunta. O mql4 tem limitações na criação de objetos usando a função ObjectCreate?

O que significa ficar louco?
 
Vinin:

O que você quer dizer com isso?
O indicador toca PlaySound("alert.wav") periodicamente, embora não deva tocar.
 
rigonich:

Mas isso está além do escopo das ferramentas padrão para construir indicadores, e para uma pessoa que está apenas aprendendo as ferramentas padrão é elementar e compreensível.
Ao comentar minhas postagens, muitas vezes você Eu não preciso (eu não escrevo sobre coisas que não "toquei" ou descobri), e me colocando no lugar daqueles para os quais você está tentando comentar, eu também desistiria deles (daquele lugar). Há muitas outras revelações esperando por você no caminho para dominar a MQL4.
 
Yulia:

Posso lhe fazer mais algumas perguntas?

Meu indicador tem duas linhas, que arrasto com o mouse através da tela, como a função Alerta no terminal, mas mais conveniente. Mas ele fica louco ao mudar para uma tabela mensal. É claro que não é tão importante, mas eu gostaria de saber a razão.

A segunda pergunta. O mql4 tem limitações na criação de objetos usando a função ObjectCreate?
Primeiro, escreva o preço nas condições de uma forma mais correta: Close[0] (barra não fechada) é igual a Bid. Talvez isto mude algo no comportamento de seu indicador.
Razão: