Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 8

 
Slawa:

As informações sobre 8 buffers estão desatualizadas

Na nova MQL4 você pode montar até 512 amortecedores.

Para entendê-lo, veja indicadores código fonte na pasta MQL4\Indicadores\Exemplos. E ler a documentação

Obrigado, é claro, pelo link para o livro de referência:) No entanto, eu já dei uma olhada. Infelizmente, não encontrei nada específico - o que fazem estes "buffers" adicionais, o que é exibido, o que não é, etc. - apenas funções, e não há nada sobre a estrutura e a finalidade dos novos "buffers".

O homem está pedindo uma resposta no fórum, não um link para um livro de referência. Talvez alguém possa explicar com mais detalhes ? :) Ou pelo menos um link para um artigo que o explique ?

 
Ilya Melamed:

Obrigado, é claro, pelo link para o guia:) No entanto, eu já dei uma olhada. Infelizmente não encontrei nada específico - para que buffers adicionais são necessários, o que é exibido, o que não é, etc... apenas funções, mas nada sobre a estrutura e propósito, a lógica dos "buffers" atualizados.

A pessoa está pedindo uma resposta no fórum, não um link para um livro de referência. Talvez alguém possa explicar com mais detalhes ? :) Ou pelo menos um link para um artigo onde isso seja explicado ?

Aproveite:

https://www.mql5.com/ru/articles/1500

https://www.mql5.com/ru/articles/1503

 
Ilya Melamed:

Obrigado, é claro, pelo link para o guia:) No entanto, eu já dei uma olhada. Infelizmente não encontrei nada específico - para que buffers adicionais são necessários, o que é exibido, o que não é, etc... apenas funções, e nada sobre a estrutura e propósito, ou sobre a lógica dos "buffers" atualizados.

A pessoa está pedindo uma resposta no fórum, não um link para um livro de referência. Talvez alguém possa explicar com mais detalhes ? :) Ou pelo menos um link para um artigo onde é explicado ?

No novo mql4 você não precisa usar amortecedores adicionais.

O que você colocar no buffer será exibido. Talvez nada possa ser mostrado, se o tipo de série gráfica for DRAW_NONE.

A principal função do indicador é OnCalculate(). Comece por ela:

https://docs.mql4.com/ru/basis/function/events#oncalculate

Функции обработки событий - Функции - Основы языка - Справочник MQL4
Функции обработки событий - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
Функции обработки событий - Функции - Основы языка - Справочник MQL4
 
Seria algo para se desfrutar. É tudo muito antigo.

Ilya Melamed

Leia os artigos, é claro, mas tenha em mente que a função principal é diferente e é melhor construir o início dos indicadores de forma diferente agora (veja o link que eu dei no post anterior). Você também pode consultar os indicadores da CodeBase, escritospor Nikolay Kositsin. Ele os comeu todos:).

 

Saudações.

Estou escrevendo um EA em MT4 após o OnTick() nulo de uma função:

Imprimir("TEXTO");

(minha tarefa é escrever "TEXTO" no meu diário de bordo a cada tique).

Compilo-a e ela mostra "TEXTO" no diário do Testador a cada tick. Quando habilito o mesmo Expert Advisor no gráfico, o carregamento é completado com sucesso e pronto, o texto "TEXT" está ausente.

Ao mesmo tempo, as funções Comentário() e Alerta() no gráfico e no testador funcionam da mesma maneira.

O que eu estou fazendo de errado?

 
spoiltboy:

Saudações.

Estou escrevendo um EA em MT4 após o OnTick() nulo de uma função:

Imprimir("TEXTO");

(minha tarefa é escrever "TEXTO" no meu diário de bordo a cada tique).

Compilo-a e ela mostra "TEXTO" no diário do Testador a cada tick. Quando habilito o mesmo Expert Advisor no gráfico, o carregamento é completado com sucesso e pronto, o texto "TEXT" está ausente.

Ao mesmo tempo, as funções Comentário() e Alerta() no gráfico e no testador funcionam da mesma maneira.

O que eu estou fazendo de errado?

Favor anexar o código completo do Expert Advisor e o nome do instrumento, no qual você o executa.
 
Alexey Kozitsyn:
Favor anexar o código completo do Expert Advisor e o nome do instrumento no qual você o está executando.

Qualquer instrumento, USDCHF, H1, por exemplo.

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Print("TEXT");
  }
//+------------------------------------------------------------------+

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
spoiltboy:

Saudações.

Estou escrevendo um EA em MT4 após o OnTick() nulo de uma função:

Imprimir("TEXTO");

(minha tarefa é escrever "TEXTO" no meu diário de bordo a cada tique).

Compilo-a e ela mostra "TEXTO" no diário do Testador a cada tick. Quando habilito o mesmo Expert Advisor no gráfico, o carregamento é completado com sucesso e pronto, o texto "TEXT" está ausente.

Ao mesmo tempo, as funções Comentário() e Alerta() funcionam da mesma forma no gráfico e no testador.

O que eu estou fazendo de errado?

Você está certo. Naquele momento não havia carrapatos. Para torná-lo mais claro, acrescente um contador de carrapatos e imprima seu valor.

int tik=0;
void OnTick()
{                                      
tik++;
Print("tik # = ", tik);
}
 
Vitalie Postolache:

É verdade, é só que não havia carrapatos na época. Para torná-lo mais claro, acrescente um contador de carrapatos e imprima seu valor.

int tik=0;
void OnTick()
{                                      
tik++;
Print("tik # = ", tik);
}

Asfunções Comentário() e Alerta() funcionam de forma idêntica no gráfico e no testador.

O que eu estou fazendo de errado?

 
spoiltboy:

Qualquer instrumento, USDCHF, H1, por exemplo.

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Print("TEXT");

return(0);
  }
//+------------------------------------------------------------------+


Razão: