Bug de redimensionamento de matriz em beta build 530 - página 4

 
SDC:

Você já codificou na MQL5 angevoyageur ?

Sim. Por que ?
 
angevoyageur: Sim, você está certo, será uma transição difícil. Entretanto, acho que será difícil não para os novatos, mas para o codificador mql4 experimentado que ainda não conhece o mql5. Em geral, os novatos não lêem a documentação

Concordo com você desta vez . A maioria das pessoas que investiram tempo aprendendo o mql4 temeria reaprender a nova sintaxe.

O mql4 agora tem mais níveis do que o mql5 (imagine isso).

  • há a sintaxe mql4_non_oop.
  • há a sintaxe mql5_non_oop.
  • há a sintaxe mql5_object_oriented mql5_object_oriented.

A boa notícia é que não é preciso usar o que não se sabe. Eu acho, eu gosto da maneira como as metaquotas estão facilitando os mql4_programadores em mql5 e OOP.

Para os fãs de metaTrader, esta linguagem é provavelmente a linguagem do futuro; por isso, quanto mais cedo formos_over_it, melhor apenas minhas opiniões .

 
SDC: Acho que quando a nova versão for lançada causará muita confusão no fórum para novatos, pois a nova documentação mql4 é baseada na codificação mql5. Isso significa que muito do que está descrito neste fórum e na base de código será contradito pelos documentos mql4. Estabelecendo um buffer indicador a partir dos novos docs mql4: (Isto na verdade tem erros e não irá compilar)
Acredito que será muito parecido com o mql5.com. Alguns novatos não receberiam ajuda na codificação do fórum, dependendo do estilo que estão usando. Exemplo: se o estilo que eles estão usando é mql5_oop, então a maioria das respostas os apontaria para o mql5_docs. Entretanto, se eles postarem seus mql4_codes, então haverá muito mais pessoas capazes de ler os códigos reais.
 
ubzen:

Eu concordo com você desta vez . A maioria das pessoas que investiram tempo aprendendo mql4 temeria reaprender a nova sintaxe.

O mql4 agora tem mais níveis do que o mql5 (imagine isso).

  • há a sintaxe mql4_non_oop.
  • há a sintaxe mql5_non_oop.
  • há a sintaxe mql5_object_oriented mql5_object_oriented.

A boa notícia é que não é preciso usar o que não se sabe. Eu acho, eu gosto do motivo pelo qual as metaquotas estão facilitando o mql4_programadores em mql5 e OOP.

Para os fãs de metaTrader, esta linguagem é provavelmente a linguagem do futuro; por isso, quanto mais cedo nós_over_it melhor ..... apenas minhas opiniões .

Você está certo, mas eu preferiria dizer: você não precisa usar o que não precisa.
 
ubzen:

A boa notícia é que não é preciso usar o que não se sabe. Eu acho, eu gosto da maneira como as metaquotas estão facilitando o mql4_programadores em mql5 e OOP.

Para os fãs de metaTrader, esta linguagem é provavelmente a linguagem do futuro; por isso, quanto mais cedo nós_over_it melhor..... apenas minhas opiniões .

Concordo e é algo com o qual tenho adiado a tarefa de ... mas não por muito mais tempo, se alguém se deparar com alguma boa introdução aos princípios por trás do OOP, por favor, me faça o favor de me consultar.


Minha maior preocupação é a documentação, espero que não seja deixada para uma reflexão posterior em vez de lhe ser dado o tempo e a atenção de que precisa... espero que meus medos sejam infundados.

 
angevoyageur:
Sim. Por que ?

Porque eu quero lhe perguntar, você acha que o aprendizado do mql5 valeu o esforço? Você já realizou coisas em mql5 que você sente que não poderia ter feito no antigo mql4 ? Você também é um programador experiente?

Você está certo, será uma transição difícil, não sei se alguma vez terei tempo para aprender todas essas coisas novas.

Também me pergunto por que esse exemplo de codificação não compila, ENUM's são uma constante pré-definida ?

o primeiro erro é 'ENUM_APPLIED_PRICE' - declaração sem tipo TestCopyBuffer1.mq4 23 7...

 
RaptorUK:

Concordo e é algo com o qual tenho adiado a tarefa de ... mas não por muito mais tempo, se alguém se deparar com alguma boa introdução aos princípios por trás do OOP, por favor, me faça o favor de me consultar.


Minha maior preocupação é a documentação, espero que não seja deixada para uma reflexão posterior, em vez de lhe ser dado o tempo e a atenção de que precisa... espero que meus medos não tenham fundamento.

Acho que também concordo, mas não tenho certeza até que ponto oop vai ser realmente necessário. Outros concordam que oop é realmente mais sobre a estrutura de um programa do que sobre sua função ou capacidades? Ou teremos realmente que pensar em oop para tirar o máximo proveito das características do mql5 ?

 

Tenho uma dica para quem quer experimentar o novo beta, mas também quer manter 509 para fins de thrading. Outros disseram que se você atualizar um terminal para o beta, a atualização ao vivo atualizará qualquer outro que você tenha também. Isso não me aconteceu, percebi que a UAC está protegendo meu principal terminal comercial da interferência da atualização automática ao vivo.

Assim, você pode instalar um 509 em arquivos de programa e ligar o UAC. Esse será o seu principal terminal comercial.

Instale outro 509 em uma pasta separada, ele também pode estar em Arquivos de Programas, não importa. Usei ProgramFiles/MetaTraderBeta/ Conecte este terminal ao servidor de teste MT4 e deixe-o atualizar para o beta 530.

Agora, quando você fechar a versão beta e abrir o terminal comercial 509, a UAC informará que um programa precisa de sua permissão para continuar. Essa é a atualização ao vivo. Não dê permissão e o terminal então carregará normalmente e permanecerá na versão 509. Isso acontecerá cada vez que você reiniciar a versão 509.

 
SDC:

Porque eu quero lhe perguntar, você acha que o aprendizado do mql5 valeu o esforço? Você já realizou coisas em mql5 que você sente que não poderia ter feito no antigo mql4 ? Você também é um programador experiente?

Você está certo, será uma transição difícil, não sei se alguma vez terei tempo para aprender todas essas coisas novas.

Também me pergunto por que esse exemplo de codificação não compila, ENUM's são uma constante pré-definida ?

o primeiro erro é 'ENUM_APPLIED_PRICE' - declaração sem tipo TestCopyBuffer1.mq4 23 7...

Eu provavelmente não sou um bom exemplo, pois sou um programador profissional. Portanto, não é um grande esforço para mim, e gosto de aprender uma nova linguagem de programação. Eu também tenho alguma experiência com oop.

Acho que muitos programadores mql4 não são programadores profissionais e aprenderam mql4 para ter as possibilidades de automatizar o comércio com a esperança de ganhar algum dinheiro. Mesmo sem falar em oop, mql5 é mais difícil de aprender do que mql4. mql5 é mais estruturado, menos permissivo. Tomo apenas 1 exemplo, o uso do iCustom. Com mql4 você tem que usar 1 chamada para iCustom, com os parâmetros necessários, para obter o valor de um buffer para uma determinada vela. Com o mql5, você tem que trabalhar em 2 passos, primeiro use iCustom para obter uma alavanca para o indicador, e segundo use uma função CopyBuffer para obter dados (1 valor ou 10000 valores com 1 chamada). Assim, um codificador amador em mql4 pode entender mais facilmente quem usar iCustom para obter 1 valor, com mql5 você tem que entender o conceito de uma alça, e depois dominar a função CopyBuffer. Mais difícil. Mas mais eficiente se você precisar obter 3, 4, 10 ou até 1000 valores a partir de um buffer de indicador.

Também há muitas melhorias, por exemplo, quase todas as que precisam usar o windows dll (postMessage...) com mql4 podem ser feitas diretamente com mql5. Você não precisa usar oop, todas as funcionalidades estão disponíveis de forma processual.

Como conclusão, não se preocupe com a oop. Na minha opinião, o melhor a fazer é proceder passo a passo. O que você usou até agora ainda está disponível com pequenas mudanças. Quando você precisar de uma solução para um novo problema, veja se as novas possibilidades podem oferecer uma solução.


 
SDC:<br/ translate="no">

Tenho uma dica para quem quer experimentar o novo beta, mas também quer manter 509 para fins de thrading. Outros disseram que se você atualizar um terminal para o beta, a atualização ao vivo atualizará qualquer outro que você tenha também. Isso não me aconteceu, percebi que a UAC está protegendo meu principal terminal comercial da interferência da atualização automática ao vivo.

Assim, você pode instalar um 509 em arquivos de programa e ligar o UAC. Esse será o seu principal terminal comercial.

Instale outro 509 em uma pasta separada, ele também pode estar em Arquivos de Programas, não importa. Usei ProgramFiles/MetaTraderBeta/ Conecte este terminal ao servidor de teste MT4 e deixe-o atualizar para o beta 530.

Agora, quando você fechar a versão beta e abrir o terminal comercial 509, a UAC informará que um programa precisa de sua permissão para continuar. Essa é a atualização ao vivo. Não dê permissão e o terminal será então carregado normalmente e permanecerá na versão 509.

Seja paciente com o beta. Metaquotes removem seu tópico sobre o assunto porque a versão atual ainda não está pronta para um teste em massa.

Se você quiser testar, e evitar a atualização de outro terminal, você tem que remover a seguinte pasta :

  • Windows 7 : C: \ ProgramData MetaQuotes WebInstalar após uma atualização bem sucedida, o terminal de teste para os outros terminais não é atualizado.
  • Windows XP : C: Documentos e configurações Todos os usuários Metaquotes de dados da aplicação WebInstalar na Web