Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1343

 

Adicionado ao código, não imprime a segunda cópia e subsequentes cópias dos indicadores

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[])
{
  OnInit();
   for(int i = prev_calculated == 0 ? 0 : prev_calculated - 1; i < rates_total; i++)
   {
      Label1Buffer[i] = close[i];
   }
   return(rates_total);
}

---

O que está feito:

Instalou 3 cópias do indicador, compilou o ficheiro e obteve a impressão a partir da primeira cópia

2021.09.12 18:30:40.975 Create_button (BTCUSD,M30)      INIT SUCCEEDED: 1
 
Vitaly Muzichenko #:

Mas se alterar os parâmetros de entrada - então funciona.

viram tais mensagens no fórum, tanto quanto percebi, o terminal não corre duas cópias do indicador com os mesmos parâmetros no mesmo gráfico

 
Igor Makanu #:

Vi tais mensagens no fórum, tanto quanto percebi, o terminal não inicia duas cópias do indicador com os mesmos parâmetros no mesmo gráfico

Como posso fazê-lo funcionar sem alterar os parâmetros de entrada?

Precisa de instalar várias cópias, é uma tarefa tão grande, infelizmente

 
Vitaly Muzichenko #:

Como posso fazê-lo funcionar sem alterar os parâmetros de entrada, talvez adicionar algo de definido?

Necessidade de definir várias cópias, esta é, infelizmente, uma tal tarefa.

Introduzir um parâmetro falso. E atribuir-lhe 1, 2, 3 ...

 
Vitaly Muzichenko #:

Como posso fazê-lo funcionar sem alterar os parâmetros de entrada, talvez adicionar algo de definido?

Necessidade de fazer múltiplas cópias, este é um desafio tão grande, infelizmente

viram e testaram como fazer duas subjanelas editando um modelo - uma subjanela no topo do gráfico, a segunda na cave

tente guardar um modelo com o seu indicador, e se funcionar desta forma também com modelos - adicione uma cópia do indicador ao texto do modelo

 
Igor Makanu #:

viram e testaram como fazer duas subjanelas usando a edição de modelos - uma subjanela no topo do gráfico, a segunda na cave

tente guardar um modelo com o seu indicador e se funcionar também com modelos - adicione uma cópia do indicador ao texto do modelo

A questão é que eles precisam de ser atirados em quantidades diferentes aleatoriamente, para que não funcione de uma forma fixa.

 
Igor Makanu #:

viram e testaram como fazer duas subjanelas usando a edição de modelos - uma subjanela no topo do gráfico, a segunda na cave

tente guardar um modelo com o seu indicador, e se funcionar o mesmo truque com os modelos - adicione uma cópia do indicador no texto do modelo

Descarreguei 3 cópias, o OnInit funcionou uma vez.

Mudou o valor de entrada - o segundo indicador disparou

Mudei a cor na terceira - também funcionou


Mas como posso automatizá-lo?

 

então não sei, só vejo a solução de @Vladimir Karputov como aceitável

fazer um parâmetro de entrada longo e chamar aleatoriamente, e aleatoriamente gerar um grande, ou seja, longo

 
Igor Makanu #:

então não sei, só vejo a solução de @Vladimir Karputov como aceitável

fazer um parâmetro de entrada longo e chamar aleatoriamente, e aleatoriamente gerar um grande, ou seja, longo

Imaginava-o assim, mas como implementá-lo?

Por favor mostre-me o código!

 
Vitaly Muzichenko #:

Foi mais ou menos isso que imaginei, mas como implementá-lo?

Por favor mostre-me o código!

de maneira nenhuma

Se lhe chamar programática, pode gerar um parâmetro de forma aleatória

E precisa de o executar manualmente, ainda precisa de alterar o parâmetro de entrada.


tente ver o que está nas macrossubstituições predefinidas, havia __COUNT___ e agora há algo com aleatório, ainda não verifiquei como funciona __COUNT___- acaba por ficar estático, tem pouco efeito, talvez possa usar aleatório para a sua tarefa