[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 1075

 

Olá a todos. Preciso de um histograma de impulso. Eu me perguntava se alguém poderia me dar um histograma.

Obrigado.

 
fozi:

Olá a todos. Preciso de um histograma de impulso. Eu me perguntava se alguém poderia me dar um histograma.

Obrigado.

https://www.mql5.com/ru/forum/111497/page1075
Linha ou histograma, não muda o ponto, exceto visualmente.
 
É isso que estou dizendo, são necessárias imagens
 
fozi:
É isso que estou dizendo, são necessárias imagens
Arquivos anexados:
 

Esta função que detecta um movimento excessivo é correta?

externo int CandleVolume=60 - se o tamanho da vela anterior for superior a 60 pips

------ função de verificação do volume da vela anterior

int CheckVolume()
{

int volume=MathAbs(NormalizeDouble(Baixa[1],Dígitos)-NormalizeDouble(Alta[1],Dígitos));

se (volume <= CandleVolume) retornar (1);

se (volume > CandleVolume) retornar (-1);

}

-------- verificar no início como segue

if(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1)

{CheckForOpen();}

 

Outra pergunta: Estou tentando verificar a barra anterior. Cheque de compra - O pedido é mais alto que o alto da barra anterior + spread. Verificação da venda - A oferta é menor que a baixa da barra anterior menos o spread. Quão correta é esta função? Infelizmente, não funciona.

int CheckBar()
{
double Spread=MarketInfo(Symbol(),MODE_SPREAD);
Double PriceBuy=Ask;
double PriceSell=Bid;
if(PriceSell<(Low[1]-Spread)) retorno(-1);
if(PriceBuy>(High[1]+Spread)) retorno(1);
}
 
dzhini:

Outra pergunta: Estou tentando verificar a barra anterior. Cheque de compra - O pedido é mais alto que o alto da barra anterior + spread. Verificação da venda - A oferta é menor que a baixa da barra anterior menos o spread. Quão correta é esta função? Infelizmente, não funciona.


int CheckBar(){   
   double Spread=MarketInfo(Symbol(),MODE_SPREAD);   
   double PriceBuy=Ask;   
   double PriceSell=Bid;   
   if(PriceSell   < (Low[1]  - Spread*Point)) return(-1);   
   if(PriceBuy  > (High[1] + Spread*Point)) return(1);
   return(0);
}
 
dzhini:

Outra pergunta: Estou tentando verificar a barra anterior. Cheque de compra - O pedido é mais alto que o alto da barra anterior + spread. Verificação da venda - A oferta é menor que a baixa da barra anterior menos o spread. Quão correta é esta função? Infelizmente, não funciona.

Eu não usaria de forma alguma a propagação, pois ela flutua com freqüência.
 
Vinin:

Muito obrigado. Está funcionando. Para minha base de conhecimento )))) Por favor, informe o que fazer com a função que define o tamanho da vela anterior?

externo int CandleVolume=60 - se o tamanho da vela anterior for superior a 60 pips

------ função que verifica o volume da vela anterior

int CheckVolume()
{

int volume=MathAbs(NormalizeDouble(Baixa[1],Dígitos)-NormalizeDouble(Alta[1],Dígitos));

se (volume <= CandleVolume) retornar (1);

se (volume > CandleVolume) retornar (-1);

}

-------- verificar no início como segue

if(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1)

{CheckForOpen();}

 
AlexSTAL:
Eu não usaria spreads de forma alguma, porque eles freqüentemente flutuam


Isto não é um problema. A cada carrapato solicitamos uma nova propagação, e o problema é resolvido - sempre teremos uma nova propagação em cada carrapato. Se você trabalha em uma corretora com spreads flutuantes, não faria mal pedir um mini-nível a cada tique.

SPR=MarketInfo(Symbol(),MODE_SPREAD);
MinLevel=MarketInfo(Symbol(),MODE_STOPLEVEL);
Razão: