Discussão do artigo "Criando Indicadores de Ponto no MQL5" - página 2

 

O que você acha disso?

//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizado
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   if(prev_calculated==0)
     {
      ArrayInitialize(BidBuffer,0);
      ArrayInitialize(AskBuffer,0);

     }
.....
  }
 

Muito obrigado

Acho que será mais eficaz quando as velas do "indicador de tick"

que se referem a um candle do período de tempo atual forem integrados e/ou separados de outro grupo

 

Muito bom. Obrigado.

É possível adicionar uma escala de tempo e uma média simples ou exponencial ao indicador de vela de tique-taque?

 

Quando o período do gráfico é alterado, o tamanho das matrizes dinâmicas BidBuffer[] e AskBuffer[] associadas aos buffers do indicador é alterado. Depois disso, as matrizes são preenchidas com valores "aleatórios", que diferem dos valores inseridos anteriormente; eles também diferem do valor 0, para o qual nenhuma renderização é especificada. Portanto, sempre antes de preencher as matrizes, você deve inicializá-las com o valor 0 (como denkir escreveu):

if(prev_calculated==0)
  {
   ArrayInitialize(BidBuffer,0);
   ArrayInitialize(AskBuffer,0);

Anexei a versão corrigida do indicador.

Arquivos anexados:
 

Obrigado!
Muito interessante. Os tickcandels talvez precisem ser adicionados também

   if(prev_calculated==0)
     {
      //*************
      ArrayInitialize(TicksBuffer,0);
      ArrayInitialize(OpenBuffer,0);
      ArrayInitialize(HighBuffer,0);
      ArrayInitialize(LowBuffer,0);
      ArrayInitialize(CloseBuffer,0);
      //*************
 
Muito bom trabalho!
 

Você pode me informar como podemos adicionar isso ao MT4?

Além disso, podemos usar os gráficos de média móvel nesses gráficos de ticks?

 
Praveen Moragaspitiya #: Você pode me informar como podemos adicionar isso ao MT4? Além disso, podemos usar os gráficos de média móvel nesses gráficos de ticks?

O MT4 não armazena dados históricos de ticks. Você mesmo teria de armazenar os dados de ticks. Pesquise no CodeBase, pois deve haver várias versões do MT4 para gráficos de ticks.

 
Fernando Carreiro #:

O MT4 não armazena dados históricos de ticks. Você mesmo teria de armazenar os dados de ticks. Pesquise no CodeBase, pois deve haver várias versões do MT4 para gráficos de ticks.

Obrigado pela resposta.
 
hakita #:

Obrigado por esse artigo interessante.

O uso de um arquivo para armazenar dados em buffer era obrigatório?

Não era possível armazenar dados de histórico na memória, usando uma matriz estatística?

Meus cumprimentos

Como ele fez o download de ticks sem nenhum comando de download de ticks, como copiar ticks. Estou confuso. Poderia me explicar?