Não é possível ver um gráfico offline - página 2

 
lingwuchung:


Hi,

Resolvi todos os erros de compilação mas acho que o OnTick da EA (simplificado para testOffline.mq4 como anexo) não pode ser acionado no gráfico offline (gerado pelo PeriodConvertor). No entanto, ele não tem problemas com o gráfico M1 normal. Então eu me pergunto o que está errado?



Não há ticks de entrada no gráfico off-line.

Tente OnTimer ao invés de OnTick

Veja o exemplo de gráfico offline da PeriodConverter

int ExtCounter;
int ExtTickCount;
int ExtBars;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//----
   ExtCounter=0;
   ExtTickCount=GetTickCount();
   ExtBars=Bars;
   Print("init  ExtBars=",ExtBars,"  Time[0]=",TimeToString(Time[0]));
   EventSetTimer(1);
//----
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ExtTickCount=GetTickCount()-ExtTickCount;
   Print("ExtTickCount=",ExtTickCount,"   ExtCounter=",ExtCounter);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(ExtBars!=Bars)
     {
      ExtBars=Bars;
      Print("start  ExtBars=",ExtBars,"  Time[0]=",TimeToString(Time[0]));
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(RefreshRates())
      OnTick();
//----
   if(ExtCounter%15==0)
      Print("OnTimer  ExtCounter=",ExtCounter,"  Time[0]=",TimeToString(Time[0]));
   ExtCounter++;
  }
 
stringo:

Não há carrapatos de entrada no gráfico off-line.

Experimente OnTimer em vez de OnTick

Veja o exemplo de gráfico offline da PeriodConverter


OK, já tenho o gráfico offline. Mas isso significa que o EA pode ser acionado a cada 1 segundo apenas o mais rápido? (já que o EventSetTimer() pode ser configurado apenas para unidade de segundos).

Se assim for, este é um degradado no novo mql4 e eu me pergunto por quê.

 

Degradar? Por quê?

Osespecialistas nunca trabalharam em gráficos off-line

 
RaptorUK:

Você pode obter a Documentação para FileOpenHistory() atualizada por favor . .

. não há menção das outras bandeiras.


Tente atualizar sua Ajuda, por favor.


 
Rosh:

Tente atualizar sua ajuda, por favor

Desculpe, mas eu não disse FileOpen() . . Eu não disse FileOpenHistory()

 
stringo:

Degradar? Por quê?

Osespecialistas nunca trabalharam em gráficos off-line


Por favor, não brinque. Há um ano estou negociando com especialistas em gráficos off-line. A versão mais recente que usei (antes de ser forçado a atualizar para 600) foi a 509.
 
lingwuchung:

Por favor, não brinque. Há um ano estou negociando com especialistas em gráficos off-line. A versão mais recente que usei (antes de ser forçado a atualizar para 600) foi a 509.
Não é com um hack, não suportado por Metaquotes?
 
angevoyageur:
Não é com um hack, não apoiado por Metaquotes ?


Como as Metaquotes não revelaram a estrutura dos arquivos hst ao público (eles a mantêm para seus próprios fins), então todo uso dos arquivos *.hst é um hack.
 
Ovo:

Como as Metaquotes não revelaram a estrutura dos arquivos hst ao público (eles a mantêm para seus próprios fins), então todo uso dos arquivos *.hst é um hack.

y você diz que ? quem está por trás do roteiro PeriodConverter ?

dica : tente descobrir o autor deste artigo

 
Ovo:

Como as Metaquotes não revelaram a estrutura dos arquivos hst ao público (eles a mantêm para seus próprios fins), então todo uso dos arquivos *.hst é um hack.
Não, o formato do arquivo .hst é publicado no arquivo de ajuda do terminal . . assumo que será atualizado no devido tempo. mql4 também fornece uma função para leitura e escrita dos arquivos .hs . . não há hack envolvido.

Formato do arquivo histórico (arquivos HST)

O cabeçalho do banco de dados é o primeiro

structure

HistoryHeader
{
int versão; // versão do banco de dados
char copyright[64]; // informações sobre copyright
char símbolo[12]; // nome do símbolo
int período; // período de tempo do símbolo
int dígitos; // a quantidade de dígitos após o ponto decimal no símbolo
time_t indicativo de tempo; // indicativo de tempo da criação do banco de dados
xml-ph-0027@d

depois vai o conjunto de barras (justificação de byte único)

#pragma pack(push,1)
// representação padrão da cotação no banco de dados
estrutura RateInfo
{
time_t ctm; // hora atual em segundos
duplo aberto;
duplo baixo;
duplo alto;
duplo fechado;
duplo vol;
};
#pragma pack(pop)