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
Ainda não fiz nada, estou tentando compilar esse código:
Este código é compilado. Virtual e BestInterval foram atualizados ontem. Talvez você tenha uma versão mais antiga.
Ele compila sem o Virtual ,
ele também compila sem o BestInterval,
mas não compila junto.
O que isso quer dizer?
Não há outro parâmetro de entrada em sua biblioteca.O que você quer dizer com isso?
Não há mais nenhum parâmetro de entrada de sua biblioteca.Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.
Bibliotecas: BestInterval
fxsaber, 2018.10.16 2:57 pm.
Virtual e BestInterval foram atualizados ontem. Talvez você tenha uma versão mais antiga.
Este código é compilado. Virtual e BestInterval foram atualizados ontem. Talvez você tenha uma versão mais antiga.
Obrigado!
Atualizei o Virtual, ele compila.
O Expert Advisor compila, os intervalos para pular são calculados e o arquivo aparece no Common.
Mas o parâmetro inBestInterval_Action está ausente no testador e não aparece com ou sem o VIRTUAL_TESTER.
Consequentemente, não posso executar o teste levando em conta os intervalos lançados.
Preciso de ajuda - o que estou fazendo de errado?
O Expert Advisor é compilado, os intervalos para pular são calculados e o arquivo aparece no Common.
Mas o parâmetro inBestInterval_Action está faltando no testador e não aparece com ou sem o VIRTUAL_TESTER.
Dessa forma, não há como executar o teste levando em conta os intervalos lançados.
Preciso de ajuda - o que estou fazendo de errado?
O VIRTUAL_TESTER é necessário apenas para acelerar a otimização ou a reversão. É por isso que ele não é indicado para trabalhar com o BestInterval
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.
Bibliotecas: BestInterval
fxsaber, 2018.10.15 13:30
1. Pegue qualquer Expert Advisor e escreva estas linhas em seu início
ZY É bom que você tenha descoberto o código. Se as bibliotecas estiverem no mesmo formato que no KB, não sei por quê. Talvez você tenha se esquecido de compilá-las quando removeu o VIRTUAL_TESTER.
fxsaber:
ZY É bom que o código tenha sido resolvido. Se as bibliotecas são as mesmas do KB, não sei por quê. Talvez você tenha se esquecido de compilá-las ao remover o VIRTUAL_TESTER.
Criei um arquivo TesterEA_mq4.mq5 com o seguinte conteúdo:
O arquivo TesterEA.mq4 é original, da KB. Compilado normalmente.
MT4Orders, Virtual, BestInterval são novos da KB.
Corrigi o EMA.mqh (um erro de divisão por zero estava aparecendo):
EMA( const int period ) : Alpha(1.0 / period), Value(0)
por
EMA( const int period ) : Alpha(2.0 / (period+1.0)), Value(0)
Tentei no BestInterval.mqh em vez de
make
A variável BestInterval Action aparece no testador, com BestInterval Action=false tudo é lindo no registro, mas com BestInterval Action=true o teste inteiro é executado e nada sobre intervalos é escrito no registro....
É uma pena... :)
Criei o seguinte arquivo TesterEA_mq4.mq5:
O arquivo TesterEA.mq4 é original, da KB. Compilei-o normalmente.
MT4Orders, Virtual, BestInterval são novos da KB.
Corrigido o EMA.mqh ( estava aparecendo um erro de divisão por zero):
EMA( const int period ) : Alpha(1.0 / período), Value(0)
por
EMA( const int period ) : Alpha(2.0 / (period+1.0)), Value(0)
O período zero é um valor incorreto. Portanto, a divisão por zero é normal e foi deixada de propósito para mostrar que esse valor não pode ser definido.
Tentei no BestInterval.mqh em vez de
make
A variável BestInterval Action aparece no testador, com BestInterval Action=false tudo é lindo no log, mas com BestInterval Action=true todo o teste é executado e nada sobre intervalos é escrito no log....
É uma pena... :)
Aqui está o código-fonte da Action
Com Action = true, o mesmo lucro deve aparecer no relatório do testador que foi calculado no registro com Action = false.
Para o Action, este é o código-fonte
Se Action = true, o mesmo lucro deve aparecer no relatório do testador que foi calculado no registro se Action = false.
Não, a flor de pedra não aparece... :)
Nesse formulário, quando Action = true, ele para de fechar ordens e consome imediatamente toda a margem com novas ordens (provavelmente algo com CloseBy)....
Com o Virtual.mqh desativado, tudo funciona, mas os intervalos do Action são ignorados.
E é um desafio entender seu código mais profundamente... Acho que vou deixar passar por enquanto. ;)
Não, não está saindo nenhuma flor de pedra... :)
Nesse formulário, quando Action = true, ele interrompe o fechamento de ordens e consome imediatamente toda a margem com novas ordens (provavelmente algo com CloseBy)....
Eu não ficaria surpreso se ele fosse executado em Netting. O CloseBy não funciona lá.
Com o Virtual.mqh desativado, tudo funciona, mas os intervalos de ação são ignorados.
E é um desafio entender seu código mais profundamente... Acho que vou deixar passar por enquanto. ;)
Faça isso na cobertura. Não me preocupei com a compensação, porque o MT4-advisor não deveria ser executado nesse modo, é claro.
O algoritmo de ignorar intervalos ruins é simples. O TS é lançado em um ambiente virtual. A posição de compensação de apenas as posições abertas que se encaixam nos intervalos calculados é calculada lá. Em seguida, ele sincroniza sua posição de compensação com a posição virtual no ambiente real. Isso é feito da maneira mais feia para análise, mas simples de implementar: CloseBy.
Na verdade, o modo reverso é implementado da mesma forma. Eu poderia reescrever a variante CloseBy para fazê-la funcionar também em contas de compensação. Eu não estava ocupado com isso.