Testando 'CopyTicks'. - página 45

 

Encontramos uma perda das bandeiras TICK_FLAG_BUY, TICK_FLAG_SELL na estrutura MQLTick ao copiar ticks de símbolos personalizados com a função CopyTicks(...).

Do símbolo RTS-6.20 exportou carrapatos para este ano para o arquivo CSV. Crie o símbolo MyRTS-6.20 copiando do RTS-6.20. Carregado a ele carrapatos do arquivo CSV. Parece ser um duplicado. Tudo está bem com sua tabela.

Mas CopyTicks(...).




Roteiro fxsaber usado

Arquivos anexados:
 
Sealdo Сергей:

Encontramos uma perda das bandeiras TICK_FLAG_BUY, TICK_FLAG_SELL na estrutura MQLTick ao copiar ticks de símbolos personalizados com a função CopyTicks(...).

Do símbolo RTS-6.20 exportou carrapatos para este ano para o arquivo CSV. Crie o símbolo MyRTS-6.20 copiando do RTS-6.20. Carregado a ele carrapatos do arquivo CSV. Parece ser um duplicado. Tudo é bom com sua tabela.

Fixado em beta 2414.

Agora exportado para CSV e importado com a coluna de bandeira.

 

Tenho outra pergunta idiota: a MT determina a direção do negócio (escrevendo BUY/SELL em MqlTick.flags) analisando os dados do tick em si, ou ela recebea direção do negócio da fonte de dados?

 
Sealdo Сергей:

Tenho outra pergunta idiota: a MT determina a direção do negócio (escrevendo BUY/SELL em MqlTick.flags) analisando os dados do tick em si, ou ela recebe a direção do negócio da fonte de dados?

Da fonte.

Tudo depende da alimentação de dados, o que pode colocar bandeiras por si só.

 
MetaQuotes:

Da fonte.

Tudo depende do datafeed, que também pode sinalizar a si mesmo.

A fim de não depender da fonte, é melhor organizar a lógica local para a sinalização.

(Last == Ask ? TICK_FLAG_BUY : TICK_FLAG_SELL);

Desta forma, qualquer alimentação de dados será comestível, não importa se tem ou não uma direção comercial.
Isto resolverá o problema do testador de estratégia para a execução de câmbio.
Isto significa que será possível expandir a estrutura da história do tick para instrumentos de intercâmbio.
Ao ampliar a estrutura do histórico do tick, será possível organizar a execução do intercâmbio no testador de estratégia.
Precisamos de um verdadeiro testador de câmbio!

 

Com este tipo de lógica de programa, acho que haverá alguns bugs >>>


 
Sealdo Сергей:

Com este tipo de lógica de programa, acho que haverá alguns bugs >>>

Que tipo de erros?
Acho que isto resolverá o problema de renderização errada como em sua captura de tela, que não corresponde a ofertas e lances.
A propósito, vi o mesmo problema no TcLab, parece-me que isto se deve ao fato de que estes são canais de dados diferentes.
Os negócios vão em seu soquete, o ofertante/ oferta em outro soquete. Os negócios têm que estar nas linhas de oferta/licitação e nada mais.
Apenas uma comparação local

(Last == Ask ? TICK_FLAG_BUY : TICK_FLAG_SELL)

sincronizará ambos os canais de dados, as operações passadas e a oferta/ oferta, e possivelmente eliminará este defeito que você mencionou.

Há também o estado indefinido das transações contrárias N/A.
Para estes também precisamos levar em conta o estado das bandeiras.

Verifiquei-o em um instrumento CME.
Apenas as transações de contrapartida N/A não são sacadas por oferta/ oferta.
Mas eles são desenhados dentro do spread (círculo verde), o que é correto.
O resto dos negócios está estritamente sobre a oferta/ oferta.
Você tem um instrumento de Mos. Troca, talvez sejam transações contrárias que não caem no spread, mas porque estão fora do spread, o que não é correto.
Portanto, não são os ofícios contrários, mas os ofícios dirigidos que têm uma direção.
E, como entendi de outras discussões, o terminal MT5 não exibe ordens contrárias em Mos. Troca.
Talvez este seja o problema do desenho incorreto de ofícios passados.


 
Olá a todos!! Você pode me dizer se é possível carregar o histórico de cotações em mt5? Estou procurando por informações há 2 dias, mas não consigo encontrá-las
 
Igorz2006:
Olá a todos! É possível carregar um histórico de citações em mt5? Estou procurando por ele há 2 dias, mas não consigo encontrá-lo.

Recebendo carrapatos:

CopyTicks

Obtém carrapatos para uma matriz em formato MqlTick

CopyTicksRange

Obtém carrapatos em uma matriz dentro da faixa de datas especificada

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
  • www.mql5.com
[in]  Количество запрашиваемых тиков. Если параметры from и count не указаны, то в массив ticks_array[] будут записаны все доступные последние тики, но не более 2000. Первый вызов CopyTicks() инициирует синхронизацию базы тиков, хранящихся на жёстком диске по данному символу. Если тиков в локальной базе не хватает, то недостающие тики...
 
Obrigado, vou investigar