Versão Beta do MetaTrader 4 IDE incluindo o novo compilador e editor MQL4 - página 8

 

Tudo parece estar a funcionar.

Tenho um pequeno desejo - a lista de funções não pode ser permanentemente visível na janela "Navigator"? Seria muito conveniente navegar através do código.

 
BorisMQL4:
Existe alguma forma de personalizar a barra de ferramentas como era anteriormente possível?

Sim, clique com o botão direito do rato sobre um item da barra de ferramentas existente e seleccione "Personalizar".


Tudo é o mesmo que no MetaEditor 4.

 
Renat:

Quais são as diferenças em relação à versão antiga da MQL4:

  • A prioridade das operações lógicas E/OU mudou. Agora tudo é como no clássico C/C+++.

  • Foi introduzida uma avaliação resumida das expressões lógicas. Agora, ao avaliar uma expressão lógica, as restantes subexpressões não são avaliadas. Como em C/C+++.

  • O operador do interruptor utiliza agora apenas valores inteiros. Anteriormente, podiam ser utilizados os verdadeiros.

  • Agora, não se pode usar uma paragem completa em nomes variáveis. Além disso, não se pode utilizar os caracteres '@', '$', '?' em nomes variáveis.

  • Os requisitos para a função de arranque foram reforçados. Anteriormente, era possível especificar parâmetros na função de início. Agora todos os pontos de entrada init, start, deinit, OnInit, OnStart, OnTick, OnTimer, etc. devem coincidir exactamente com as suas assinaturas

  • Agora não pode usar nomes dos seguintes tipos: short, long, float, const, virtual, input, delete, new, do, do, char.

  • Agora, as funções de dll importadas não podem aceitar conjuntos de cordas como parâmetro. Como na MQL5

  • Agora há nomes de variáveis predefinidos _Período, _Símbolo, _LastError, _CriticalError, _StopFlag, _Ponto, _Dígitos, _UninitReason, _RandomSeed que podem chocar com variáveis simples declaradas no código fonte existente com os mesmos nomes.

  • O tipo de data/hora tornou-se 8 bytes, como na MQL5.

As diferenças não são fatais, e podem ser facilmente fixadas no código. Em troca, estão disponíveis muitas características da MQL5, a velocidade de execução e um controlo de qualidade muito mais apertado.

Os 2 primeiros itens são especialmente perigosos porque o código irá compilar mas pode não funcionar correctamente.

Posso acrescentar mais? Se não, por favor corrigi-lo (não há tempo para o teste beta e teste completo). (por isso vou escrever no final (?) para não parecer uma verdade absoluta):

  • As cordas tornaram-se unicode (2 bytes). Portanto, os algoritmos baseados na manipulação de caracteres de 1 byte não funcionarão correctamente ou não funcionarão de todo (?).
  • Deve especificar explicitamente a segunda e maior dimensão da matriz ao descrever os parâmetros da função (?)
  • Asvariáveis e matrizeslocais não são inicializadas automaticamente (?)
  • As arrays por defeito já não são estáticas (?)
  • Cordas com mais de 256 caracteres não serão truncadas (?)
  • Algumas constantes mudaram a sua representação interna. Por exemplo, os períodos gráficos começam a partir de H1 (?)
  • ...
Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 

Lista de pontos de entrada para novos programas MQL4

1. Para compatibilidade com as fontes existentes, o init familiar, start, deinit permanece

2. Adicionado:

OnInit, OnDeinit (para Consultores Especialistas, indicadores e scripts, a existência simultânea das funções init e OnInit, deinit e OnDeinit não é permitida)

OnStart para roteiros (não é permitida a existência simultânea de OnStart e start)

OnTick para Consultores Especialistas (não é permitida a existência simultânea de OnTick e start)

OnCalculate para indicadores (a existência simultânea de OnCalculate e start não é permitida)

Também adicionado:

OnTimer para Consultores Especialistas e indicadores

OnChartEvent para Consultores Especialistas e indicadores

OnTester para Consultores Especialistas

 

Estas alterações no cálculo das expressões já deveriam ter sido feitas há muito tempo. Quase raramente causarão problemas, a menos que o autor escreva grandes expressões.

Não há problema com as cordas - internamente são Unicode, convertidas automaticamente para ANSI quando utilizadas fora do terminal (enviando comentários em encomendas), incluindo a recodificação automática para trás e para a frente quando passadas para DLL. Ou seja, a compatibilidade é completa.

As dimensões das matrizes são sim. Agora pode esquecer os jogos selvagens com matrizes multidimensionais, uma vez que são perfeitamente substituíveis por estruturas.

As matrizes em MQL4 nunca foram estáticas, pelo contrário, sempre foram dinâmicas.

Não, não há mais limite de 256 caracteres.

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
stringo:

Lista de pontos de entrada para novos programas MQL4

1. Para compatibilidade com as fontes existentes, o init familiar, start, deinit permanece

2. Adicionado:

OnInit, OnDeinit (para Consultores Especialistas, indicadores e scripts, a existência simultânea das funções init e OnInit, deinit e OnDeinit não é permitida)

OnStart para roteiros (não é permitida a existência simultânea de OnStart e start)

OnTick para Consultores Especialistas (não é permitida a existência simultânea de OnTick e start)

OnCalculate para indicadores (a existência simultânea de OnCalculate e start não é permitida)

Também adicionado:

OnTimer para Consultores Especialistas e indicadores

OnChartEvent para Consultores Especialistas e indicadores

OnTester para Consultores Especialistas

A OnTrade e a OnTradeTransaction estão planeadas?
 
Renat:

Talvez o estúdio seja russo?

Sim, é russo. Será isso crítico?
 
fyords:
Sim, é russo. É crítico?

Não crítico, excepto para as frases salpicadas em russo. Este texto é deduzido das respostas do estúdio.

Vamos tentar resolver este problema.

 
Renat:

Não crítico, excepto para as frases salpicadas em russo. Este texto é deduzido das respostas do estúdio.

Vamos tentar resolver este problema.

Estou a ver, obrigado, e quanto a encontrar a 5ª unidade de estúdio, o problema será resolvido ou serei eu a ter alguns problemas?
 
Urain:
A OnTrade e a OnTradeTransaction estão planeadas?
Infelizmente, não.