Todo o processo de teste ou otimização é registrado em detalhe no diário. Examinemos o que acontece no testador de estratégias após pressionar o botão "Iniciar".
O teste/otimização não começam imediatamente, primeiro o testador produz o ambiente de treinamento. Verifica a presencia de histórico para o símbolo no qual se está testando e sincroniza todo o histórico do servidor de negociação. Se, na plataforma, não houver um histórico para o instrumento de teste, a sincronização com o servidor de negociação poderá levar alguns minutos.
Tester EURCAD: preliminary downloading of M1 history started |
começou o carregamento preliminar do histórico M1 segundo o símbolo EURCAD |
Tester EURCAD: 20% history downloaded |
carregamento concluído em 20% |
Tester EURCAD: 95% history downloaded |
carregamento concluído em 95% |
Tester EURCAD: preliminary downloading of M1 history completed in 0:14.640 |
carregamento concluído, tempo gasto no processo - 0:14.640 |
Tester EURCAD: history data begins from 2014.12.29 00:00 |
existem dados de minutos a partir de 2014.12.29 00:00 |
Se o teste for feito com base em ticks reais, a plataforma sincronizará os ticks existentes dentro das datas de teste. Baixar carrapatos pode levar um tempo considerável.
Tester EURCAD: preliminary downloading of history ticks started, it may take quite a long time |
começou o carregamento prévio de ticks segundo o símbolo EURCAD, e pode demorar muito tempo |
Tester EURCAD: "bases\MetaQuotes-Demo\ticks\EURCAD\201609.tkc" download |
ticks de setembro de 2016 carregados segundo o caminho especificado |
Tester EURCAD: "bases\MetaQuotes-Demo\ticks\EURCAD\201608.tkc" download (823.38 Kb/sec) |
ticks de outubro de 2016 carregados segundo o caminho especificado |
Tester EURCAD: 21% ticks downloaded (796.02 Kb/sec) |
carregamento concluído em 21%, velocidade de carregamento - 796.02 Kb/sec |
Tester EURCAD: "bases\MetaQuotes-Demo\ticks\EURCAD\201604.tkc" download (764.22 Kb/sec) |
ticks de abril de 2016 carregados segundo o caminho especificado |
Tester EURCAD: preliminary downloading of history ticks completed, 116.78 Mb in 2:32.063 (786.40 Kb/sec) |
carregamento concluído, tamanho do ticks carregados - 116.78 Mb, tempo gasto no processo - 2:32.063 |
Tester EURCAD: ticks data begins from 2016.04.01 00:00 |
existem dados de ticks segundo o símbolo EURCAD a partir de 2016.04.01 00:00 |
A seguir, é verificada a presencia de taxas cruzadas. Por exemplo, se o teste for feito em EURCAD e a moeda dede depósito for USD, para calcular o lucro e margem de requisitos ao executar operações de negociação, serão necessários os instrumentos EURUSD e USDCAD. Portanto, é executada uma sincronização completa do histórico e destes instrumentos. Opcionalmente, os dados de ticks também são sincronizados. O processo de provisionamento de dados de preços é registrado no diário (log) do testador:
Tester EURUSD: preliminary downloading of history ticks started, it may take quite a long time |
começou o carregamento prévio de ticks segundo o símbolo EURUSD, e pode demorar muito tempo |
Tester EURUSD: preliminary downloading of history ticks completed, 1021.82 Kb in 0:03.218 (317.53 Kb/sec) |
carregamento concluído, tamanho do ticks carregados - 1021.82 Mb, tempo gasto no processo - 0:03.218 |
Tester EURUSD: ticks data begins from 2011.12.19 00:00 |
existem dados de ticks segundo o símbolo EURUSD a partir de 2011.12.19 00:00 |
Tester USDCAD: preliminary downloading of M1 history started |
começou o carregamento preliminar do histórico M1 segundo o símbolo USDCAD |
Tester USDCAD: preliminary downloading of M1 history completed in 0:00.203 |
carregamento concluído, tempo gasto no processo - 0:00.203 |
Tester USDCAD: preliminary downloading of history ticks started, it may take quite a long time |
começou o carregamento prévio de ticks segundo o símbolo USDCAD, e pode demorar muito tempo |
Tester USDCAD: "bases\MetaQuotes-Demo\ticks\USDCAD\201609.tkc" download |
ticks de setembro de 2016 carregados segundo o caminho especificado |
Tester USDCAD: "bases\MetaQuotes-Demo\ticks\USDCAD\201608.tkc" download (683.69 Kb/sec) |
ticks de agosto de 2016 carregados segundo o caminho especificado, velocidade de carregamento - 683.69 Kb/sec |
Tester USDCAD: preliminary downloading of history ticks completed, 103.25 Mb in 2:30.109 (704.36 Kb/sec) |
carregamento concluído, tamanho do ticks carregados - 103.25 Mb, tempo gasto no processo - 2:30.109 |
Tester USDCAD: ticks data begins from 2015.01.01 00:00 |
existem dados de ticks segundo o símbolo USDCAD a partir de 2015.01.01 00:00 |
Somente após a sincronização de todo o histórico necessário (e ticks, se você está testando/otimizando sua estratégia em ticks reais), é iniciado o processo de teste/otimização.
Ao fazer um teste único é estabelecida uma conexão como o agente de teste selecionado. Pode ser um agente local ou de rede.
Core 1 agent process started |
o processo do agente é executado no primeiro núcleo do processador |
Core 1 connecting to 127.0.0.1:3000 |
conexão a 127.0.0.1:3000 |
Core 1 connected |
conexão concluída |
Core 1 authorized (agent build 1395) |
autorização bem-sucedida, compilação do agente - 1395 |
O nome da pasta de dados do agente local coincide com seu endereço e a porta.
Após a conexão ao agente, é sincronizado o ambiente em conformidade com as configurações de teste.
Tester EURCAD,H1 (MetaQuotes-Demo): testing of Experts\Moving Average.ex5 from 2016.04.01 00:00 to 2016.06.01 00:00 |
É executado o teste do EA Moving Average no símbolo EURCAD e período H1, servidor MetaQuotes-Demo, período de teste de 2016.04.01 00:00 a 2016.06.01 00:00 |
Core 1 common synchronization completed |
sincronização global concluída |
A partir daí, o agente começa a realizar seu próprio diário log, a partir do qual são enviados dados para o diário do testador. O diário do agente local pode ser aberto a partir do menu de contexto do diário de teste. Nesse diário são exibidos detalhes da sincronização de ambiente entre o terminal e o agente.
Inicialização e sincronização do ambiente:
Startup MetaTester 5 x64 build 1395 (19 Aug 2016) |
execução do agente de teste, compilação 1395 de 19 agosto de 2016 |
Server MetaTester 5 started on 127.0.0.1:3000 |
agente de teste executada em 127.0.0.1:3000 |
Startup initialization finished |
inicialização concluída |
127.0.0.1 login (build 1395) |
a plataforma se conectou ao agente |
Network 38520 bytes of account info loaded |
o agente baixou 38520 bytes de informações sobre os parâmetros da conta de negociação |
Network 1482 bytes of tester parameters loaded |
o agente baixou 1482 bytes de informações sobre os parâmetros de teste |
Network 2236 bytes of input parameters loaded |
o agente baixou 2236 bytes de informações sobre os parâmetros de teste |
Network 22730 bytes of symbols list loaded |
o agente baixou 22730 bytes de informações sobre os parâmetros de teste |
Sincronização das configurações de teste e dados do instrumento no qual é realizado o teste:
Tester expert file added: Experts\Examples\Moving Average\Moving Average.ex5. 53048 bytes loaded |
o agente carregou o arquivo do EA, tamanho do arquivo - 53048 bytes |
Tester initial deposit 10000.00 USD, leverage 1:100 |
depósito inicial para teste - 10 000 USD, alavancagem - 1:100 |
Tester successfully initialized |
teste inicializado |
Network 68 Kb of total initialization data received |
volume total de informação recebida pelo agente durante a inicialização, - 68 KB |
Tester Intel Core i7-3770 @ 3.40GHz, 16351 MB |
descrição da configuração do computador no qual funciona o agente |
Symbols EURCAD: symbol to be synchronized |
sincronização do símbolo EURCAD |
Symbols EURCAD: symbol synchronized, 3384 bytes of symbol info received |
símbolo sincronizado, 3384 bytes de informações recebidas |
History EURCAD: load 4.51 Mb of history data to synchronize in 0:00:00.594 |
carregado 4.51 Mb de dados históricos em 594 milissegundos |
History EURCAD: history synchronized from 2015.01.02 to 2016.06.01 |
histórico de EURCAD sincronizado de 2015.01.02 a 2016.06.01 |
Ticks EURCAD: ticks synchronization started |
começa a sincronização de ticks segundo EURCAD |
Ticks EURCAD: load 48.66 Mb of tick data to synchronize in 0:00:00.969 |
durante a sincronização foi carregado 48.66 Mb de informação em 969milissegundos |
Ticks EURCAD: history ticks synchronized from 2016.04.01 to 2016.05.31 |
histórico de ticks em EURCAD sincronizado de 2016.04.01a 2016.05.31 |
History EURCAD,H1: history cache allocated for 8862 bars and contains 7729 bars |
criado cache de histórico em 8862 barras, a cache contém 7729 barras de 2015.01.02 09:00 a 2016.03.31 23:00 |
History EURCAD,H1: history begins from 2015.01.02 09:00 |
histórico de EURCAD começão de 2015.01.02 09:00 |
Tester EURCAD,H1 (MetaQuotes-Demo): generating based on real ticks |
o teste não será executado em ticks reais |
Tester EURCAD,H1: testing of Experts\Examples\Moving Average\Moving Average.ex5 |
o teste do EA Moving Average no intervalo de 2016.04.01 00:00 a 2016.06.01 00:00 será executado com os seguintes parâmetros de entrada: |
Tester MaximumRisk=0.02 |
MaximumRisk=0.02 |
Tester DecreaseFactor=3.00 |
DecreaseFactor=3.00 |
Tester MovingPeriod=12 |
MovingPeriod=12 |
Tester MovingShift=6 |
Tester MovingShift=6 |
Moving Average (EURCAD,H1) 2016.04.01 00:00:00 expert initialized |
Expert Advisor Moving Average inicializado |
Ticks EURCAD : real ticks begin from 2016.04.01 00:00:00 |
ticks reais segundo o símbolo EURCAD desde 2016.04.01 00:00:00 |
Sincronização de taxas cruzadas:
Symbols EURUSD: symbol to be synchronized |
sincronização do símbolo EURUSD |
Symbols EURUSD: symbol synchronized, 3384 bytes of symbol info received |
símbolo sincronizado, 3384 bytes de informações recebidas |
History EURUSD: load 27 bytes of history data to synchronize in 0:00:00.000 |
carregado 27 bytes de dados históricos em 000milissegundos |
History EURUSD: history synchronized from 2014.01.01 to 2016.09.02 |
histórico de EURUSD sincronizado de 2014.01.01a 2016.09.02 |
Ticks EURUSD: ticks synchronization started |
começa a sincronização de ticks segundo EURUSD |
Ticks EURUSD: load 34 bytes of tick data to synchronize in 0:00:00.000 |
durante a sincronização foi carregado 48.66 Mb de informação em 969milissegundos |
Ticks EURUSD: history ticks synchronized from 2016.01.04 to 2016.09.02 |
histórico de ticks em EURUSD sincronizado de 2016.04.01a 2016.05.31 |
Symbols USDCAD: symbol to be synchronized |
sincronização do símbolo USDCAD |
Symbols USDCAD: symbol synchronized, 3384 bytes of symbol info received |
símbolo sincronizado, 3384 bytes de informações recebidas |
History USDCAD: load 27 bytes of history data to synchronize in 0:00:00.094 |
carregado 27 bytes de dados históricos em 94 milissegundos |
History USDCAD: history synchronized from 2013.01.01 to 2016.08.01 |
histórico de USDCAD sincronizado de 2013.01.01a 2016.08.01 |
Ticks USDCAD: ticks synchronization started |
começa a sincronização de ticks segundo USDCAD |
Ticks USDCAD: load 43.10 Mb of tick data to synchronize in 0:00:00.890 |
durante a sincronização foi carregado 43.10 Mb de informação em 890milissegundos |
Ticks USDCAD: history ticks synchronized from 2016.04.01 to 2016.05.31 |
histórico de ticks em USDCAD sincronizado de 2016.04.01a 2016.05.31 |
Antes de iniciar o teste, é realizada a geração de seqüências de ticks. Quanto mais ticks são usados, mais será a latência antes do início do teste.
Se você estiver testando em ticks reais, será ativada a validação de dados de ticks carregados em relação às barras de minuto. Se os dados estiverem corretos no diário, será feito apenas um registro (para cada instrumento):
Ticks EURCAD : real ticks begin from 2016.04.01 00:00:00 |
dados de ticks reais EURCAD a partir de 2016.04.01 00:00:00 |
Caso contrário, serão exibidas estatísticas detalhadas para o usuário tirar uma conclusão sobre a qualidade do histórico de ticks.
Ticks EURUSD : real ticks begin from 2015.01.01 00:00:00 |
dados de ticks reais EURUSD a partir de 2015.01.01 00:00:00 |
Ticks EURUSD : 2015.01.01 00:00 - 2016.01.01 00:00 tick volumes not matched for 4 minute bars |
no intervalo 2015.01.01 00:00 - 2016.01.01 00:00 o volume de ticks não coincidiu nas barras de 4 minutos |
Ticks EURUSD : 2015.01.01 00:00 - 2016.01.01 00:00 last prices absent for 16217 minute bars, bid prices used |
no intervalo 2015.01.01 00:00 - 2016.01.01 00:00 não há nenhum preço para a última transação nas barras de 16217 minutos, em vez deles serão usados os preços bid |
Ticks EURUSD : 2015.01.01 00:00 - 2016.01.01 00:00 last prices absent for 22 whole days, bars built by bid prices |
no intervalo 2015.01.01 00:00 - 2016.01.01 00:00 não há nenhum preço para a última transação em 22 dias, as barras estão construídas segundo o preço bid |
Ticks EURUSD : 2015.01.01 00:00 - 2016.01.01 00:00 last prices translation turned off for 881 minute bars, bid and last prices used |
no intervalo 2015.01.01 00:00 - 2016.01.01 00:00 a transferência de preço da última transação foi interrompida na barra de 881 minutos, serão usados os preços last e bid |
Após o teste no diário do agente, são exibidas informações estatísticas detalhadas:
Tester final balance 7905.30 USD |
O saldo no final do teste foi de 7905.30 USD |
Tester EURCAD,H1: 50056687 ticks, 6195 bars generated. Environment synchronized in 0:00:02.656. |
gerados 50056687 ticks e 6195 barras, sincronização de ambiente realizada em 0:00:02.656 |
Test passed in 0:01:40.906 (including ticks preprocessing 0:00:27.047). |
teste realizado em 0:01:40.906 (incluindo o provisionamento de ticks em 0:00:27.047) |
Tester EURCAD,H1: total time from login to stop testing 0:01:43.562 (including 0:00:07.329 for history data synchronization) |
tempo gasto desde a conexão ao agente até a conclusão dos testes - 0:01:43.562 (incluindo 0:00:07.329 na sincronização de dados históricos) |
Tester 132757966 total ticks for all symbols |
total gerado 132757966 ticks em todos os símbolos |
Tester EURCAD: generate 50056687 ticks in 0:00:08.703, passed to tester 50056687 ticks |
em EURCAD foram gerados 50056687 ticks em 0:00:08.703, testador foram transferidos 50056687 ticks |
Tester EURUSD: generate 42615166 ticks in 0:00:09.235, passed to tester 42587228 ticks |
em EURUSD foram gerados 42615166 ticks em 0:00:09.235, testador foram transferidos 42587228 ticks |
Tester USDCAD: generate 40134644 ticks in 0:00:09.109, passed to tester 40114051 ticks |
em USDCAD foram gerados 40134644 ticks em 0:00:09.109, testador foram transferidos 40114051 ticks |
Tester 546 Mb memory used including 0.94 Mb of history data, 320 Mb of cached tick data (total memory for tick data 3135 Mb) |
usados 546 Mb de memória, incluindo 0,94 Mb em dados históricos, 320 Mb em cache de ticks (total para dados de ticks 3135 Mb) |
Tester log file "E:\MetaTrader5\Tester\Agent-127.0.0.1-3000\logs\20160908.log" written |
arquivo de diário do agente salvo no caminho especificado |
Se, no teste, participar apenas um instrumento, no diário, em vez de linhas separadas com ticks estatísticos em cada instrumento, haverá uma estatística geral:
Tester final balance 1199.73 USD |
o saldo o final do teste foi 1199.73 USD |
Tester EURUSD,H1: 42668248 ticks, 6195 bars generated. Test passed in 0:00:41.360 (including ticks preprocessing 0:00:06.672). |
foram gerados 42668248 ticks e 6195 barras. Teste realizado em 0:00:41.360 (incluindo o provisionamento de ticks em 0:00:06.672) |
Tester 489 Mb memory used including 0.94 Mb of history data, 320 Mb of cached tick data (total memory for tick data 1023 Mb) |
usados 489 Mb de memória, incluindo 0,94 Mb em dados históricos, 320 Mb em cache de ticks (total para dados de ticks 1.023 Mb) |
Tester log file "E:\MetaTrader5\Tester\Agent-127.0.0.1-3000\logs\20160908.log" written |
arquivo de diário do agente salvo no caminho especificado |
Quando testar novamente nos mesmos dados de históricos durante a sincronização é feito em volume mínimo para dados entre a plataforma e o agente. É usado um histórico cache na memória do agente. Se o modelo de geração de ticks não for alterado, também serão usados os dados de ticks cache. Nestas circunstâncias, o teste começa imediatamente:
Tester account info found |
informações sobre conta de negociação encontradas |
Network 1482 bytes of tester parameters loaded |
carregados de 1482 bytes de parâmetros de teste |
Tester initial deposit 1000.00 USD, leverage 1:100 |
depósito inicial para testes - 1 000 USD, alavancagem - 1:100 |
Tester successfully initialized |
teste inicializado |
Network 1614 bytes of total initialization data received |
volume total de informação recebida pelo agente durante a inicialização, - 1614 bytes |
Tester Intel Core i7-3770 @ 3.40GHz, 16351 MB |
descrição da configuração do computador no qual funciona o agente |
History EURUSD,H1: history cached from 2014.01.01 23:00 |
histórico de EURUSD H1 em cache, desde 2014.01.01 23:00 |
Tester EURUSD,H1 (MetaQuotes-Demo): every tick generating |
texte executado em todos os ticks (servidor MetaQuotes-Demo) |
Tester EURUSD,H1: testing of Experts\Tester\MultyPairCrossMA.ex5 from 2015.01.01 00:00 to 2016.01.01 00:00 started with inputs: |
o teste do EA Moving Average no intervalo de 2015.01.01 00:00 a 2016.01.01 00:00 será executado com os seguintes parâmetros de entrada: |
Tester InpLots=0.10 Tester InpStopLoss=50 Tester InpTakeProfit=50 Tester InpTrailingStop=30 Tester InpFastMAPeriod=21 Tester InpSlowMAPeriod=34 |
InpLots=0.10 InpStopLoss=50 InpTakeProfit=50 InpTrailingStop=30 InpFastMAPeriod=21 InpSlowMAPeriod=34 |
History EURUSD,M5: history cached from 2014.01.01 23:00 |
histórico de EURUSD M5 em cache, desde 2014.01.01 23:00 |
History EURJPY,M5: history cached from 2014.01.01 23:00 |
histórico de EURJPY M5 em cache, desde 2014.01.01 23:00 |
History USDJPY,M5: history cached from 2014.01.01 23:00 |
histórico de USDJPY M5 em cache, desde 2014.01.01 23:00 |
Stop out. Ao obter uma negociação malsucedida, o teste não pode ser interrompido a partir de Stop Out:
Tester final balance 44.81 USD |
o saldo o final do teste foi 44.81 USD |
Tester stop out occurred on 3% of testing interval |
stop-out ativado após 3% do período de teste |
Parada independente. É possível interromper o teste antecipadamente a partir do Expert Advisor, chamando a função ExpertRemove, ao cumprir a condição estabelecida. No diário será exibido:
MACD Sample (EURUSD,H1) 2015.03.13 03:00:00 Testing stop. Balance is 299.29 |
teste parado, saldo 299,29 |
MACD Sample (EURUSD,H1) 2015.03.13 03:00:00 ExpertRemove() function called |
chamada a função ExpertRemove |
Tester removed itself within OnTick |
o EA concluiu seu trabalho no manipulador de ticks |
Tester final balance 299.29 USD |
o saldo o final do teste foi 299.29 USD |
Tester removed itself on 19% of testing interval |
o EA concluiu seu trabalho após 3% do início do período de teste |
erro de memória. O teste pode ser concluído antes do previsto devido a um erro crítico. Por exemplo, ao selecionar constantemente a função ArrayResize, é possível levar à excessiva fragmentação de memória, que por sua vez, pode levar a uma falta de bloco de memória do tamanho exigido. Como resultado, você recebe um erro crítico de falta de memória.
MemoryException 8192 Mb not available |
bloco de memória disponível por 8192 Mb |
MACD Sample (EURUSD,H1) 2015.01.02 09:00:15 cannot resize ExtDoubleArray4 from 536870912 to 1073741824 |
na data 2015.01.02 09:00:15 o EA não conseguiu aumentar o tamanho da matriz ExtDoubleArray4 de 536870912 a 1073741824 bytes |
Tester memory error in OnTick |
erro de trabalho com memória em OnTick |
Tester stopped on 0% of testing interval |
trabalho concluído após 3% do início do período de teste |
Tester not enough available memory, 37371 Mb used, 9178 Mb available, maximal available block is 4096 Mb |
memória insuficiente, memória total 37371 Mb, disponível 9178 Mb, tamanho máximo do bloco de memória 4096 Mb |
Matriz invadida.A tentativa de acessar fora da matriz é considerado erro crítico, ou seja, o valor do índice de elemento de matriz é maior ou igual ao número de elementos na matriz (indexação começa com zero).
MACD Sample (EURUSD,H1) 2015.01.06 18:42:59 array out of range in 'MACD Sample.mq5' (473,28) |
erro de matriz fora do intervalo no arquivo 'MACD Sample.mq5' (linhas 473, posição 28) |
Tester OnTick critical error |
erro crítico em OnTick |
Divisão por zero. A divisão por zero é considerada erro crítico.
MACD Sample (EURUSD,H1) 2015.01.06 18:42:59 zero divide in 'MACD Sample.mq5' (465,35) |
erro de divisão por zerno no arquivo 'MACD Sample.mq5' (linha 465, posição 35) |
Tester OnTick critical error |
erro crítico em OnTick |
Erro durante a inicialização. O teste é concluído, não sendo inicializado, se a função OnInit no programa retornar um código diferente de INIT_SUCCEEDED. Por exemplo, o controle de parâmetros de entrada pode ser feito desse modo.
MACD Sample (EURUSD,H1) 2015.01.01 00:00:00 Deinit reason is 8 |
na data 2015.01.01 00:00:00 aconteceu a desativação do EA |
Tester tester stopped because OnInit failed |
teste interrompido devido a um erro em OnInit |