Ainda não considerei essa opção, mas terei em mente que ela também é possível. No entanto, se eu conseguir encontrar um bom conjunto de Expert Advisors prontos no mercado, como posso usá-los juntos? Basta executar todo o conjunto com os parâmetros MM selecionados?
Escolha com cuidado a API de negociação para negociação virtual. Escolha entre as disponíveis. É lógico dar preferência à API, na qual é o mais fácil possível programar o TS. Eu realmente não entendo a prática comum de todas as plataformas de negociação de inventar sua própria bicicleta - API de negociação. Para dotá-la de entidades OOP "prontas para uso", etc. Nesse sentido, o MQ seguiu um bom caminho - todas as APIs sem OOP.
O conceito em si é bom para a negociação real. Mas, para o sincronizador, você terá que manter o histórico da negociação virtual. Muitas coisas. Um caminho sério, para dizer o mínimo.
Aqui eu não entendo por que, para a negociação real, você teria que manter um histórico de negociação virtual. Talvez tenhamos uma interpretação um pouco diferente de "virtualidade". Eu simplesmente não me deparei com a necessidade de manter um histórico, pois sempre tenho posições virtuais sincronizadas com as reais, e não há possibilidade de desativar a sincronização por um tempo (ainda não?).
Escolha cuidadosamente uma API de negociação para negociação virtual. Escolha entre as disponíveis. É lógico dar preferência à API na qual seja o mais fácil possível programar o TS.
Vi que, de fato, desde o final de 2021, já uso minha API para negociação virtual do meu TS. É claro que me acostumei a implementar tudo o que preciso nela, usando apenas dois métodos comuns para posições e ordens pendentes - Open() e Close().
Mais uma vez, sinto muito por não ter encontrado sua biblioteca virtual a tempo.)
Aqui eu não entendi por que você teria que manter um histórico de negociação virtual para a negociação real. Talvez tenhamos uma interpretação um pouco diferente do conceito de "virtualidade". Eu simplesmente não me deparei com a necessidade de manter um histórico, pois sempre tenho posições virtuais sincronizadas com as reais, e não há possibilidade de desativar a sincronização por um tempo (ainda não?).
Exemplo.
Virtual e real sincronizados com uma posição e sua retirada.
O tique atingiu o takeout: na posição virtual, ele foi acionado; na posição real, o takeout foi reacionado (limitador).
É impossível fechar uma posição real com uma ordem a mercado porque não há posições no mercado virtual (por exemplo, rollover, grande deslizamento em uma ordem a mercado).
O preço não tocou o takei novamente, mas foi na direção oposta. Parece que é possível manter um take take no histórico de uma posição fechada em uma conta virtual. Mas o preço pode nunca chegar a ele. Então, por quais níveis devemos sincronizar?
E então aparece um terminal virtual que sempre negocia - ele tem um núcleo de sinal. E ele é necessário apenas para fechar posições penduradas no mercado real.
Em geral, esse é um tópico importante. Tenho três kernels virtuais para sincronização com o real:
O kernel que negocia com restrições de tempo - não sincroniza com o real.
O BestInterval é enviado para a primeira virtualização. - Ela é sincronizada com o real para abrir posições.
O kernel que negocia sem restrições de tempo (sempre em negociação) - sincronizado com o real para fechar posições.
Ou seja, o TS usa funções de negociação normais, como OrderSend(), e nós usamos nossa biblioteca para substituí-las para usar posições virtuais?
Sim, esse princípio não exige a reescrita de nada no TS, porque o TS não sabe onde negocia. Seu código não é alterado para que ele possa negociar em diferentes posições virtuais ou reais.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Ainda não considerei essa opção, mas terei em mente que ela também é possível. No entanto, se eu conseguir encontrar um bom conjunto de Expert Advisors prontos no mercado, como posso usá-los juntos? Basta executar todo o conjunto com os parâmetros MM selecionados?
Sim.
Yuriy Bykov #:
Estou acostumado com as funções de negociação do MT5.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Discussão do artigo "Developing a multicurrency Expert Advisor (Part 2): Passando para estratégias de negociação de posições virtuais"
fxsaber, 2024.02.07 01:03 pm
Escolha com cuidado a API de negociação para negociação virtual. Escolha entre as disponíveis. É lógico dar preferência à API, na qual é o mais fácil possível programar o TS. Eu realmente não entendo a prática comum de todas as plataformas de negociação de inventar sua própria bicicleta - API de negociação. Para dotá-la de entidades OOP "prontas para uso", etc. Nesse sentido, o MQ seguiu um bom caminho - todas as APIs sem OOP.
O conceito em si é bom para a negociação real. Mas, para o sincronizador, você terá que manter o histórico da negociação virtual. Muitas coisas. Um caminho sério, para dizer o mínimo.
Aqui eu não entendo por que, para a negociação real, você teria que manter um histórico de negociação virtual. Talvez tenhamos uma interpretação um pouco diferente de "virtualidade". Eu simplesmente não me deparei com a necessidade de manter um histórico, pois sempre tenho posições virtuais sincronizadas com as reais, e não há possibilidade de desativar a sincronização por um tempo (ainda não?).
Arquitetonicamente, a virtualização seria desacoplada do TC.
Ou seja, o TS usa funções de negociação comuns, como OrderSend(), e nós usamos nossa biblioteca para substituí-las para usar posições virtuais?
Escolha cuidadosamente uma API de negociação para negociação virtual. Escolha entre as disponíveis. É lógico dar preferência à API na qual seja o mais fácil possível programar o TS.
Vi que, de fato, desde o final de 2021, já uso minha API para negociação virtual do meu TS. É claro que me acostumei a implementar tudo o que preciso nela, usando apenas dois métodos comuns para posições e ordens pendentes - Open() e Close().
Mais uma vez, sinto muito por não ter encontrado sua biblioteca virtual a tempo.)
Onde posso obter o arquivo do EA para testar?
Há uma lista de arquivos anexados no final do artigo
Aqui eu não entendi por que você teria que manter um histórico de negociação virtual para a negociação real. Talvez tenhamos uma interpretação um pouco diferente do conceito de "virtualidade". Eu simplesmente não me deparei com a necessidade de manter um histórico, pois sempre tenho posições virtuais sincronizadas com as reais, e não há possibilidade de desativar a sincronização por um tempo (ainda não?).
Exemplo.
É impossível fechar uma posição real com uma ordem a mercado porque não há posições no mercado virtual (por exemplo, rollover, grande deslizamento em uma ordem a mercado).
O preço não tocou o takei novamente, mas foi na direção oposta. Parece que é possível manter um take take no histórico de uma posição fechada em uma conta virtual. Mas o preço pode nunca chegar a ele. Então, por quais níveis devemos sincronizar?
E então aparece um terminal virtual que sempre negocia - ele tem um núcleo de sinal. E ele é necessário apenas para fechar posições penduradas no mercado real.
Em geral, esse é um tópico importante. Tenho três kernels virtuais para sincronização com o real:
Ou seja, o TS usa funções de negociação normais, como OrderSend(), e nós usamos nossa biblioteca para substituí-las para usar posições virtuais?
Sim, esse princípio não exige a reescrita de nada no TS, porque o TS não sabe onde negocia. Seu código não é alterado para que ele possa negociar em diferentes posições virtuais ou reais.
As entradas são um bom exemplo. Cada parâmetro de entrada deve ser escrito cinco ou seis vezes.
Fiz a refatoração por entradas. Algumas partes do código resultante para o exemplo.