O grande e terrível MT4 para sempre (ou como fazer uma transição estratégica) - página 22

 
Igor Makanu:

é tudo sobre as contas de cabeçalho.

sobre as muletas esperadas - tenho 2021, espero o software mais fácil de usar, como exemplo - o mesmo Python, que permite ao usuário escrever seu código da forma mais concisa possível e obter um resultado final, por isso "decolou" rapidamente - as pessoas não querem escrever um código longo para sua própria auto-satisfação, mas querem resolver seus "desejos" no menor tempo possível

ZS: lembra-se dos dedos dos pés e das orelhas? ... - Imagine que você recebeu o Win 111, tudo é ótimo, mas agora o layout do teclado precisa ser trocado pressionando o botão de energia do teclado, eu entendo que os fanáticos ficam torcidos e vão colocar os dedos dos pés no botão desejado no teclado

Ehhh. Houve momentos em que as pessoas costumavam se gabar do MT4, dizendo que ele não tinha controle suficiente, e que os desenvolvedores precisavam de mais controle e lhes davam acesso a partir do MQL. Uma vez que o deram a eles, as coisas ficaram muito ruins para eles. Embora todas as verificações e expectativas estivessem antes escondidas dos olhos dos usuários. Afinal de contas, o bilhete de posição aberta retorna na MT4. Isto sugere que toda a sincronização com o ambiente comercial é simplesmente escondida dos olhos e das canetas maliciosas dos usuários:

Отсылка ордера --> [чёрный ящик] --> Тикет открытой позиции (ордера как принято в MQL4) (или -1)

Então as pessoas pediram acesso à caixa preta - eles a obtiveram.
Agora você mesmo tem que fazer a sincronização. Perguntado? Perguntado. Será que eles? Eles o fizeram. É bom? Eles disseram que seria bom. Depois que foi dado - tornou-se ruim.

Vamos desembrulhar tudo o que foi escondido nas funções padrão da MQL4 e ver, é tudo tão simples, e tudo isso foi implementado por duas linhas mágicas de código? Eu não acho...

Portanto, a comparação é bastante incorreta. Se você expandir o código MQL de tudo o que está dentro das funções comerciais padrão no MT4, e comparar os volumes de código, tendo primeiro portado o que você vê na caixa preta para o MT5. Então a comparação será correta.

Isso é o que acontece com as muletas e coisas para o MT5, e "ei, que MT4 amigável e excitável" - compare corretamente o volume e a lógica do código. Apenas um lugar é uma caixa preta, o outro é sua própria implementação (como solicitado, lembre-se?).

Sobre a complexidade - concordo. Sim, tornou-se mais complicado e mais código para se escrever. Mas como você leu acima - você perguntou e riu que "a MQL4 é para donas de casa, mas nós crescemos fora delas e queremos ser sérios"...

Bem, agora está ficando sério.

 
Igor Makanu:

é tudo sobre as contas de cabeçalho.

sobre as muletas esperadas - tenho 2021, espero o software mais fácil de usar, como exemplo - o mesmo Python, que permite ao usuário escrever seu código da forma mais concisa possível e obter um resultado final, por isso "decolou" rapidamente - as pessoas não querem escrever código de cotão para sua própria auto-satisfação, mas querem resolver seus "desejos" no menor tempo possível

ZS: lembra-se dos dedos dos pés e das orelhas? ... - Imagine que você recebeu um Win 111, então tudo é ótimo, mas o layout do teclado agora precisa mudar pressionando o sistema de botões de energia, eu entendo que são especialmente fanáticos e vão apertar os pés para pressionar o botão sagrado no sistema

Dada a ênfase, acho que isto se dirige a mim.

Eu também estou falando sobre as contas de hedge. Não sou de modo algum contra a aceleração, mas se a velocidade da Internet não corresponde à velocidade da CPU, sobre que aceleração podemos falar? Você percebe que a abertura de uma posição ocorre no servidor, e não é certo que a abertura deva ser livre de erros. E a velocidade de resposta à OrderSend() depende diretamente da velocidade da Internet... Assim, tudo é estabelecido dentro do MT4, até recebermos uma resposta do servidor, a continuação não acontecerá. E somente depois de receber um bilhete ou número de erro é que tudo será conhecido. E esta ordem é estabelecida para todos. Conseqüentemente, a velocidade de execução não está em um nível elevado.

Agora o MT5 tem uma tática diferente ... O programador tem que verificar se foi executado ou não ... se é necessário, verificar ou não para obter um aumento de velocidade. Mas você, por alguma razão, não quer entender isto e se ressente de ter que verificar e, em vez de verificar, está tentando encontrar tempo de espera.

O que isso tem a ver com reptilianismo? Escrever software amigável na MQL5, enquanto Python não foi criado para ser escrito nele e jogar fora a MQL5... É isso que eu acho.

 

Participei pessoalmente cento e cinqüenta vezes, não há nada que me convença, conheço os prós de cada plataforma há muito tempo.

Eu gostaria de usá-lo como uma oportunidade para melhorar meu jogo:

posições em aberto em uma conta vazia no final da execução do roteiro. É permitido fechar algumas posições de qualquer terminal durante o tempo de execução do roteiro. Esta "intervenção" é necessária apenas para evitar decisões estúpidas.

Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste

O grande e terrível MT4 para sempre (ou como construir uma estratégia de migração inteligente)

fxsaber, 2021.05.08 18:54

Preciso escrever um roteiro no MT5 que abra 100 posições em uma conta vazia.


Na MT4, a situação foi resolvida desta forma.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}


Quem tem uma solução no MT5?



 
Igor Makanu:

Participei pessoalmente cento e cinqüenta vezes, não há nada que me convença, conheço os prós de cada plataforma há muito tempo.

Estou interessado na implementação do assunto:

Você sabe para que serve esta sugestão:

Preciso escrever um roteiro em um MT5 que abra 100 posições em uma conta vazia.

Na MT4, a situação foi resolvida desta forma.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}

Quem tem a solução no MT5?

Se eu quisesse mostrar como a MQL5 é nojenta (porque preciso escrever lá o que já está escrito em MQL4 dentro da OrderSend())

Assim, as novas pessoas ignorantes que não entendem a essência da simplicidade da MQL4 dirão quão ruim é a MQL5 - ao invés de duas linhas de código [1. Quero uma posição aberta 100 vezes. 2. Bom - espera], eles terão que escrever seus próprios cheques após cada "eu quero" e antes do "bom espera", escondido do usuário no primeiro caso, e expandido para o código MQL no segundo. Isto é manipulação do tipo mais puro.

O mais provável é que, devido à captura na pergunta, ninguém tomará uma decisão pública neste tópico - muitas pessoas entendem o objetivo desta conversa de lixo - para mostrar a MQL4 feliz-perfeita e a MQL5 complicada. Terei o maior prazer em me enganar. Mas a formulação da pergunta diz muito.

 
Artyom Trishkin:

Vamos desembrulhar tudo o que está escondido nas funções MQL4 padrão e ver se é assim tão simples, e se tudo é feito com duas linhas mágicas de código. Eu não acho...

Você não pode ter uma situação como na MT5 arquitetonicamente. Não por fora, mas por dentro. Como não existe a noção MT5 de ordem/comércio/posição no interior (não o que você vê externamente). Isto é, as entranhas do MT4 são muito mais simples do que as entranhas do MT5.

As entradas duplas não são uma preocupação do MT5, mas um bug arquitetônico onde as funções Total()-funções mostram falsos positivos. E quando um pedido abre uma posição (totalmente preenchido) é colocado junto com sua posição. Em resumo, apenas as muletas resolvem tudo. E parece que todas as muletas estão agora disponíveis na íntegra.

 

Artyom Trishkin:

... Isto é manipulação pura e simples.

Eu não entendo as razões ...

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Como usar o MT4 para o bem (ou como criar uma estratégia de migração)

Alexey Viktorov, 2021.05.09 09 09:15

Ou seja, você coloca tais condições para a MQL5 que alguém pode fazer asneira, mas para a MQL4 você não? E se eu me conectar à minha conta de outra empresa e colocar um par de pedidos pendentes, o que a MQL4 abrirá?

Você quer fazer asneira sem nenhum cheque? Você está defendendo a permissividade na programação, ou está apenas tentando difamar a MQL5 pelos interesses egoístas de alguém ?

Escreva o mesmo em mql4 com cheques e infalíveis.


 
Artyom Trishkin:

Você sabe para que serve esta frase:....

Para mostrar a todos os ignorantes o quanto a MQL5 é nojenta

Isto é especulação, o problema deve ser resolvido, se estamos tentando pensar como pessoas tecnicamente alfabetizadas.

Tentei resolver este problema 5 vezes até descobrir como fazê-lo de forma otimizada.

 

fxsaber:

...E parece que todas as muletas estão agora totalmente disponíveis.

Só não quebre sua cabeça com essas muletas.

 
Artyom Trishkin:

Para mostrar a todos os ignorantes como a MQL5 é nojenta (porque você tem que escrever lá o que já está escrito dentro da OrderSend() na MQL4)

Não se trata de brevidade. Use sua biblioteca comercial pública para escrever uma solução para o problema. Eu estava pedindo uma solução, não a avaliando.

O fato é que o problema elementar ainda não foi resolvido no MT5. E eu não me importo com o comprimento do código.


Como há pessoas aqui com suas próprias bibliotecas comerciais, elas não podem usar suas próprias soluções prontas para escrever uma formulação tão simples do roteiro?

 
Igor Makanu:

Abordei este problema cinco vezes até descobrir como resolvê-lo da melhor maneira

Eu mesmo ainda não experimentei o estilo MT4. Teoricamente, deveria funcionar. Eu ainda não tive a oportunidade de olhar para ela.