Erros, bugs, perguntas - página 2286

 
Ilyas:

Obrigado pela mensagem,

O que devo fazer com ele?

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

Erros, bugs, perguntas

A100, 2018.09.01 15:25

Erro de execução: Não encontro 'g' em 'Test2.ex5'.

//Test.mqh
class A {};
//Test1.mq5
#include "Test.mqh"
#import "Test2.ex5"
        void g( A* );
#import
void OnStart()
{
        A  a[1];
        ArrayPrint( a ); //(*)
        g(&a[0]);
}
//Test2.mq5
#property library
#include "Test.mqh"
void g( A* ) export {}

E se remover a linha com (*) no Test1.mq5, não há problema. Como é que o afecta? Construir 1881\32

Não é o habitual erro de tempo de compilação - o programa não inicia (e o ArrayPrint está lá apenas como exemplo - pode substituí-lo por outra função adequada)

Afinal de contas, este erro já foi descoberto há um ano. Foi fixado muitas vezes, mas continuou a reaparecer. Também não funciona aquihttps://www.mql5.com/ru/forum/1111/page2131#comment_6575893

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.08.30
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
fxsaber:

Que pasta do Terminal via mklink deve ser colocada no RAMdisk para que os dados sejam lidos/escritos a partir da memória e não a partir do SSD? Estou disposto a fornecer dados sobre a rapidez que isto irá dar durante a Optimização.

Pasta do Testador movida para 5GbRAMDisk e no directório MT5 executada

mklink /j Tester z:\Tester


SSD está agora a dormir pacificamente, a Optimização é ~1,5 vezes mais rápida (a olho nu), de graça!

 

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Insectos, insectos, perguntas

fxsaber, 2017.01.26 17:33

Uma vez que o modelo de optimizador é baseado em agentes, o que é que o impede de implementar uma única execução já passada por um optimizador que ainda não está completo?

Por exemplo, a optimização. Ainda restam algumas horas. Mas já vejo resultados interessantes. Quero ver alguns bons resultados individuais - para correr no backtester. Mas, ao mesmo tempo, não deixar de optimizar (especialmente relevante para as AG). Será possível nesta situação libertar um dos agentes locais e enviar-lhe uma única execução. E depois continuar a carregar este agente com pacotes de optimização.

Agora os estudos estão parados até que o optimizador termine. E isto por vezes demora muito tempo.

Relevante, apesar das excelentes caches. Favor abrir o formato dos ficheiros opt-files.

Como exemplo, porque é que preciso dele. Aqui classifiquei os resultados da Optimização da Rentabilidade (PF)

Veja-se o número de ofícios - não significam estatisticamente nada: menos de 30. Mas o seu PF está fora das tabelas e há centenas/milhares destes resultados. Então porque é que este lixo está na mesa?

Se o opt-format estivesse aberto, então este lixo poderia ser automaticamente morto, deixando apenas resultados interessantes mais ou menos estatisticamente significativos.

O que dizer sobre a classificação personalizada por múltiplos critérios ao mesmo tempo, etc.


ZZY É suposto ser possível não só ler mas também escrever você mesmo os ficheiros opt-files. E depois alimentá-lo ao testador, como já está implementado

Assim, utilizando todas as vantagens da GUI do testador para uma cache sem lixo. Para o fazer, basta abrir o opt-format.

 

Os resultados da optimização podem ser classificados de acordo com vários critérios

MT5 já tem um mecanismo para especificar fórmulas de texto para os chamados sintetizadores de fórmula.

Proponho a utilização do mesmo mecanismo de fórmulas de texto para estabelecer critérios de triagem arbitrários.

 
Slava:

"Tudo já foi roubado antes de si".

No início do dia, carraça completa. Depois licitar e/ou perguntar e/ou virar tudo, tudo o resto em incrementos, se disponível. A média é de 10 bytes por carrapato.

Uma vez que o acesso a carraças é estritamente sequencial, não há problema em organizar o acesso rápido a cada elemento da matriz

Sim, realmente. Óptimo!
É certo que só pesquisei as barras. E chegou à conclusão apressada de que era a mesma situação com tiques. Eu estava errado.
Mas então é estranho - porque é que as barras são armazenadas praticamente desembaladas?

É fácil de verificar: ver o tamanho do ficheiro de hcc para qualquer ano, e depois contar o número de barras para esse ano com a função Barras. É ~42,2 bytes por barra de 1 minuto. Isso é menos de 60, mas claramente redundante.

 
fxsaber:

Pasta do Testador movida para 5GbRAMDisk e no directório MT5 executada


O SSD está agora a dormir pacificamente, a optimização é ~1,5 vezes (a olho nu) mais rápida, livre!

Uau, que solução simples e inesperada.
Fantástico! e Bravo!

 

um insecto estranho na construção de 9 de Julho de 1881.

Não o compreendi logo.

Minimizei a janela do terminal, defini todos os parâmetros e introduzi um depósito de $100.

Abri a janela para o ecrã inteiro e carreguei no início. Uma hora depois de optimizar.... Após uma hora descobri que não havia $100 mas sim $10.000.


Quando estendo o terminal para o ecrã inteiro - o campo Depósito é reposto aos seus valores por defeito!




O mesmo bug aparece mesmo quando a Optimização já está em curso


 
Comentários não relevantes para este tópico foram movidos para "FAQ sobre o serviço de Sinais".
 
fxsaber:
Um grande pedido no testador é de fechar por Bid/Ask, se o último conhecido for zero.

No vídeo

Instrumento da bolsa de valores sobre carraças reais. As barras são construídas por Bid, sem dados de barbatanas, posição BUY aberta. Vê-se claramente que o preço actual de encerramento da posição

PositionGetDouble(POSITION_PRICE_CURRENT)

é sempre igual a zero, apesar do facto de a Proposta estar a mudar significativamente. Como podemos explicar ao testador que o símbolo de stock deve fechar a posição de COMPRA por Bid? Agora nem a equidade é calculada.

 
Cada vez que faço uma única corrida, ela começa com esta entrada
Core 1  MetaTester 5 forced to stop

Qual é a razão?


Cada corrida termina com ExpertRemove.