Qualquer pessoa que quisesse ver gráficos sem barras em falta - aqui =) - página 8

 
komposter, tenho a seguinte sugestão para lutar com o terminal.
Se você definir atributos do arquivo WS_EURUSDm1440.hst para somente leitura, então no terminal de inicialização do terminal também jura em logs, mas o arquivo NÃO PODE ser modificado! O arquivo aparece bem na tabela como antes de o terminal ser desligado.
Então, eu acho, e se eu fizer alguma DLL externa, que possa mudar os atributos do WS_EURUSDm1440. arquivo hst para leitura/escrita? Isto é, quando um Expert Advisor precisa adicionar uma barra ao histórico, ele chama uma DLL, que define os atributos do arquivo de histórico para escrita, o Expert Advisor escreve a barra e então chama a DLL novamente, então ele define os atributos do arquivo de histórico apenas para leitura. É claro que entendo que ninguém pode dar 100% de garantia neste caso, mas acho que em 95% dos casos o desligamento / ligação do terminal acontecerá sem quebrar a barra de histórico pelo terminal. Eu não tenho falta de energia elétrica mais de 2 vezes por mês e eu ficaria bem com isso.
 
solandr писал (а):
komposter, tenho a seguinte sugestão para combater o terminal.
Não, isto é muito triste...
Na verdade, eu já descobri porque o terminal está sobregravando o arquivo.
Só não entendo com que direito o terminal está tocando minha carta off-line.

OK, se o erro estiver nas séries de tempo normais - eu tenho que atualizá-lo. Mas este é omeu arquivo. Eu escrevo o que eu quero.

De qualquer forma, não importa...
Vou tentar fazer uma versão funcional da EA hoje.
 
Você sabe qual é a parte mais triste? =)
Eu tinha 3 barras com a hora de 23:00 sobre a história que eu estava testando. Todas as outras eram 00:00, e estas 3, maldição...

Em suma, um erro na história (a propósito, meu arquivo "errado" com diários a partir das 23:00 MT corrige, mas a história honesta não =))).

De qualquer forma, o showdown não foi em vão - desenterrou um pequeno bug ;)
solandr, experimente uma nova versão.

Se os erros persistirem, verifique o histórico.

E se ainda restar, diga-me, eu vou cavar mais;)
Arquivos anexados:
 
komposter писал (а):
Em geral, um erro de história (a propósito, meu arquivo "errado" com diários a partir das 23:00 MT corrige, mas uma história honesta não =)))

De qualquer forma, o showdown não foi em vão - desenterrou um pequeno bug ;)
solandr, experimente uma nova versão.

Se os bugs persistirem, verifique o histórico.

E se ainda restar, diga-me, eu vou cavar mais;)


Infelizmente nenhuma mudança principial :o(. Jurar também em logs e os mesmos gráficos com Dígitos=0.
2006 11/11/02 11:45:16 HistoryBase: 42 erros em 'WS_NZDUSDm1440'.
2006.11.02 11:45:16 HistoryBase: 271 erros em "WS_EURJPYm1440
2006.11.02 11:45:16 HistoryBase: 271 erros em 'WS_EURCHFm1440'.
2006.11.02 11:45:16 HistoryBase: 272 erros em 'WS_AUDUSDm1440'.
2006.11.02 11:45:16 HistoryBase: 271 erros em 'WS_EURGBPm1440
2006.11.02 11:45:16 HistoryBase: 272 erros em "WS_USDJPYm1440
2006.11.02 11:45:16 HistoryBase: 272 erros em 'WS_USDCADm1440'.
2006.11.02 11:45:16 HistoryBase: 272 erros em 'WS_GBPUSDm1440'.
2006.11.02 11:45:16 HistoryBase: 78 erros em 'WS_CHFJPYm1440'.
2006.11.02 11:45:16 HistoryBase: 272 erros em 'WS_USDCHFm1440'.
2006.11.02 11:45:16 HistoryBase: 272 erros em 'WS_EURUSDm1440'.

Você deve tentar abrir vários gráficos off-line ao mesmo tempo para ver o erro mais rapidamente.

Como você verifica o histórico? Isto é história, que o terminal foi bombeado honestamente por si mesmo através de uma longa pressão na tecla Home. Eu não importei nada para ele. Talvez você possa dar uma olhada e dizer algo sobre isso? O arquivo de histórico está anexado.

PS: É claro que posso assumir que o histórico, que está armazenado no servidor do corretor, tem alguns erros, tais como grandes "picos" nos gráficos, bem como lacunas nas citações durante vários dias, mas a seguinte questão se coloca. Por que o terminal não exibe erros ao trabalhar com ele e só retorna erros quando o histórico foi corrigido através de uma simples conversão e SOMENTE após certificar-se de que o gráfico do histórico corrigido seja exibido corretamente, mesmo que o terminal escreva erros nos logs? O que os desenvolvedores podem dizer sobre a possibilidade de tornar o terminal amigável com este Expert Advisor?
Arquivos anexados:
history.zip  681 kb
 
solandr:
Infelizmente, não houve mudanças principiantes :o(. É também repreensão em logs e os mesmos gráficos com Dígitos=0.
Você deve tentar abrir vários gráficos off-line ao mesmo tempo para ver o erro mais rapidamente.
OK, continuará a luta hoje ;)

Como posso verificar o histórico? Esta é a história, que o terminal baixou honestamente por si mesmo por meio de uma longa pressão na tecla Home. Eu não importei nada para ele. Talvez você possa dar uma olhada e dizer algo sobre isso? Em anexo, encontra-se o arquivo de histórico.

Eu também tinha uma história "justa". Todas as barras D1 começam às 00:00 e as 3 barras começam às 23:00.
A MT não reagiu de forma alguma a isto.
Mas o gráfico off-line idêntico ao gráfico honesto, MT o rejeita.

Ou seja, eu tentei propositalmente remover todas as conversões do código e apenas copiei o histórico - MT diz erros...
 
solandr:
Infelizmente, não foram feitas alterações prinicipais :o(. Também está jurando nos logs e os mesmos gráficos com Dígitos=0.
Tente ;)
Arquivos anexados:
 
komposter писал (а):
Experimente ;)

Ótimo! Agora o terminal não parece imprimir nenhum erro e os gráficos se abrem corretamente após reiniciar o terminal. Se não é um segredo, como você conseguiu vencer o terminal?

Mas infelizmente, uma coisa desagradável permaneceu. Conselheiros especializados não trabalham em um gráfico aberto separadamente :o((((.
Por exemplo, esta EA não imprime nada:
//+------------------------------------------------------------------+
//|                                                          bid.mq4 |
//|                      Copyright © 2006, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net//"
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Print("Bid=",Bid);
//----
   return(0);
  }
//+------------------------------------------------------------------+
É possível estimular o lançamento de Expert Advisors em um gráfico aberto de forma autônoma, caso contrário, todo o sentido desses esforços, infelizmente, se perde? Embora indicadores e roteiros pareçam funcionar normalmente em gráficos abertos de forma autônoma.
No entanto, eu deveria verificá-lo minuciosamente. Se os indicadores funcionarem corretamente, o Expert Advisor pode ser dividido em dois componentes. O primeiro é o indicador em um gráfico independente e o segundo é o Expert Advisor que gerencia as ordens e recebe dados através de variáveis globais do terminal a partir do indicador. No entanto, não sei o que seria mais fácil. Devo considerar as barras dominicais em minha EA sem considerá-las nos cálculos ou dividir a EA real em 2 partes? Quero que seja tão humano quanto foi pretendido, não que a EA tenha que agir caso não trabalhe em gráficos abertos de forma autônoma.
 
solandr:
Ótimo! Agora o terminal não parece imprimir nenhum erro e os gráficos se abrem corretamente quando o terminal é ligado novamente. Se não é um segredo, como você conseguiu vencer o terminal?

Mas infelizmente, uma coisa desagradável permaneceu. Os especialistas não trabalham na tabela aberta de forma autônoma :o((((.
Segredo =)

E os EAs não funcionam em gráficos off-line.
Quero dizer que a função start() não funciona.

A solução é colocar o código inteiro em um loop:
int init()
{
   start();
}
int start()
{
   while (!IsStopped())
   {
      //код эксперта
      Sleep(10);
   }
}
 
komposter писал (а):

A solução é colocar todo o código em um loop:


Em princípio, a solução é bastante lógica porque os scripts são executados com sucesso.
Mas ainda não está claro por que não foi possível permitir que os EAs trabalhassem em gráficos off-line? Você pode dar um link para informações oficiais dos desenvolvedores que fizeram isso por algumas razões específicas e não reconsiderarão sua posição? Eu não devo ter pesquisado direito?


Obrigado de antemão!

 
solandr:

Mas ainda não está claro por que os EAs não poderiam ser autorizados a trabalhar em gráficos off-line? Você poderia fornecer um link para informações oficiais dos desenvolvedores de que eles fizeram isso por algumas razões específicas e não reconsiderarão sua posição? Eu não devo ter procurado por ele corretamente?

Eu tentei encontrá-lo e falhei.
Mas a informação era, isso é certo )
Razão: