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 |//+------------------------------------------------------------------+intOnInit()
{
//----
ExtCounter=0;
ExtTickCount=GetTickCount();
ExtBars=Bars;
Print("init ExtBars=",ExtBars," Time[0]=",TimeToString(Time[0]));
EventSetTimer(1);
//----return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
ExtTickCount=GetTickCount()-ExtTickCount;
Print("ExtTickCount=",ExtTickCount," ExtCounter=",ExtCounter);
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+voidOnTick()
{
if(ExtBars!=Bars)
{
ExtBars=Bars;
Print("start ExtBars=",ExtBars," Time[0]=",TimeToString(Time[0]));
}
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+voidOnTimer()
{
if(RefreshRates())
OnTick();
//----if(ExtCounter%15==0)
Print("OnTimer ExtCounter=",ExtCounter," Time[0]=",TimeToString(Time[0]));
ExtCounter++;
}
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ê.
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.
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.
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.
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 ?
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 { intversão;// versão do banco de dados charcopyright[64];// informações sobre copyright charsímbolo[12];// nome do símbolo intperíodo;// período de tempo do símbolo intdígitos;// a quantidade de dígitos após o ponto decimal no símbolo time_tindicativo 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 estruturaRateInfo { time_tctm;// hora atual em segundos duploaberto; duplobaixo; duplo alto; duplofechado; duplovol; }; #pragma pack(pop)
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
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
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.
Tente atualizar sua ajuda, por favor
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.
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 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.
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
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.
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)