![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Olá.
Sugiro acrescentar um modo de teste adicional ao Testador de Estratégia.
1. nome: "Com retirada periódica de lucro".
2. implementação:
2.1 Escolha um período, após o qual o lucro será retirado
2.1.1. Semana, mês, trimestre, opcional
2.2 Selecione o percentual de lucro obtido durante o período a ser mostrado no gráfico.
2.3 Para distinguir um lucro de uma cor diferente em um gráfico, do que a curva de perdas.
2.4 No relatório Backtest adicione a coluna que mostra o lucro na moeda da conta;
3. Resumo
Penso que esta modalidade dará uma estimativa aplicada da estratégia, mostrando não apenas que a EA é lucrativa (matematicamente), mas também se a EA é capaz deretirar lucro e qual é o tamanho deste lucro e como este volume de retirada afetará a estabilidade da EA. Na verdade, é por isso que são criados conselheiros, para entender quanto você pode ganhar, não que curva de lucro será mostrada em algum intervalo de tempo.Olá.
Sugiro acrescentar um modo de teste adicional ao Testador de Estratégia.
1. nome "Com retirada periódica de lucro".
TesterWithdrawal
Olá.
Sugiro acrescentar um modo de teste adicional ao Testador de Estratégia.
1. nome: "Com retirada periódica de lucro".
2. implementação:
2.1 Escolha um período, após o qual o lucro será retirado
2.1.1. Semana, mês, trimestre, opcional
2.2 Selecione o percentual de lucro obtido durante o período a ser mostrado no gráfico.
2.3 Para distinguir um lucro de uma cor diferente em um gráfico, do que a curva de perdas.
2.4 No relatório Backtest adicione a coluna que mostra o lucro na moeda da conta;
3. Resumo
Penso que esta modalidade dará uma estimativa aplicada da estratégia, mostrando não apenas que a EA é lucrativa (matematicamente), mas também se a EA é capaz de retirar lucro e qual é o tamanho deste lucro e como este volume de retirada influenciará a estabilidade da EA. Na verdade, é por isso que são criados conselheiros, para entender quanto você pode ganhar, não que curva de lucro será mostrada em algum intervalo de tempo.TesterWithdrawal(), TesterDeposit( )
Artem, obrigado por sua resposta. Eu não estava ciente de tal função.
Mas eu estou longe de ser um programador, embora eu mesmo esteja constantemente modificando minha EA.
Eu fiz esta sugestão do ponto de vista de um usuário MT5 que compra Expert Advisors e determina a eficiência de uma compra potencial.
E do ponto de vista dos desenvolvedores de terminais e mercados, sugeri que a visualização da eficiência prática do assessor para clientes potenciais (não programadores) melhorará a classificação do projeto...
Olá a todos!
Há planos para acrescentar funções como TesterGet...?
Por exemplo, TesterGetDouble(TESTER_MAX_DRAWDOWN) seria útil
Você pode obter tudo isso sem essas consultas, mas seria conveniente obter esses valores diretamente.
https://www.mql5.com/ru/docs/constants/environment_state/statistics
OBRIGADO!
Cavalheiros desenvolvedores! Diante de um problema no testador, ajude-me a encontrar uma solução!
Tenho um processador de 16 núcleos (32 roscas), 64GB de memória até agora. Eu estava planejando usá-lo para otimização em carrapatos reais. Mas aqui está o que eu descobri:
1. Cada agente MT5 aloca um pedaço de memória separado para si mesmo, mesmo que o teste seja executado em um par, não em pares diferentes. E, por exemplo, se testarmos em cruzes, isso carrega mais majores. Como resultado, ao testar carrapatos reais durante o período de 2 anos, cada agente leva 7GB de memória. Sim, vale dizer que experimentei em um corretor popular, que tem 70% de carrapatos repetidos (com o mesmo Ask and Bid), então usarei um histórico filtrado personalizado. Assim, para carregar 64GB de memória, você só pode testar em 8 agentes. Saída - histórico personalizado com carrapatos repetidos filtrados, controle constante do tamanho da memória e, portanto, período de teste, mais 64GB de memória e teste em 16 agentes. É assim que funciona!? Então isto sou eu testando por dois anos.... e se levarmos um período mais longo...?!
2. Eu coloquei um SSD temporário de outro computador EVO 860. Ao executar a otimização mesmo de 8 passes, os agentes tentam acessar o SSD ao mesmo tempo para bombear para si mesmos na história do tick RAM. Nenhuma fila é fornecida, o que faz com que o SSD fique "vermelho" e os logs do MT5 fiquem cheios de erros:
Usei 16GB de memória com 8 fios e a unidade trocada instantaneamente, não ocorreram tais erros, mas foi impossível testar desta forma por muito tempo. Agora o testador não pode executar seus passes porque não pode baixar ticks, embora escreva que não tem memória suficiente! Realmente, se eu estimasse que meu SSD estava empurrando naquele momento até 600MB/s, mesmo 64GB de RAM levaria mais de 100 segundos para ser preenchido. Consequentemente, o SSD antigo não é nada adequado, estou esperando por um mais rápido (até 3500MB/s), mas mesmo com ele, se eu adicionar mais 64GB, toda a memória irá preencher mais de 30 segundos. Isto é, os erros permanecerão.
Portanto, Cavalheiros desenvolvedores. Precisamos de sua atenção para este problema, caso contrário o uso de processadores multi-core é extremamente inconveniente, e até inútil! Talvez eu esteja fazendo algo errado ou há algumas opções que eu não conheço? Eu ficaria grato!
Se possível, seria maravilhoso usar a memória RAM de forma mais econômica. Mesmo que apenas ao otimizar em um par de moedas! Afinal, se o teste for executado em um par, certamente todos os agentes podem se referir a um único e mesmo espaço de memória. Por que cada um deles produziria cópias? Então não haverá problema na falta de memória, na velocidade de leitura a partir do disco rígido e o design será mais barato!
Se não for possível, é possível organizar algum tipo de fila para acesso de agentes ao disco rígido e (ou) aumentar o tempo de espera de cópia, ou, se um par for testado, fazer uma cópia de blocos idênticos de RAM para RAM. Mas a otimização do uso da memória seria, naturalmente, muito mais eficiente! Diga-me, há alguma melhoria similar planejada para a RAM? Ou isso não pode ser feito e é necessário apenas aumentar seu volume?
Obrigado!
Os desenvolvedores prometeram pensar sobre isso após o Ano Novo.