Testando 'CopyTicks'. - página 21

 
Network 'xxx': authorized on Alpari-MT5 through mt5.nl.3 (ping: 64.15 ms)

No relógio de mercado quase vazio da Alpari, o copitix freia tanto quanto no BCS.

No Robo, tudo é mais do que uma ordem de magnitude mais rápida.

 

Resultados sobre USDCHF M1, CalcLength do indicador https://www.mql5.com/ru/code/16537:

  • RoboForexEU - 23 ms (a taça não está na transmissão, apenas lance/estipulação)
  • MetaQuotes-Demo - 15-30 ms (há um copo com volumes na transmissão)


Os resultados são constantemente flutuantes + não se observa a regra dos fios simples - em um dos fluxos sem o pick and mix para CopyTicks, no outro com o pick. A demonstração não é aberta na BCS, mas o principal é que não há pilhas na RoboForex.

Estranho código de medição. Muitas coisas desnecessárias foram medidas, mas não o CopyTicks solicita tempo:

virtual void Visual( void ) const
  {
    const ulong StartTime = ::GetMicrosecondCount();

    int X0;
    int Y0;

    BARS bars(this.Chart);

    TICKSPICTURE TicksPicture(this.Chart, &bars, X0, Y0);

    this.SetProperty(::OBJPROP_XDISTANCE, X0);
    this.SetProperty(::OBJPROP_YDISTANCE, Y0);

    TicksPicture.Fill(ColorBid, ::BID);
    TicksPicture.Fill(ColorAsk, ::ASK);
    TicksPicture.Fill(ColorSpread, ::AVG);

    TicksPicture.SendToResource(this.Resource);

    ::Comment("LastCalcTime = " + (string)::TimeLocal() +
              ", Ticks = " + (string)bars.GetAmountTicks() +
              ", CalcLength = " + (string)((::GetMicrosecondCount() - StartTime) / THOUSAND) + " ms.");

    ::ChartRedraw(this.Chart);

    return;
  }

Em qualquer caso, otimizamos a chamada para copiar carrapatos. É preciso muita coisa.
Тиковый индикатор Ticks
Тиковый индикатор Ticks
  • votos: 15
  • 2016.10.14
  • //www.mql5.com/ru/users/fxsaber">
  • www.mql5.com
Показывает тиковую ценовую историю (Bid/Ask) внутри всех видимых баров.
 
Renat Fatkhullin:

Resultados sobre USDCHF M1, CalcLength do indicador https://www.mql5.com/ru/code/16537:

  • RoboForexEU - 23 ms (sem pilha na transmissão, apenas oferta/venda)
  • MetaQuotes-Demo - 15-30 ms (há um copo com volumes na transmissão)

Problemas na Alpari Real e BCS Real. É muito fácil abrir o verdadeiro

Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais

Estatísticas de derrapagem de pedidos limitados na troca

pivomoe, 2016.08.25 15:15

Comece a fazer uma conta demo mt5 com bx. Você receberá um e-mail com um link para a distribuição. Na fase de seleção do servidor, escolha não um servidor de demonstração, mas para uma negociação real. Criar uma conta com dados arbitrários. Criar um certificado. Tudo que você tem uma conta real com saldo zero com cotações e histórico reais.


Os resultados são constantemente flutuantes + a regra dos fios simples não é respeitada - em um sem empilhar os fios (onde não há necessidade de fazer seleções e fusões para CopyTicks), no outro com empilhamento. A demonstração não abre na BCS, mas o principal é que não há correntes na Roboforex

Código de medição esquisito. Mediu um monte de coisas extras, mas de forma alguma o tempo do pedido do CopyTicks:

Isso não depende de mim. É tudo medido em conjunto. A única diferença é o servidor comercial. Portanto, os freios são apenas relacionados a palitos de cópia.

Em qualquer caso, o copyTicks call é otimizado. É preciso muita coisa.

O Copyix em sua forma atual é muito inconveniente. Por exemplo, não está absolutamente claro como obter o tique que antes era de.

Por que não podemos devolver o índice na matriz de base e trabalhar com a base como com uma matriz? É melhor deixar a tarefa de adicionar novos dados ao banco de dados inteiramente a cargo do usuário. Deixe-o resolver sozinho, se algo der errado. Neste momento, trabalhar com o Copyix é, bem, muito inconveniente. Pareço ser uma das poucas pessoas que a usa muito ativamente. E posso dizer sobre isto de forma bastante responsável.

 
Renat Fatkhullin:

Resultados sobre USDCHF M1, CalcLength do indicador https://www.mql5.com/ru/code/16537:

  • RoboForexEU - 23 ms (sem estatística em transmissão, apenas licitação/venda)
  • MetaQuotes-Demo - 15-30 ms (há um copo com volumes na transmissão)


Os resultados são constantemente flutuantes + a regra dos fios simples não é observada - há fios sem palhetas e se fundem para CopyTicks em um deles, no outro com a palheta. Na BCS a demonstração não abre, mas o principal é que na RoboForex não há pilhas

Estranho código de medição. Mediu um monte de coisas desnecessárias, mas de modo algum o CopyTicks solicita tempo:

virtual void Visual( void ) const
  {
    const ulong StartTime = ::GetMicrosecondCount();

    int X0;
    int Y0;

    BARS bars(this.Chart);

    TICKSPICTURE TicksPicture(this.Chart, &bars, X0, Y0);

    this.SetProperty(::OBJPROP_XDISTANCE, X0);
    this.SetProperty(::OBJPROP_YDISTANCE, Y0);

    TicksPicture.Fill(ColorBid, ::BID);
    TicksPicture.Fill(ColorAsk, ::ASK);
    TicksPicture.Fill(ColorSpread, ::AVG);

    TicksPicture.SendToResource(this.Resource);

    ::Comment("LastCalcTime = " + (string)::TimeLocal() +
              ", Ticks = " + (string)bars.GetAmountTicks() +
              ", CalcLength = " + (string)((::GetMicrosecondCount() - StartTime) / THOUSAND) + " ms.");

    ::ChartRedraw(this.Chart);

    return;
  }

Em qualquer caso, otimizamos a chamada para copiar carrapatos. É preciso muita coisa.

Por favor, esclareça o que você quer dizer com "fios simples".

Outra pergunta, para que os carrapatos cheguem o mais rápido possível, é necessário que o copo não esteja aberto no terminal e que não haja assinatura do evento de atualização do copo por parte da EA/indicador?

De referência:

Velocidade de saída: o terminal armazena para cada símbolo 4096 ticks recentes no cache de acesso rápido (65536 ticks para símbolos com a pilha funcionando), as consultas a estes dados são mais rápidas.

Mais uma vez, para acesso rápido, a aposta deve ser escondida e não deve haver nenhuma assinatura para atualizar a aposta por símbolo? Ou ter uma pilha (escondida/aberta) já é uma garantia de desaceleração?
 
Alexey Kozitsyn:

Por favor, esclareça o que você quer dizer sobre fluxos únicos?

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

Testando 'CopyTicks'.

fxsaber, 2016.10.13 10:18

Há uma nuança MT com carrapatos onde o próprio histórico de carrapatos é sobrescrito retroativamente devido a múltiplas fontes de carrapatos recebidos.


 
fxsaber:
Obrigado, mas você sabe sobre o copo e a rapidez do recebimento?
 
Alexey Kozitsyn:
Obrigado, mas você sabe sobre o copo e a rapidez do recebimento?
Não, infelizmente. Renat alegou que o tumblr está em constante fluxo para todo o relógio de mercado. Mas isso não é uma solução expedita (esbanjadora) para a maioria das situações.
 
fxsaber:
Não, infelizmente. Renat argumentou que o vidro é permanentemente racionalizado para todo o relógio de mercado. Mas essa não é uma solução apropriada para a maioria das situações.
Seria mais lógico ter seu próprio copo por símbolo.
 

É assim que você deve testar o CopyTicks:

MqlTick ExtArr[2048];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   ulong from   =(TimeTradeServer()-1200)*1000;
   ulong ticks  =GetMicrosecondCount();
   int   records=CopyTicks(_Symbol,ExtArr,COPY_TICKS_INFO,from,2048);

   ticks=GetMicrosecondCount()-ticks;
   Print("Time: ",ticks," msc for ",records," records");
  }

Aqui está a saída em microssegundos: 95 microssegundos por amostra de 2048 INFO ticks nos últimos 20 minutos

2016.10.18 14:15:38.673 TEST (USDCHF,M1)        Time: 95 msc for 1206 records
Isto é drasticamente diferente das dezenas de milissegundos que você alegou. Isso é porque você não mediu o CopyTicks.
 
Alexey Kozitsyn:

Por favor, esclareça o que você quer dizer com "fios simples".

O fluxo de compra/venda e o fluxo total com volumes e preços de última/transacção são duas grandes diferenças.

Diferenças cardinalmente grandes.


Outra pergunta, para que os carrapatos cheguem o mais rápido possível, é necessário que o vidro não esteja aberto no terminal e que não haja assinatura do evento de atualização do vidro por parte do Expert Advisor/Indicator?

A abertura no terminal ou a assinatura no EA não importa.

Se o símbolo estiver no relógio de mercado, então o terminal recebe todo o fluxo completo de carrapatos com estacas incondicionalmente.


Mas o mais importante, os cálculos da taxa de amostragem acima são irrelevantes. Eles são tão desajeitados (tudo menos o tempo do CopyTicks é medido) que é até surpreendente.