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

 
barudkinarseniy:
Olá cavalheiros do fórum!!! Tenho um problema. Testei o Expert Advisor nos dias de semana e obtive um resultado, mas nos fins-de-semana dá-me um resultado totalmente diferente! Pode por favor explicar porquê?
penso que é porque a propagação se alarga aos fins-de-semana
 
Sergey Gritsay:
porque ao fim-de-semana alargam o leque
e o nível da margem diminui, isto é, quando o mercado fecha ou mais cedo ou depende do corretor?
 
Karputov Vladimir:

Aqui está o painel de diálogo com o controlo CEdit (para maior clareza, o exemplo é feito como um único ficheiro) - o painel verifica os caracteres introduzidos. Só são permitidos números:

Obrigado pelo código. Mas aqui está outra questão. Compilei o código em MT5. Acontece que ainda é possível introduzir letras na unidade, mas se introduzir letras, diz "Só são permitidos dígitos" no fim do código na unidade. Mas como tornar impossível a entrada de cartas na unidade?
 
Andrey Zuev:
Obrigado pelo código. Mas outra questão é esta. Eu compilei o código em mt5. Acontece que ainda se pode introduzir letras em edição, mas se introduzir letras, quando terminar a introdução, diz "Só são permitidos números" em edição. Mas como tornar impossível a entrada de cartas em udite?
Não pode. O controlo baseado na classe CEdit trata apenas ON_END_EDIT- (6) // fim do evento de edição - ou seja, evento de conclusão de entrada.
 

Colegas, a tentarem receber um sinal a partir desta linha:

if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Sinal para comprar

Mas o compilador queixa-se de que "Ponto - identificador não declarado".

Este é o MT5.

Não é uma variável pré-definida?

 
Andrey Koldorkin:

Colegas, a tentarem receber um sinal a partir desta linha:

if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Sinal para comprar

Mas o compilador queixa-se de que "Ponto - identificador não declarado".

Este é o MT5.

Não é uma variável pré-definida?

Não. Utilizar _Ponto.
 
Andrey Koldorkin:

Colegas, a tentarem receber um sinal a partir desta linha:

if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Sinal para comprar

Mas o compilador queixa-se de que "Ponto - identificador não declarado".

Este é o MT5.

Não é uma variável pré-definida?

É necessário utilizar oPoint().

 

Obrigado.

Outra questão. Quero tomar o valor da curva na vela actual e na última vela fechada, bem como na última vela fechada e na penúltima vela fechada.

Preciso de usar uma matriz aqui?

Tenho uma mashka que tem 3 parâmetros de entrada. Estou a tentar construir um endereço para ele:

//----------------------

duplo P0, P1, P2; // valor indicador na vela actual, última vela fechada

P0 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //O preço indicador na vela actual

P1 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //O preço indicador na última vela fechada

P2 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //O preço indicador na penúltima vela fechada

//----------------------

As três linhas do fundo são as mesmas, escrevi-o desta forma, porque não percebo como ler o valor no candelabro anterior. Toma a actual correctamente, e produz-a correctamente usando Alerta.

Talvez devêssemos de alguma forma definir um laço, onde o valor actual é escrito e com cada novo castiçal é deslocado para trás, tornando-se primeiro o último castiçal fechado, e depois o penúltimo castiçal fechado.

Como fazer isto de uma forma inteligente? ))

 
Andrey Koldorkin:

Colegas, a tentarem receber um sinal a partir desta linha:

if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Sinal para comprar

Mas o compilador queixa-se de que "Ponto - identificador não declarado".

Este é o MT5.

Não é uma variável pré-definida?

E depois escreve isto:

Andrey Koldorkin:

Obrigado.

Outra questão. Quero tomar o valor da curva na vela actual e na última vela fechada, bem como na última vela fechada e na penúltima vela fechada.

Preciso de usar uma matriz aqui?

Tenho uma mashka que tem 3 parâmetros de entrada. Estou a tentar construir um endereço para ele:

//----------------------

duplo P0, P1, P2; // valor indicador na vela actual, última vela fechada

P0 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //O preço indicador na vela actual

P1 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //O preço indicador na última vela fechada

P2 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //O preço indicador na penúltima vela fechada

//----------------------

As três linhas do fundo são as mesmas, escrevi-o desta forma, porque não compreendo como ler o valor no candelabro anterior. Toma a actual correctamente, e produz-a correctamente usando Alerta.

Talvez devêssemos de alguma forma definir um laço, onde o valor actual é escrito e com cada novo castiçal é deslocado para trás, tornando-se primeiro o último castiçal fechado, e depois o penúltimo castiçal fechado.

Como fazer isto de uma forma inteligente? ))

Então, ainda: escreve em MT5 ou em MT4?

Acrescentado:inserir o código correctamente no fórum

 
Karputov Vladimir:

e depois escreve isto:

Então, ainda: está a escrever em MT5 ou MT4?

Acrescentado:Inserir o código correctamente no fórum

MT5. Não julgue severamente, estou apenas a começar.

O compilador não parece jurar.