Entre os Códigos de Retorno do servidor comercial encontrei o código 10026 "Auto-trading prohibited by server". Pergunto-me como é que o servidor determina se a troca é manual ou automática? É evidente que o número mágico ou as transacções frequentes e o comércio nocturno podem trair, mas se tudo estiver sob controlo, então que outros parâmetros pode o servidor utilizar para identificar o Expert Advisor?
Entre os Códigos de Retorno do servidor comercial encontrei o código 10026 "Auto-trading prohibited by server". Pergunto-me como é que o servidor determina se a troca é manual ou automática? Claro, o número mágico ou as transacções frequentes e as transacções nocturnas podem trair isto, mas se o servidor controlar tudo, que outros parâmetros são utilizados para detectar o Expert Advisor?
Não, esta propriedade não está disponível para o servidor. O servidor envia simplesmente um comando ao terminal 'Forbid auto-trading', e o terminal executa-o, e dá o código especificado à EA ou ao script quando tenta executar uma operação comercial. O servidor não sabe o que a EA está a negociar, simplesmente proíbe a auto-comercialização.
Valmars: Não, esta propriedade não está disponível para o servidor. O servidor envia simplesmente um comando 'Forbid auto-trading' ao terminal, e o terminal executa-o, e emite o código especificado para a EA ou script quando tenta executar uma transacção. O servidor não sabe o que a EA está a negociar, apenas proíbe a auto-comercialização.
Obrigado, aprendi algo novo. Isto é, se o servidor, depois de proibir a troca, permitir, o cliente só terá conhecimento dela depois de reiniciar o terminal?
Yedelkin: Obrigado, esta é uma novidade. Isto é, se o servidor permitir a troca após ter sido banido, o cliente só terá conhecimento da mesma depois de reiniciar o terminal?
Em Luz, é proibido por defeito. Por conseguinte, não funciona.
Depois pede apoio para o permitir. E começa a funcionar. Sem sobrecarga.
No artigo Operações comerciais em MQL5 - é pouco menos de "Comprar/vender ao preço actual" qualquer pessoa pode saber lá durante a acção se(!trade.Buy(0.1)) {...} esta classe de comércio, antes de enviar uma ordem ao servidor, procura novas citações ou devo colocar Refreshrates antes desta acção?
No artigo Operações comerciais em MQL5 - é pouco menos de "Comprar/vender ao preço actual" qualquer pessoa pode saber lá durante a acção se(!trade.Buy(0.1)) {...} esta classe de comércio, antes de enviar uma ordem ao servidor, procura novas citações ou devo colocar Refreshrates antes desta acção?
Se estamos a falar do método Buy() da classe Ctrade, há lá Refreshrates(). Esta Refreshrates() é activada particularmente se não for especificado nenhum preço nos parâmetros de entrada do método Buy(). Dê uma vista de olhos na biblioteca.
<' - ficha inesperada klose.mq5 35 20
'i' - variável já definida klose.mq5 35 18
++' - ponto-e-vírgula esperado klose.mq5 35 25
J' - inesperado token klose.mq5 37 11
'=' - ficha inesperada klose.mq5 37 12
'=' - ficha inesperada klose.mq5 37 12
Pelo menos olhar para a documentação, exemplos, programas terminais para ver como o laço é escrito.
Pelo menos através de ;
https://www.mql5.com/ru/docs/basis/operators/for
Entre os Códigos de Retorno do servidor comercial encontrei o código 10026 "Auto-trading prohibited by server". Pergunto-me como é que o servidor determina se a troca é manual ou automática? Claro, o número mágico ou as transacções frequentes e as transacções nocturnas podem trair isto, mas se o servidor controlar tudo, que outros parâmetros são utilizados para detectar o Expert Advisor?
Ver ID MQL5_PROGRAM_TYPE
Não, esta propriedade não está disponível para o servidor. O servidor envia simplesmente um comando 'Forbid auto-trading' ao terminal, e o terminal executa-o, e emite o código especificado para a EA ou script quando tenta executar uma transacção. O servidor não sabe o que a EA está a negociar, apenas proíbe a auto-comercialização.
Obrigado, esta é uma novidade. Isto é, se o servidor permitir a troca após ter sido banido, o cliente só terá conhecimento da mesma depois de reiniciar o terminal?
Em Luz, é proibido por defeito. Por conseguinte, não funciona.
Depois pede apoio para o permitir. E começa a funcionar. Sem sobrecarga.
No artigo Operações comerciais em MQL5 - é pouco menos de "Comprar/vender ao preço actual" qualquer pessoa pode saber lá durante a acção se(!trade.Buy(0.1)) {...} esta classe de comércio, antes de enviar uma ordem ao servidor, procura novas citações ou devo colocar Refreshrates antes desta acção?
No artigo Operações comerciais em MQL5 - é pouco menos de "Comprar/vender ao preço actual" qualquer pessoa pode saber lá durante a acção se(!trade.Buy(0.1)) {...} esta classe de comércio, antes de enviar uma ordem ao servidor, procura novas citações ou devo colocar Refreshrates antes desta acção?