O grande e terrível MT4 para sempre (ou como fazer uma transição estratégica) - página 25
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
no PM abandonou o servidor
Este servidor (ou melhor, o software do corretor) tem proteção contra spam. Eles planejam atualizá-lo até a próxima semana e então a desaceleração desaparecerá.
Vou ter que dar uma olhada neste servidor. Seria bom verificar a muleta sugerida aqui, para quem parece importante.
Eu odiaria voltar a este tópico depois de um tempo. Seria melhor apontar os bugs, se houver algum.
Ainda não há opção no estilo MT4?
Basta executar o script abrindo 100 posições em diferentes servidores?
Ainda não há opção no estilo MT4?
Ainda não começou. Muito provavelmente, o usuário não mudará nada no código. A funcionalidade adicional será ativada através de uma macro.
Basta executar o script abrindo 100 posições em diferentes servidores?
Sim, em servidores diferentes, mas apenas um roteiro diferente. Se não ocorrer duplicação durante um minuto de execução, o cheque foi aprovado com sucesso. Caso contrário - falha.
Ainda não começou. Muito provavelmente, o usuário não mudará nada no código. A funcionalidade extra será ativada através de uma macro.
Entendi.
Foi.
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
O grande e terrível MT4 para sempre (ou como construir uma estratégia de migração inteligente)
fxsaber, 2021.05.11 09:05
Sem esperar por uma posição - resultados imediatos.
E assim foi.
Agora não é diferente da variante MT4, incluindo a confiabilidade.
Quaisquer exemplos que são tão difíceis de escrever em MT5 se tornaram facilmente implementáveis, como deveriam ser.
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
O grande e terrível MT4 para sempre (ou como construir sua estratégia de migração)
Igor Makanu, 2021.05.10 10:28
parece funcionar:
mas muito lento, e a solução é mais ou menos assim.
O que acontecerá se após a ordem de abertura da 10ª posição for colocada, na próxima iteração do
PositionTotal não teve tempo para atualizar (=9), e a ordem já conseguiu entrar na história e OrderTotal()==0.
Nesse caso, existirá outro Trade.Buy()?
Teoricamente, isso pode acontecer várias vezes seguidas?
Ou eu perdi alguma coisa?
O que acontece, se após a ordem de abertura da 10ª posição for colocada, na próxima iteração do
PositionTotal não teve tempo para atualizar (=9), e a ordem já conseguiu ir para a história e OrderTotal()==0.
Nesse caso, existirá outro Trade.Buy()?
Teoricamente, isso pode acontecer várias vezes seguidas?
Ou está me faltando algo?
são seus interesses de alta freqüência, o resto tem tempo livre suficiente e não há problema com uma segunda tentativa
Tenho certeza de que é assim que é construído no MT4, espere e vejaO que acontece, se após a ordem de abertura da 10ª posição for colocada, na próxima iteração do
PositionTotal não teve tempo para atualizar (=9), e a ordem já conseguiu ir para a história e OrderTotal()==0.
Nesse caso, existirá outro Trade.Buy()?
É claro que será. O raciocínio no código é exatamente o mesmo.
Teoricamente, pode repetir várias iterações sucessivas?
Se a compra for verdadeira, então há quase zero probabilidade de que a próxima iteração tenha OrdensTotal() == 0. Isto é, a abertura de 12 posições é impossível na prática.
Este é um caso muito primitivo. Uma dupla iteração muitas vezes se parece com isto:
No segundo passo, o Expert Advisor vê que não há nada e estabelece um limite. Como resultado, temos duas posições em aberto.
O segundo ponto é a ultrapassagem do MT5. E agora a muleta a ultrapassa.
Obrigado.
Sobre isso:
fxsaber:
A duplicação não é uma dificuldade do MT5, mas um bug arquitetônico, quando as funções Total()-funções mostram falsos positivos.Você pode dizer que é um bug, ou você pode apresentá-lo de outra forma :-)
PosiçõesTotal() não é o número de posições abertas, mas o tamanho da tabela de posições abertas. A tabela de posições - é na verdade um cache, como o cache do histórico de negócios, só que não é atualizada a pedido, mas automaticamente, mas não instantaneamente, e com um ligeiro atraso. Por causa disso, pode não conter posições já abertas, ou conter posições já fechadas.
A mesma coisa com OrderTotal().
Se explicarmos a ajuda desta forma, haverá menos perguntas, reclamações e mal-entendidos.
E no artigo "Ordens, Posições e Oportunidades no MetaTrader 5", você pode prestar atenção a isto (agora é ambíguo - "O resultado da função PositionsTotal() não depende se o cache de posições está cheio - ele sempre retorna o número real de posições em aberto no terminal base para todos os símbolos").
P.S. Mas então surge uma pergunta legítima - por que não fazer um sistema funcionar/bandeira para determinar o status de sincronização das tabelas de ordens ao vivo, posições, negociações e ordens executadas, de modo a não criar muletas?P.S. Mas então surge uma pergunta legítima - por que não fazer um sistema fi/flag para determinar o status de sincronização das tabelas de ordens ao vivo, posições, negociações e ordens executadas, de modo a não criar muletas?
Muito provavelmente, não existe tal bandeira no interior.