Difuculdade com typedef input

 

Olá, Pessoal, boa noite!


Não sou programador, então talvez minha pergunta seja muito simples, mas buscando nos artigos da MQL5 eu não consegui encontrar uma solução.

Eu estou tentando gerar um indicador simples baseado em regras de price action só para estudos mesmo. Então eu preciso que o indicador funcione da seguinte forma: 1-o usuário indica uma regra de price action ao indicador (se fosse um dunnigan, por exemplo, high[0]>high[1] && low[0]>low[1]), sendo 0 o índice do candle atual e 1 o índice do candle anterior. Tendo buffer de compra e de venda, então duas regras personalizáveis. 

Com a regra indicada, o indicador plota uma seta vermelha ou azul no gráfico. 

Quando configuro o input parameter, não estou sabendo configurá-lo. Pelo q li no site da MQL5, o tipo de parâmetro deve ser typedef (me corrijam se estiver errado), mas quando eu coloco o código a seguir, ele me indica dois erros que eu vou colocar na sequencia.

Código: 

//--- input parameters

input typedef      Compra;

input typedef      Venda;

Erros:

'Compra' - declaration without type

'typedef' - unexpected token

'Venda' - declaration without type

'typedef' - unexpected token

 
augustol:

Olá, Pessoal, boa noite!

....

Eu não entendi muito bem o que quer fazer com esse input, mas acho que esta confundindo as coisa, typedef, serve para criar tipos personalizados (alias). Se é essa a sua intenção a sintaxe está errada, deveria ser algo como "typedef tipo alias".

algo assim:

typedef int (*T)(int);
T func_teste;
int teste(int x) { return (~x); }

void OnStart()
  {
//---
   func_teste=teste;
   Print(func_teste(10));
  }

Agora se sua intenção é colocar um parâmetro de entrada no seu indicador/EA, como o valor de uma media móvel, ou quáquer coisa nesse sentido, vc tem que declarar "input tipo nomeVariavel=valor;"

referencia typedef:

https://www.mql5.com/pt/docs/basis/types/typedef


referencia input:

https://www.mql5.com/pt/docs/basis/variables/inputvariables
 
augustol:

Olá, Pessoal, boa noite!


Não sou programador, então talvez minha pergunta seja muito simples, mas buscando nos artigos da MQL5 eu não consegui encontrar uma solução.

Eu estou tentando gerar um indicador simples baseado em regras de price action só para estudos mesmo. Então eu preciso que o indicador funcione da seguinte forma: 1-o usuário indica uma regra de price action ao indicador (se fosse um dunnigan, por exemplo, high[0]>high[1] && low[0]>low[1]), sendo 0 o índice do candle atual e 1 o índice do candle anterior. Tendo buffer de compra e de venda, então duas regras personalizáveis. 

Com a regra indicada, o indicador plota uma seta vermelha ou azul no gráfico. 

Quando configuro o input parameter, não estou sabendo configurá-lo. Pelo q li no site da MQL5, o tipo de parâmetro deve ser typedef (me corrijam se estiver errado), mas quando eu coloco o código a seguir, ele me indica dois erros que eu vou colocar na sequencia.

Código: 

Erros:

'Compra' - declaration without type

'typedef' - unexpected token

'Venda' - declaration without type

'typedef' - unexpected token

Não existe Tipo de Dado "typedef" para a declaração input. Veja a documentação das possíveis opções:

https://www.mql5.com/en/docs/basis/variables/inputvariables


Provavelmente vc quer dar liberdade ao usuário para as regras que quiser, portanto, ou você monta vários inputs com as possíveis opções, ou, 1 input do tipo string, vc daí constrói seu proprio Parser.

;)

Razão: