Planos de desenvolvimento para o MetaTrader 5 Strategy Tester - página 19

 

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.
 
KoDim:

Olá.

Sugiro acrescentar um modo de teste adicional ao Testador de Estratégia.

1. nome "Com retirada periódica de lucro".

TesterWithdrawal

 
KoDim:

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()
Документация по MQL5: Общие функции / TesterWithdrawal
Документация по MQL5: Общие функции / TesterWithdrawal
  • www.mql5.com
Общие функции / TesterWithdrawal - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:
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
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования
  • www.mql5.com
Максимальная просадка баланса в процентах. В процессе торговли баланс может испытать множество просадок, для каждой фиксируется относительное значение просадки в процентах. Возвращается наибольшее значение Максимальная...
 
Rashid Umarov:
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!

 
dsfx:

Os desenvolvedores prometeram pensar sobre isso após o Ano Novo.

 
Existe alguma forma de atribuir uma comissão a personagens personalizados, algo que eu não consigo encontrar? O Markup não será exatamente o que eu preciso