Desenvolveu uma biblioteca de funções API para o MetaTrader 4 - página 4

 
De acordo com as configurações do servidor de cotação MT4 - nenhuma operação mais de uma vez a cada 10 segundos pode ser realizada. O servidor limita a freqüência de diferentes solicitações para evitar possíveis ataques de hackers DOS. Esta informação foi levantada uma vez neste fórum.
Isso não é verdade.
A freqüência das transações é limitada apenas pela velocidade de reação do corretor =)
Não há limite na MT.

Os desenvolvedores já o disseram no fórum, e mais de uma vez. Mas eles sempre nos avisaram honestamente - você terá que lidar com seu corretor por conta própria ;)


Portanto, seria mais justo dizer que a pausa não é obrigatória (no sentido técnico), mas pelo menos desejável (no sentido do perigo de bloqueio da conta).
 
Estou interessado em um exemplo simples, envio três pedidos para fazer três encomendas, mesmo que o intervalo seja de 20 segundos. Neste momento, o mercado está lento e o intervalo entre os carrapatos é de até dois minutos. Os dois primeiros serão perdidos ou os três serão executados durante o primeiro tick?
 
Estou interessado em um exemplo simples, envio três pedidos para fazer três encomendas, mesmo que o intervalo seja de 20 segundos. Neste momento, o mercado está lento e o intervalo entre os carrapatos é de até dois minutos. Os dois primeiros serão perdidos ou os três serão executados durante o primeiro tick?

Nada será perdido. Você não precisa implementar nenhum atraso no programa. Você começa na função NewPos(...) para a primeira encomenda. Todos os atrasos já estão implementados nele. Se a função retornar 0, tudo está bem - o pedido foi executado. Prosseguimos para a segunda ordem, e assim por diante.
Se a execução for bem sucedida, a função fará um atraso de 10 segundos por si só, de modo que não teremos problemas com solicitações freqüentes ao servidor. O tempo crítico de espera da resposta do terminal MT4 também é implementado nesta função. Se não houver resposta do terminal durante este tempo, a função retorna o código de uma situação de erro. Isto tem sido feito para o diagnóstico de situações relacionadas a citações ausentes, desativação de contas, falhas na Internet, etc.
Desta forma, quando você retorna da função o evento já aconteceu. Boa sorte!
 
Os comandos de processamento de ordens serão executados somente quando as cotações do par, para o qual o Expert Advisor está instalado, chegarem. Em outras palavras, o botão "COMPRAR" em seu programa não significa que a ordem é enviada ao servidor, é apenas "esperar no disco" pela cotação do par onde o Expert Advisor está instalado. A EA procurará o comando do arquivo e, se o encontrar, enviará uma ordem ao servidor e, a propósito, procurá-lo-á a cada tick. O resultado de fazer um pedido ou cancelar o pedido só pode ser recebido, respectivamente, com a chegada da próxima cotação. Isto não nos permite organizar uma lógica clara para alguns TS. Espero que vocês o entendam.


A lógica do TS não tem nada a ver com isso. A questão é apenas sobre atrasos na execução da ordem. Mas, como escrevi antes, este problema é rebuscado: a variabilidade das cotações é determinada por carrapatos recebidos com novos preços. Durante o comércio ativo, são recebidos até 200 ticks por minuto. Portanto, neste caso, não pode haver qualquer atraso. Se você abre uma posição no período de negociação lenta, as mudanças de preço são quase inexistentes, portanto a expectativa também não tem um grande impacto no nível da cotação.
Além disso, não podemos falar aqui sobre o botão "COMPRAR", porque estamos discutindo sistemas comerciais mecânicos, que tomam suas próprias decisões sem nenhum botão. Boa sorte!
 
De acordo com as configurações do servidor de cotação MT4 - você não pode fazer transações mais de uma vez a cada 10 segundos.

Este era o caso no MetaTrader 3, mas o MT4 não tem mais esta restrição.
Mas, mesmo assim, você tem que ser moderado e não fazer muitas operações seguidas.
 
Na verdade era assim no MetaTrader 3, mas o MT4 não tem mais esta restrição. <br/ translate="no"> Mas mesmo assim, é preciso ter cuidado para não fazer muitas operações seguidas.

Sim, você está certo, é claro. Seria melhor prever imediatamente um atraso que foi feito na biblioteca desenvolvida. Caso contrário, se as solicitações forem muito freqüentes, o servidor pode bloquear o endereço do usuário com as conseqüências correspondentes para a negociação. Boa sorte!
 
ATENÇÃO!
A nova versão da biblioteca MFOREX 2.05 para uso das funções API do MetaTrader 4 foi lançada.
Seus benefícios são:
1. Durante o trabalho da biblioteca não são formados arquivos temporários, o transporte de dados é feito através de áreas de memória compartilhada. Tal solução acelera significativamente o acesso à informação e aumenta a confiabilidade da biblioteca;
2. Além disso, são implementadas as funções especiais de diagnóstico do terminal, devolvendo o tempo do último tick e o código exclusivo do computador para o processo de registro;
3. A função de diagnóstico de situações errôneas e de emergência retorna o código da situação e salva a descrição no registro especial em russo.
4. O preço da biblioteca foi consideravelmente reduzido. Os usuários registrados da versão antiga receberão atualizações gratuitas.
Leia todos os detalhes em nosso site http://www.min2006.ru
 


Infelizmente, a EA proposta:
- não entrega o histórico de cotações;
- não rastreia erros e emergências;
- não dá histórico comercial e lista de posições em aberto;
- não permite obter as últimas citações (sob a forma de carrapatos).

Na biblioteca que proponho, todas as funções em falta são implementadas. Além disso, a troca de informações é realizada através de áreas de memória compartilhada sem gerar arquivos temporários. Leia todos os detalhes em http://www.min2006.ru
Boa sorte!
 
A propósito, agora o que Min oferece é mais parecido com o que você pode comprar do que antes.
Puro imho :)