Perguntas de principiantes em MQL5. Os profissionais não passam por eles. - página 2

 
Figar0:

O modelo "todas as carraças" tem apenas 14 vezes mais carraças do que o modelo "preço aberto" no H4. Ou sou louco, ou um dos dois... Então, o modelo de "preço aberto" simplesmente não existe?

Dê uma olhada em "The Basics of Testing in MetaTrader 5":

Apenas preços abertos

No modo de teste "Apenas preços abertos", a geração de carraças é realizada pelo mesmo algoritmo que para o modo "OHLC de 1 minuto". A única diferença é que a função OnTick() neste modo funciona apenas com preços Abertos do período testado.

Por exemplo, um consultor especializado é testado no EURUSD H1 no modo "Apenas preços abertos". Isto significa que a quantidade total de carraças (pontos de verificação) será a mesma que no modo "1 minuto OHLC", mas o manipulador OnTick() é chamado apenas no baraberto de uma hora. Noutras carraças ("escondidas" de um Expert Advisor), as verificações necessárias para os testes correctos têm lugar:

  • cálculo dos requisitos de margem;
  • desencadeamento de Stop Loss e Take Profit;
  • desencadeamento de ordens pendentes;
  • Remoção de ordens pendentes com tempo expirado.

Se não houver posições em aberto ou ordens pendentes, não há necessidade nestas verificações de carraças ocultas, e o aumento de velocidade pode ser significativo. Este modo "Apenas preços abertos" é bom para testar estratégias que realizam negócios apenas na abertura de bares e não utilizam ordens pendentes, bem como ordens StopLoss, TakeProfit. Toda a precisão necessária de testes é retida para a classe de tais estratégias.

 
Rosh:

Veja este artigo Testes Básicos no MetaTrader 5:

É claro porquê, não é claro como ser? Como eu disse imediatamente - triste) o testador MT5 no meu exemplo é 70 vezes mais lento do que o testador MT4. Onde no meu MT4 esteve um dia aqui, serão 10 semanas? É fixe, decidi acelerar) É bom que comecei pequeno e não converti todo o material bom para o MT5 para testes)

Perdoem o meu sarcasmo, compreendo que o testador MT5 tem muitas vantagens sobre o MT4, mas isto é compensado pela velocidade.

Talvez devêssemos introduzir um modelo semelhante aos "preços de abertura" da MT4? Que seja impreciso, que esteja em vermelho negrito com muitos avisos, mas que seja mais imediato do que em MT4. A precisão da geração da sequência de testes no MT5, por exemplo, é absolutamente desnecessária para os Expert Advisors que operam numa abertura de barra sem TP e SL.

 
Figar0:

É claro porquê, não é claro como ser? Como eu disse imediatamente - triste) o testador MT5 no meu exemplo é 70 vezes mais lento do que o testador MT4. Onde no meu MT4 esteve um dia aqui, serão 10 semanas? É fixe, decidi acelerar) É bom que comecei pequeno e não converti todo o material bom para o MT5 para testes)

Perdoem o meu sarcasmo, compreendo que o testador MT5 tem muitas vantagens sobre o MT4, mas isto é compensado pela velocidade.

Talvez devêssemos introduzir um modelo semelhante aos"preços de abertura" da MT4? Que seja impreciso, que esteja em vermelho negrito com muitos avisos, mas que seja mais imediato do que em MT4. A precisão da geração da sequência de testes no MT5, por exemplo, é absolutamente desnecessária para os Expert Advisors que operam numa abertura de barra sem TP e SL.

Se quiser preços abertos rápidos, basta escrever um filtro no código para que não seja calculado na condição de não haver uma nova barra, a geração de carraças em si leva um tempo mínimo, especificamente 3 anos de história em qualquer TF (a preços abertos) leva 7-15 segundos.
 
Urain:
Se quiser rapidez por preços abertos, basta escrever um filtro no código para que não haja cálculo em condição até aparecer uma nova barra, a própria geração de carraças leva um tempo mínimo, especificamente 3 anos de história em qualquer TF (por preços abertos) leva 7-15 segundos.
Que tipo de filtro?) Tenho um cheque para uma nova barra no início de Ontick(). Mas mesmo com este filtro a minha optimização de EAs comparáveis no MT5 é 70!! vezes mais lenta que no MT4, e não é motivo de riso... Talvez tenha feito asneira neste pedaço de código (nova verificação de barras), por favor veja a página do código mais cedo. Ou talvez seja só eu? Talvez eu deva tentar reinstalar o mt5, por exemplo?
 
Figar0:
Que tipo de filtro?) O meu Ontick() começa com um cheque para uma nova barra. Mas mesmo com esta optimização do filtro de EAs comparáveis em MT5 é 70!! vezes mais lento do que em MT4, e não tem graça ... Talvez eu tenha feito asneira neste pedaço de código (verifique se há uma nova barra), por favor veja a página do código mais cedo. Ou talvez seja só eu? Talvez eu deva tentar reinstalar o mt5, por exemplo?

Criar uma variável em cada tick, criar uma matriz dinâmica em cada tick, chamar a função de cópia, duas verificações.

Porquê tais complicações?

Declara uma variável global que armazena o número de barras no pedido anterior e verifica se o número de barras mudou, só isso.

int prevbars;

int OnInit()
  {
   prevbars=-100;// любое число которое не может вернуть Bars()  
   // ...
   return(0);
  }

void OnTick()
  {
   if(prevbars!=Bars(_Symbol,_Period))
     {
      prevbars=Bars(_Symbol,_Period);
      // ...
     }
  }

Se precisar de mais verificação, então coloque esta verificação dentro da área protegida.

 
Urain:

Criar uma variável em cada tick, criar uma matriz dinâmica em cada tick, chamar a função de cópia, duas verificações.

Porquê tais complicações?

Declarar globalmente uma variável armazenando o número de barras no pedido anterior, e verificar se o número de barras mudou, só isso.

Se quiser verificar se os dados estão carregados, então coloque esta verificação dentro da zona protegida.

Obrigado. Mas pensa realmente que isto pode mudar fundamentalmente a situação?) Verifiquei-o, por isso cêntimos, talvez apenas dentro da margem de erro... É tudo sobre a enorme diferença de volume de carrapatos gerados do modelo "Ao abrir preços" em MT4 2K e MT 1200K, nenhum multicore e nuvem vai ajudar. Nem sequer sei se este modelo tem um "direito" de ser chamado por preços de abertura, é como o modelo "1 carrapato em 14" a julgar pelo rácio. Não sei de que é culpado o modelo de "preço de abertura" do MT4, não compreendo. Havia definitivamente procura, porque não deixá-lo na sua forma MT4?

Não sei porquê e para quem esta redundância nos testes é tão óbvia. Precisamos de utilizar o testador para extrair lucro da história? Penso que o ponto principal é que a precisão do testador não pode ser transferida para uma conta real.

A propósito, quem sabe onde esconder a minha caixa de verificação favorita "Saltar resultados inúteis"? Não o consegui encontrar.... Será que também caiu em desgraça?)

 
Figar0:

Era definitivamente procurado

... é e continuará a ser.

Vamos esperar que os ficheiros de história, pelo menos os ficheiros de minutos, sejam decifrados.

 
TheXpert:

... utiliza e continuará a utilizar.

Vamos esperar que os ficheiros de história, pelo menos os ficheiros de minutos, sejam decifrados.

Sim, eu compreendo, vamos descobrir de alguma forma, eu só queria evitar a rudeza... Os criadores parecem estar dispostos a tornar uma plataforma utilizável e funcional => popular com os comerciantes => popular com as empresas de corretagem. Mas às vezes penso que eles simplesmente não olham para ele do outro lado). Primeiro, a negação categórica da capacidade de definir spreads (como resultado, não se pode usar 4 aos fins-de-semana sem o TakeMySpread), e agora a introdução da nuvem inovadora, agentes para acelerar o trabalho e como resultado a desaceleração em 70 vezes... Não percebo.
 
Os criadores precisam de acrescentar outra opção para a selecção. Ou seja, a antiga opção" Preços de Abertura". É suficiente para muitas ideias. Alcancei resultados idênticos em todos os modos no MT4. A nuvem tornar-se-á então uma super nuvem se for testada na variante antiga)).
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
joo:

Eu adicionaria o mesmo modo "pelo preço de abertura" mas com uma opção para seleccionar um subperíodo de tempo. Digamos que escolheu o período de teste H1, significa que pode seleccionar os modos de movimento de preços em M1, M2, M5, M10 ..... М30. Então será muito flexível escolher entre "velocidade e precisão" (se não forem pisadores, a maioria preferirá "velocidade").

Isso é uma grande adição! Também barras de varo no testador... Mas isso é outra história)).
Razão: