Discussão do artigo "Princípios básicos dos testes no MetaTrader 5" - página 2

 
Rosh:
Leia "Todos os indicadores criados por funções de Indicadores técnicos ou IndicatorCreate()...".

Muito obrigado, consegui resolver o problema.

 

Eu estava lendo esse artigo maravilhoso e parece que houve um erro de digitação em algum lugar.

//+------------------------------------------------------------------+
//| Função de desinicialização de especialista|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   bool hidden=IndicatorRelease(handle_ind);
   if(hided) Print("IndicatorRelease() successfully completed");
   else Print("IndicatorRelease() returned false. Error code ",GetLastError());
  }

Acho que você queria digitar 'if(hidden) Print......' em vez de 'if(hided) Print...' para que o código ficasse parecido com o abaixo

//+------------------------------------------------------------------+
//| Função de desinicialização de especialista|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   bool hidden=IndicatorRelease(handle_ind);
   if(hidden) Print("IndicatorRelease() successfully completed");
   else Print("IndicatorRelease() returned false. Error code ",GetLastError());
  }

Obrigado pelo artigo.

Sam

[Excluído]  

Por que no artigo "Noções básicas de teste" não há uma palavra sobre por onde TUDO começa?

Estou falando de testar estratégias manuais como no ForexTester - pelo menos sem definir/executar/modificar ordens, mas com ticks (pelo menos apenas gráficos de barras) e a capacidade de observar os indicadores e fazer gráficos em "tempo real" com a capacidade de alternar os períodos de tempo.

[Excluído]  

Quando começo a testar o ExpertMACD Expert Advisor ("built-in") com um modelo tester.tpl salvo anteriormente (2 janelas de indicadores), a primeira janela sobrepõe o indicador MACD do Expert Advisor com o indicador do modelo. Esse é o modo como foi projetado?

Não verifiquei outros Expert Advisors. Atualizei a versão do MT hoje.

 
VladMih:

Por que no artigo "Noções básicas de teste" não há uma palavra sobre por onde TUDO começa?

Estou falando de testar estratégias manuais como no ForexTester - pelo menos sem definir/executar/modificar ordens, mas com ticks (pelo menos apenas gráficos de barras) e a capacidade de observar os indicadores e fazer gráficos em tempo real com a capacidade de alternar os períodos de tempo.

Porque estamos falando de testar sistemas de negociação automatizados.

A solução com indicadores em modelos é temporária, em breve os indicadores serão mostrados automaticamente durante a visualização.

[Excluído]  
Renat:

Porque estamos falando de testar sistemas de negociação automatizados.

A solução com indicadores em modelos é temporária, em breve os indicadores serão mostrados automaticamente durante a visualização.

1. Entendi, mas isso não está no título do artigo, por isso estou perguntando.

E onde se lê "falar sobre testes de sistemas manuais"? Em lugar nenhum? Desculpe, mas parece algo como "quem não é programador não é comerciante" (para não dizer "não é um ser humano"). Isso é "política do partido"? Será assim ou há algo planejado para os meros mortais? Tipo, para os não iniciados...

2. Você não entende - eles SÃO exibidos automaticamente, mas o indicador EA é sobreposto ao indicador do modelo do testador.

Entretanto, se ele estiver temporariamente sobreposto, não há nada a discutir, é claro.

 

Моделирование времени в тестере

Durante o teste, a hora local TimeLocal() é sempre igual à hora do servidor TimeTradeServer(). Por sua vez, a hora do servidor é sempre igual à hora correspondente ao horário GMT - TimeGMT(). Portanto, todas essas funções produzem o mesmo horário durante o teste.

Aqui está escrito que "hora do servidor" == TimeTradeServer() == TimeGMT() durante o teste. Ao mesmo tempo, no fórum sobre contas de demonstração MQ, foi declarado que "hora do servidor MQ" == "hora média europeia" == GMT+1.

Executei o script off-line em meu laptop (build 674); ele mostra que TimeTradeServer() == TimeGMT(). É correto concluir que "MQ server time" == TimeGMT() e não GMT+1?

 

As coisas mudam, fluem e se alteram. Talvez antes fosse assim

В то же время, на форуме в отношении демо-счетов MQ утверждалось, что "серверное время MQ" == "среднеевропейское время" == GMT+1.

e agora seja assim.

TimeTradeServer() == TimeGMT()

 

Obrigado pelo esclarecimento! Portanto, para contas de demonstração, "hora do servidor MQ" == TimeGMT().

 

Расчет индикаторов при тестировании

No modo em tempo real, os valores dos indicadores são calculados a cada tick. O testador adota um modelo econômico de cálculo de indicadores - os indicadores são recalculados apenas imediatamente antes de o Expert Advisor ser iniciado para execução. Isso significa que o recálculo dos valores do indicador é realizado antes da chamada das funções OnTick (), OnTrade() e OnTimer().

Independentemente de haver uma chamada de indicador em um manipulador de eventos específico ou não, todos os indicadores cujos identificadores foram criados pela função iCustom() ou IndicatorCreate ( ) serão recalculados antes de chamar a função do manipulador de eventos.

Portanto, ao testar no modo "All ticks", o cálculo dos indicadores é realizado antes de cada chamada de OnTick(). Se um cronômetro for ativado no Expert Advisor usando a função EventSetTimer(), os indicadores serão recalculados antes de cada chamada do manipulador OnTimer().

O artigo diz que os valores dos indicadores são recalculados antes da chamada de três funções - manipuladores de eventos. Não tenho nenhuma dessas funções em meu Expert Advisor - ele funciona apenas com eventos personalizados. Os cálculos são realizados por indicadores anexados a gráficos de outros símbolos. Tudo parece estar mais ou menos calculado no testador.

Surgem as seguintes perguntas: em que momento os indicadores pendurados em outros símbolos são recalculados? Eles são calculados toda vez que o evento NewTické enviado , mesmo que o Expert Advisor não tenha a função OnTick()? Em caso afirmativo, então os indicadores são recalculados com a frequência de ticks de outro símbolo?