MetaTrader 4 Build 529 beta lançado com novo compilador - página 37
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Ou seja, você pessoalmente não tem nenhum problema com a operabilidade do software e está fazendo perguntas gerais.
Li suas perguntas várias vezes e não as entendo. Estamos discutindo aqui as especificidades.
Não há problemas com a compilação. Há problemas com a operabilidade e, como eu entendo, eles têm a ver com a mistura da lógica MQL5 com a MQL4. Entretanto, os problemas que discutimos aqui não são suficientes para todas as ocasiões. Tudo isso é um caso especial. As regras são necessárias. Se você publicou um guia preliminar ou, pelo menos, a previsão das traduções das características e regras da MQL5 para a MQL4, isso não só nos ajudaria, mas também a compreender os problemas que surgem. E imagine só, haverá 500 páginas ou mais. Como posso relê-lo?
Não há problemas com a compilação. Há problemas com a operabilidade e, como eu entendo, eles têm a ver com a mistura da lógica MQL5 com a MQL4. Entretanto, os problemas que discutimos aqui não são suficientes para todas as ocasiões. Tudo isso é um caso especial. As regras são necessárias. Se você publicou um guia preliminar ou, pelo menos, a previsão das traduções das características e regras da MQL5 para a MQL4, isso não só nos ajudaria, mas também a compreender os problemas que surgem. E imagine só, haverá 500 páginas ou mais. Como você pode ler tudo isso?
MT4 constrói 536, ME constrói 872.
O indicador usa o parâmetro de entrada para uma janela separada: string externa Currency_Name = "EURUSD";
Se o indicador é iniciado sem alterar o parâmetro de entrada, o indicador é desenhado e funciona sem erros. Mas assim que eu mudar o símbolo após a primeira corrida, por exemplo "GBPUSD", o indicador não aceita o novo nome do símbolo. O short_Name do indicador mantém o mesmo nome, mas o indicador não é sorteado de forma alguma (campo vazio). Se você mudar o nome do símbolo na primeira chamada, o indicador será desenhado pelo nome inicial, escrito no programa.
Quanto à alteração dos valores numéricos dos dados iniciais do indicador, eles são alterados em todos os casos e o indicador é desenhado sem erros.
Ter centenas de variáveis globais em um programa não é bom.
OOP e classes resolvem o problema completa e drasticamente, escondendo escopos e fornecendo acesso protegido aos dados.
Pode não ser bom o suficiente. Mas eu escrevi lá por que é. Era impossível implementar o que se pretendia de forma diferente na MT4. Não funcionou de outra forma com gráficos. Somente através de variáveis externas você pode definir o estilo dos itens gráficos. Se houver vários itens gráficos, você também terá muitas variáveis externas. Além do estilo, há muitas propriedades dos itens gráficos que também podem ser alteradas SOMENTE COM VÁRIAS EXTERNAS. Os gráficos em bandeira de bandeira são bons. Mas em MT4 é uma verdadeira bagunça. É por isso que existem centenas de variáveis externas. Como será na nova versão do MT4 é desconhecido. Veremos.
Portanto, estamos falando de variáveis, não de gráficos. Além disso, os gráficos são ótimos no MT5 - você pode fazer de tudo até jogos de computador. A Mt4 também está prestes a subir.
Como você pode transmitir em qualquer programa uma centena de parâmetros que um usuário deve modificar a qualquer momento? Somente com uma tabela de parâmetros de entrada. Não depende do tipo de programa.
De qualquer forma, centenas de parâmetros são o caminho do programador para lugar nenhum. Precisamos aplicar métodos inteligentes de controle automático para reduzir o número de parâmetros por um fator de dez. Quando você começa a pensar nisso, as soluções vêm imediatamente.
Se houver várias centenas de variáveis externas no indicador e algumas dezenas precisarem ser alteradas durante a instalação, então...
Antes de reinstalar, você precisará lembrar quais variáveis precisam ser salvas dos valores que foram alterados durante a instalação anterior do indicador.
Sem entrar na impossibilidade de se livrar de 100 parâmetros...
Para evitar ter que lembrar o que já foi mudado, existe um botão "Reset".
E o novo comportamento (salvar os valores inseridos das variáveis após a recompilação) torna o trabalho mais conveniente - você não precisa reconfigurar todas as cópias do indicador, se você mudar alguma coisa nele.
Renat, Stringo, será que a Unicode vai ficar de vez?
Este é um script, na inicialização o campo Date_From é sempre a data/hora local atual, o campo Date_To está bem. Mudou a ordem das configurações - se uma variável do tipo data/hora não for a primeira da lista, este defeito não existe
---
Na ajuda, PRICE_CLOSE tem tipo ENUM_APPLIED_PRICE, mas o compilador não sabe - 'ENUM_APPLIED_PRICE' - declaração sem tipo. A ajuda ou o compilador irá consertá-lo?
---
E em geral para este editor/compilador - obrigado!
Eu faço alterações no indicador já compilado que está no gráfico do par de moedas. Eu recompilo-a. Para que as mudanças tenham efeito, é necessário reiniciar todo o terminal. Remover o indicador do gráfico e reiniciá-lo não ajuda, a mudança do cronograma não ajuda. Somente o reinício do terminal em si ajuda a ver as mudanças feitas.
Por favor, conserte-o.
CORNER_RIGHT_LOWER e ANCHOR_RIGHT_LOWER não são detectados
Arquivo Mqh-, erro de "identificador não declarado" nos registros
StringConcatenate funciona de forma estranha
Funciona desta maneira
Mas não funciona assim (apenas "©" é exibido)