Quando é a nova versão do MT5 e onde você descobre o que se espera dela? - página 26

 

Existe uma forma de software para determinar a profundidade do histórico do ticking?

Tentei isto:

void OnStart()
  {
MqlTick ExTicks[];  
datetime tm=StringToTime("1971.01.01 00:00:00");
//--- вывод результата
ulong m=tm*1000; 
int copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,m);
Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
 
  }

o tempo todo recebe 2.000 carrapatos. A ajuda diz que se não houver tempo especificado, não são transmitidos mais de 2000 tiquetaques. O tempo é especificado em milissegundos e os segundos são multiplicados por 1000.

Além disso, a ajuda especifica que estes são carrapatos para a sessão atual. Então, acontece que os dados históricos não podem ser acessados?

 
forexman77:

Existe uma forma de software para determinar a profundidade do histórico do ticking?

Tentei isto:

o tempo todo recebe 2.000 carrapatos. A ajuda diz que se não houver tempo especificado, não são transmitidos mais de 2000 tiquetaques. O tempo é especificado em milissegundos e os segundos são multiplicados por 1000.

Além disso, a ajuda especifica que estes são carrapatos para a sessão atual. Então, acontece que você não pode acessar dados históricos?

Você quer receber todos os carrapatos? :)

Primeiro, verifique se seu computador pode lidar com tantos carrapatos (se seu computador queimar, não é minha culpa):

//+------------------------------------------------------------------+
//|                                                CopyTicks_1_02.mq5|
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.031"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
input int  ticks=200000000000;  // количество запрашиваемых тиков
input datetime start=D'1971.01.01 23:59'; // с какой даты запрашивать тики
//---
MqlTick ExTicks[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- запросим тики
   int copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,(ulong)start*1000,ticks);
//--- если тики получены, то выведем на график значения Bid и Ask  
   Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
   if(copied>1)
     {
      Print("Тик: ",ExTicks[0].time," bid: ",ExTicks[0].bid," ask: ",ExTicks[0].ask," last: ",ExTicks[0].last," [0]");
      Print("Тик: ",ExTicks[copied-1].time," bid: ",ExTicks[copied-1].bid," ask: ",ExTicks[copied-1].ask," last: ",ExTicks[copied-1].last," [",copied-1,"]");

      //datetime Start =D'2015.10.16 23:59';   // время наступления 2015 года
      //datetime End   =D'2015.10.19 00:02';   // время наступления 2015 года
      //for(int i=0;i<copied-1;i++)
      //   if(ExTicks[i].time>Start && ExTicks[i].time<End)
      //      Print("Тик: ",ExTicks[i].time," bid: ",ExTicks[i].bid," ask: ",ExTicks[i].ask," last: ",ExTicks[i].last," [i]");
     }
   Print("Size ",((long)copied*sizeof(MqlTick))>>20," Mb");
  }
//+------------------------------------------------------------------+
Arquivos anexados:
 
Karputov Vladimir:

Você quer obter todos os tiques? :)

Primeiro, verifique se seu computador pode lidar com tantos carrapatos (se seu computador queimar, não é minha culpa):

Sim, preciso saber a partir de que data há dados (ou seja, a partir de que data você pode fazer um teste com carrapatos reais).

E quanto não é um problema para o computador consultar? Queimar é um exagero, mais provável que congele?

 
forexman77:

Sim, preciso saber a partir de que data há dados (ou seja, a partir de que data o teste pode ser executado com carrapatos reais).

E quanto não é um problema para o computador consultar? Você deve estar exagerando, é mais provável que congele?

Em vez de "200000000000" coloque "20000" e uma data, qualquer data em 1971. Dito isto, é muito provável que você precise executar o roteiro mais de uma vez. A questão é que a primeira solicitação iniciará todo o histórico baixado (porque você encomendou o histórico desde 1971), e se o roteiro não responder por muito tempo, ele dará os dados que estão disponíveis, mas o download irá além. Portanto, a segunda solicitação pode mostrar uma história mais profunda.
 
forexman77:

Existe uma forma de software para determinar a profundidade do histórico do ticking?

Tentei isto:

o tempo todo recebe 2.000 carrapatos. A ajuda diz que se não houver tempo especificado, não são transmitidos mais de 2000 tiquetaques. O tempo é especificado em milissegundos e os segundos são multiplicados por 1000.

Além disso, a ajuda especifica que estes são carrapatos para a sessão atual. Então, acontece que você não pode acessar dados históricos?

Você não pode obter todos os carrapatos para o símbolo, se eles forem mais do que INT_MAX, porque o valor de retorno

da função CopyTicks é inteiro. Portanto, você precisa colocá-los em peças.

 
prostotrader:

Você não pode obter todos os carrapatos por personagem se eles forem maiores que INT_MAX, porque o valor de retorno

da função CopyTicks é inteiro. Portanto, você tem que colocá-los em peças.

No entanto, a data inicial dos carrapatos pode ser descoberta solicitando apenas 20000 (vinte mil) carrapatos - o principal é especificar a data inicial, o que garante que nesta data ainda não havia carrapatos e que 1971 é o melhor ajuste para ela.
 
Karputov Vladimir:
Entretanto, é possível descobrir a data de início dos carrapatos solicitando apenas 20 mil carrapatos - o principal é especificar a data de início, o que garante que nesta data ainda não havia carrapatos, e 1971 é a melhor maneira de fazê-lo.

Foram solicitados muitos dados, uma frenagem realmente forte já começou:

2016.08.21 22:24:03.918 CopyTicks (EURUSD,H1)   Size 2826 Mb
2016.08.21 22:24:03.918 CopyTicks (EURUSD,H1)   Тик: 2016.05.25 16:54:25 bid: 1.11497 ask: 1.11505 last: 0.0 [56999999]
2016.08.21 22:24:03.918 CopyTicks (EURUSD,H1)   Тик: 2016.01.13 09:45:44 bid: 1.08206 ask: 1.08236 last: 0.0 [0]
2016.08.21 22:24:03.903 CopyTicks (EURUSD,H1)   Получено тиков: 57000000 код ошибки: 0

Para minha tarefa, 100 carrapatos é suficiente. Obrigado de qualquer forma!

2016.08.21 22:36:42.234 CopyTicks (EURUSD,H1)   Size 0 Mb
2016.08.21 22:36:42.234 CopyTicks (EURUSD,H1)   Тик: 2016.01.13 09:46:01 bid: 1.08206 ask: 1.08236 last: 1.08215 [99]
2016.08.21 22:36:42.234 CopyTicks (EURUSD,H1)   Тик: 2016.01.13 09:45:44 bid: 1.08206 ask: 1.08236 last: 0.0 [0]
2016.08.21 22:36:42.234 CopyTicks (EURUSD,H1)   Получено тиков: 100 код ошибки: 0
 
Renat Fatkhullin:
Sim, em breve estarão disponíveis gráficos personalizados e datafeeds próprios.

Olá Renat, alguma atualização sobre estas características ? (desculpe se é em outro lugar que não o encontrei).

Olá Renat, alguma atualização sobre estas características ? (desculpe se não o encontrei em outro lugar).