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

 

Taxas deMqlRRates [];

tarifas[0].abrir> tarifas[0].fechar

Por favor, aconselhar como verificar esta condição sobre o prazo actual e sobre vários outros prazos ao mesmo tempo, dois, três, cinco. Como afecta o desempenho dos testes? Gostaria de receber um link para uma EA multi-quadro ou um indicador MT5.

 
Николай К:

Taxas deMqlRRates [];

tarifas[0].abrir> tarifas[0].fechar

Por favor, aconselhar como verificar esta condição sobre o prazo actual e sobre vários outros prazos ao mesmo tempo, dois, três, cinco. Como afecta o desempenho dos testes? Gostaria de receber um link para uma EA multi-quadro ou um indicador MT5.

Array rates_tf_***[] para cada TF e CopyRates também para cada TF para a matriz de estrutura apropriada. Como afecta a velocidade dos testes... Essa é outra questão. Mas não há mais nada. Ou talvez eu simplesmente não saiba...
 


O CÓDIGO

FileWrite(file_handle, Period());

num período de 5 minutos, mostra 5

AF 15 min =15

E em TF 1h =1536

4ч = 16388

Porquê?

 
Aleksei Skrypnev:


O CÓDIGO

num período de 5 minutos, mostra 5

AF 15 min =15

E na TF 1H =1536.

Porquê?

Primeiro olhamos paraPeríodo()

...O valor pode ser um dos valoresda enumeraçãoENUM_TIMEFRAMES:

Identificador

Descrição

PERÍODO_CURSO

Período actual

PERÍODO_M1

1 minuto

PERÍODO_M2

2 minutos

PERÍODO_M3

3 minutos

PERÍODO_M4

4 minutos

PERÍODO_M5

5 minutos

PERÍODO_M6

6 minutos

PERÍODO_M10

10 minutos

PERÍODO_M12

12 minutos

PERÍODO_M15

15 minutos

PERÍODO_M20

20 minutos

PERÍODO_M30

30 minutos

PERÍODO_H1

1 hora

PERÍODO_H2

2 horas

PERÍODO_H3

3 horas

PERÍODO_H4

4 horas

PERÍODO_H6

6 horas

PERÍODO_H8

8 horas

PERÍODO_H12

12 horas

PERÍODO_D1

1 dia

PERÍODO_W1

1 semana

PERÍODO_MN1

1 mês


Nota: "um dos valores do PERÍODO ...". Ou seja, pode ser PERÍODO_H6 ou PERÍODO_M1 ou qualquer valor do PERÍODO. Mas a representação interna da enumeração não deve interessar a ninguém. Hoje é '15' e amanhã pode ser '15478899662'. Mas, como programador, não deve importar-se de todo - deve trabalhar com valores (PERÍODO_M4, PERÍODO_M15 ...), não com a representação interna.

Документация по MQL5: Проверка состояния / Period
Документация по MQL5: Проверка состояния / Period
  • www.mql5.com
Period - Проверка состояния - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

Primeiro olhar paraPeríodo()

...O valor pode ser um dos valores daenumeração deENUM_TIMEFRAMES:



Nota: "um dos valores do PERÍODO ...". Portanto, pode ser PERÍODO_H6 ou PERÍODO_M1 ou qualquer valor da enumeração. Mas a representação interna da enumeração não deve interessar a ninguém. Hoje é '15' e amanhã pode ser '15478899662'. Mas, como programador, não deve preocupar-se nada com isto - deve trabalhar com valores (PERÍODO_M4, PERÍODO_M15 ...), não com a representação interna.

Pensei que algo mais claro seria escrito no ficheiro)

Não pode escrever algo mais claro (tal como Perod_H1) para um ficheiro de uma forma simples?

 
Aleksei Skrypnev:

Pensei que algo mais claro seria escrito no ficheiro)

Não pode escrever algo mais compreensível (tal como Perod_H1) num ficheiro de uma forma simples, pois não?

Se precisar de ser muito claro - escreva-o como texto'PERÍODO_H1' e similares no ficheiro.

 

Bom dia a todos! Que problema! Estava a testar uma EA no MT4, testei-a durante todo o dia, no final vi que à noite já não havia memória no disco rígido, compreendi imediatamente que era por causa dos testes, decidi limpá-la, entrei na pasta MetaQuotes no Windows e apaguei muitas coisas lá, como resultado todas as plataformas se perderam, tanto o MT4 como o MT5, 10 peças no total, funcionam, mas estão completamente "limpas" - sem indicadores do mercado, sem EAs, nada! precisava realmente de um consultor num terminal mt5, não guardei uma cópia, acabaram-se as activações, o que devo fazer ?

Decidi usar o programa para restaurar ficheiros apagados, consegui restaurar o ficheiro EA colocando-o na pasta de peritos durante a actualização e o terminal simplesmente não o vê, e não consigo descarregá-lo da conta do Mercado, diz que a instalação falhou!

Arquivos anexados:
 

Por favor, ajudem-me com um problema!

Estou apenas a aprender a escrever código, por isso, por favor, seja indulgente com a minha falta de alfabetização.

Preciso de ajuda para compreender a funçãoOnChartEvent, que actualiza os objectos gráficos no gráfico após uma mudança de tempo ou alteração das definições no menu indicador. No caso de fecho do indicador, apagarei completamente todos os objectos gráficos deste indicador do gráfico.

Compreendo que é necessário apagar primeiro os objectos gráficos e depois criá-los novamente. Masse os objectos foram apagados, não há acesso às suas propriedades e depois como recriar estes objectos....... Ou talvez eu não o entenda? Ou talvez haja outra forma - actualizar objectos gráficos no gráfico ?

Por favor, escreva um exemplo com comentários sobre como fazê-lo.


 
Sprut 185:

Por favor, ajudem-me com um problema!

Estou apenas a aprender a escrever código, por isso, por favor, seja indulgente com a minha falta de alfabetização.

Preciso de ajuda para compreender a funçãoOnChartEvent, que actualiza os objectos gráficos no gráfico após uma mudança de tempo ou alteração das definições no menu indicador. No caso de fecho do indicador, apagarei completamente todos os objectos gráficos deste indicador do gráfico.

Compreendo que é necessário apagar primeiro os objectos gráficos e depois criá-los novamente. Masse os objectos foram apagados, não há acesso às suas propriedades e depois como recriar estes objectos....... Ou talvez eu não o entenda? Ou talvez haja outra forma - actualizar objectos gráficos no gráfico ?

Por favor, escreva um exemplo com comentários sobre como fazê-lo.


Não o considere grosseiro, mas há todos os exemplos na documentação. Basta prestar atenção às funções ObjectSet**** que alteram os parâmetros de um objecto gráfico.

Документация по MQL5: Графические объекты / ObjectSetDouble
Документация по MQL5: Графические объекты / ObjectSetDouble
  • www.mql5.com
ObjectSetDouble - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

Não quero ser indelicado, mas a documentação tem todos os exemplos. Basta prestar atenção às funções ObjectSet**** que alteram os parâmetros do objecto gráfico.

Obrigado pela vossa participação.

Infelizmente a função ObjectSet*** não era adequada para a minha tarefa.

Eu próprio resolvi o problema usando a função OnDeinit().
void OnDeinit(const int reason)
  {
   ObjectsDeleteAll (0, -1, -1);
  }

Agora tudo funciona como deveria.