Tiki em tempo real - página 13

 
Roman:

Ou talvez em tempo real, em vez de

uso

Por que copiar quando você pode obter imediatamente o preço atual?
Em teoria, CopyTicks tem em suas tripas verificações de parâmetros extras, aumentando assim o comprimento do código no corpo da função.
Mas SymbolInfoTick não tem parâmetros adicionais, e em teoria, a implementação desta função deve conter menos código.
Menos código significa execução mais rápida.

A única coisa ruim é que a função SymbolInfoTick não possui documentação detalhada semelhante a CopyTicks e não está completamente claro como ela funciona.
Faz o cache, ou devolve os dados brutos imediatamente.

Somente o vidro está imediatamente disponível, todo o resto é verificado adicionalmente.

Ninguém revelará documentação detalhada - é um segredo por trás dos 7 selos ))))

 
Sergey Chalyshev:

Somente o vidro é entregue imediatamente, todo o resto é verificado adicionalmente.

Ninguém revelará documentação detalhada - é um segredo por trás de sete selos ))))

SymbolInfoTick() em princípio não pode devolver a pilha, eu acho que queríamos dizer BestBid, BestAsk.
A estrutura do MqlTick não é completamente preenchida pela BestBid, BestAsk?
O que o faz pensar que outros membros da estrutura precisam de verificação adicional?

struct MqlTick 
{ 
   datetime     time;          // Время последнего обновления цен 
   double       bid;           // Текущая цена Bid 
   double       ask;           // Текущая цена Ask 
   double       last;          // Текущая цена последней сделки (Last) 
   ulong        volume;        // Объем для текущей цены Last 
   long         time_msc;      // Время последнего обновления цен в миллисекундах 
   uint         flags;         // Флаги тиков 
   double       volume_real;   // Объем для текущей цены Last c повышенной точностью 
};

Se você quiser obter o copo inteiro para todos os bancos, você deve usar

bool  MarketBookGet( 
   string        symbol,     // символ 
   MqlBookInfo&  book[]      // ссылка на массив 
   );

Retorna a matriz de estruturas MqlBookInfo contendo entradas do símbolo especificado.

 
Roman:

SymbolInfoTick() não pode dar a taça, talvez você queira dizer BestBid, BestAsk.
A estrutura MqlTick não é completamente preenchida pela BestBid, BestAsk ?
Por que você acha que o resto dos membros da estrutura precisa de verificação adicional?

E se você quiser obter o tumblr completo para todas as gangues, você deve usar

Devolve um conjunto de estruturas MqlBookInfo, contendo registros de uma pilha de preços de um símbolo especificado.

Eu não sei o que você quer dizer.

OnBook e OnTick são linhas diferentes, se MQ os sincronizou, é muito ruim.

A julgar pela foto que eu dei acima, eles não estão totalmente sincronizados.

O teste fxsaber também inspira confiança:

O resultado é ruim: no OnTick/OnBookEvent, os carrapatos recebidos usando métodos diferentes muitas vezes não coincidem dentro de um On-function. E você não pode dizer qual método de obter o tique é relevante e qual não é. Terríveis imprecisões.

Então, quem quer o quê?

- se você precisar de melhores preços - OnBook,

- se você precisar de uma fração de acordos - CopyTick,

- e se você não precisar de nada - OnTick, ele pode pular ticks e atrasar o fluxo de informações, porque funciona em um processo alinhado com outras funções On.


p.s. Tudo o que escrevi aqui diz respeito apenas às contas de câmbio, os cambistas não se importam (sem diferença), os cambistas passam por aqui.

fxsaber
fxsaber
  • www.mql5.com
Опубликовал пост TesterPortfolio - портфель ТС Опубликовал пост "Out-Of-Sample" - где расположить, справа или слева? Когда-то в паблике столкнулся с мнением, что OOS должен располагаться только справа. Т.е. расположение его слева от интервала Оптимизации - ошибка. Я с этим был категорически не согласен, т.к. не видел разницы. Теперь вижу...
 
Andrey Khatimlianskii:

Por um momento, pareceu que você tem um desejo de compreender e isso ajudará a domar seu orgulho.
Não, apenas parecia que sim.

A questão está resolvida, e qualquer pessoa pode olhar através do seu, do fxsaber, e dos meus códigos e tirar conclusões.
Com você eu paro de dialogar, nada a não ser gritos altos vindos de você, e ao receber as informações seu cérebro não funciona em absoluto.

Boa sorte com os FORTS.

Andrey!

Você está injustamente ofendido com minhas observações sobre FOREX, elas não têm nada a ver com você.

Sempre tivemos diálogos construtivos, mas se isso o ofendeu de alguma forma, então

Peço desculpas a você pessoalmente!

 
Sergey Chalyshev:

Eu não sei o que você quer dizer.

OnBook e OnTick são linhas diferentes, se MQ as sincronizou, é uma pena.


De meus testes recentes (depois de corrigir um bug no código),

é muito claro que OnTick() é acionado mais cedo ou ao mesmo tempo que OnBookEvent(),

mas em impressoras OnTick() é sempre o primeiro.

Parece que quando chega um novo lote de carrapatos,

depois, a função que os manipula primeiro "puxa" OnTick() e depois "esgueira" os dados

para onde precisa ir :)

 
Roman:

Ou talvez em tempo real, em vez de

uso

Por que copiar quando você pode obter o preço atual imediatamente?

Em que mercado você está interessado?

 
prostotrader:

De meus testes recentes (depois de corrigir um bug no código),

é muito claro que OnTick() é acionado mais cedo ou ao mesmo tempo que OnBookEvent(),

mas nas impressoras OnTick() é sempre o primeiro.

Parece que quando chega um novo lote de carrapatos,

depois a função que os manipula primeiro "puxa" OnTick() e depois "envia" os dados

para onde precisa ir :)

Sim, mais ou menos o mesmo.

O terminal é assíncrono de rosca única, ele processa todos os eventos por sua vez.

Para a pureza do experimento, que é mais rápido OnBook ou OnTick, devemos executar dois terminais em um único corretor.

Em uma única EAOnBook semOnTick .

No outro,somenteOnTick sem OnBook.

E resumir os preços com a hora local em milissegundos em um único arquivo. Então a verdadeira diferença será vista.

Caso contrário, sem tempo de estoque, é impossível entender a diferença.

 
Sergey Chalyshev:

Sim, isso é mais ou menos o mesmo pensamento.

O terminal é assíncrono de rosca única, ele trata todos os eventos por sua vez.

Para a pureza do experimento, que é mais rápido OnBook ou OnTick, devemos executar dois terminais em um único corretor.

Em uma única EAOnBook semOnTick .

No outro,somenteOnTick sem OnBook.

E resumir os preços com a hora local em milissegundos em um único arquivo. Então a verdadeira diferença será vista.

Caso contrário, sem tempo de estoque, você não consegue entender a diferença.

Não há problema, tentarei executá-lo na segunda-feira (tenho três terminais em real).

 
Sergey Chalyshev:

Eu não sei o que você quer dizer.

OnBook e OnTick são linhas diferentes, se o MQ as sincronizou, é uma pena.

A julgar pela imagem que dei acima, eles não estão totalmente sincronizados.

Também o teste fxsaber inspira confiança:

Então, quem quer o quê?

- se você precisar de melhores preços - OnBook,

- se você precisar de uma fração de acordos - CopyTick,

- e se você não precisar de nada - OnTick, ele pode pular ticks e atrasar o fluxo de informações, porque funciona em um processo alinhado com outras funções On.


p.s. Tudo o que escrevi aqui diz respeito apenas a contas de câmbio, comerciantes forex não se importam (sem diferença), comerciantes forex passam por aqui.

Eu estava me referindo aoSymbolInfoTick, você escreveu que " Somente o copo é dado imediatamente, tudo o resto é verificado adicionalmente".
Eu lhe dei a estrutura do MqlTick para lhe mostrar em que consiste, não há copo, apenas os melhores preços. E não há verificações adicionais.
Estou, portanto, surpreso com o que você escreveu, talvez incorretamente declarado a idéia.
O OnBook e o OnTick são soquetes diferentes, porque em qualquer protocolo de troca as negociações ocorrem em um soquete, e o Level2 (mercado) em outro.
Isto significa que somente as melhores ofertas são enviadas para o soquete OnTick. Portanto, a OnTick tem seu próprio manipulador para este soquete.
Para o Level2 soquete diferente e, portanto, tem um manipulador diferente. Na idéia, eles não devem ser sincronizados à força no lado do terminal.

Tudo bem, usamos exatamente o que queremos, os negócios emSymbolInfoTick ou CopyTick, vidro em MarketBookGet.

 
prostotrader:

Em que mercado você está interessado?

Eu não uso o comércio forex.
No exemplo você estárecebendo apenas um último elemento da estrutura doCopyTick, na verdade, apenas os melhores preços.
Então eu pensei, por que copiar dados de um espaço de memória para outro,
, quando há
SymbolInfoTick que dá os melhores preços sem copiar em nenhum lugar. Posso estar errado sobre como as funções funcionam, esse é apenas o meu palpite.
Embora seja possível que estas duas funções funcionem da mesma maneira, a única diferença é que
o CopyTick pode solicitar uma série de carrapatos.
E
é desnecessário ouso de loops para processar carrapatos.