Teste de sistemas de previsão em tempo real - página 73

 

um pequeno refinamento sobre o ouro:


A trajetória mais provável é a menor (subtrair 30 min do tempo de publicação será o início da previsão). Mas a previsão não pode ser particularmente confiável, pois requer a execução de um procedimento para identificar algumas características da série, o que ainda não fiz (o procedimento é único, mas funciona por dois dias)

 
grasn >> :

PS: Eu acrescentaria todas as trajetórias, mas não posso transferir a matriz bidimensional do texto :o). E como você o faz - eu não o entendo, ou melhor, não o entendo completamente. Agora eu tenho o seguinte código (pelo menos eu o entendo) que eu suspeito que possa ser simplificado:

A fim de exibir algumas trajetórias adicionei poucas cópias de meu próprio indicador na janela, porque não queria me preocupar em exibir vários buffers ao mesmo tempo, além disso, seu número é limitado a 8 em MT4. Eu realmente não entendo porque os dados são copiados para frente e para trás através de matrizes dinâmicas em seu código - não é mais fácil lê-los no buffer de indicadores? Devido à ausência do conceito de array arrays em MQL, para preencher vários buffers você tem que escrever um complexo se. ;-/ Algo parecido com isso:

  // ViewCount - количество используемых буферов (1 - 8)
  // F1 ... F8 - индексные буфера
  for(int p = ForecastBars; p >= 0; p--)
  {
    if( ViewCount > 0)
      F1[ p] = GetData(0, p);
    if( ViewCount > 1)
      F2[ p] = GetData(1, p);
    ...
    if( ViewCount > 7)
      F8[ p] = GetData(7, p);
  }
 
marketeer >> :

Eu simplesmente adicionei várias instâncias do meu indicador na janela para exibir várias trajetórias, porque eu não queria me preocupar em exibir vários buffers ao mesmo tempo, especialmente porque seu número é limitado a 8 em MT4. Eu realmente não entendo porque os dados são copiados para frente e para trás através de matrizes dinâmicas em seu código - não é mais fácil lê-los no buffer de indicadores? Devido à ausência do conceito de array arrays na MQL, você tem que escrever um complexo se. ;-/ Algo parecido com isto:


Quero apenas finalizar a previsão em MQL, ou seja, calcular níveis e zonas. Como uma experiência, ainda estou estudando.


Entendo a idéia de amortecedores, obrigado.

 
GOLD did fall (previsão acima) Apenas um pouco :o( Teremos que olhar para o critério, talvez realmente não precisemos escolher o valor extremo :0( OK, eu vou olhar para ele
 
mpeugep >> :

Difícil porque obtenho os dados para o roteiro que desenha as curvas de previsão todas as manhãs em Deductor. Portanto - somente à mão =)

Aqui, uma vez tive dificuldades com o Expert Advisor for Deductor v.5.0 Lite :)

É até possível executá-lo em vis.tester, mas é necessário escolher o tempo de atraso com mais precisão

Arquivos anexados:
 
Piboli >> :

Aqui, eu costumava lutar com o Expert para dedutora v.5.0 Lite :)

Você pode até mesmo executá-lo em vis.tester, mas você terá que afinar o tempo de atraso

Ooh, obrigado, vou dar uma olhada neste fim de semana =)))

 

Bom dia a todos!

Hoje o quadro do instrumento FDAXZ9 (H1) é o seguinte:

Vender na abertura do mercado, meta é 5714, parada na área é 5799.

A comercialização é feita com lote 0,1.

Conta: 642842
Senha de investimento: 1fisfwv
Servidor: BroCo-Demo

 

A posição foi encerrada no take:

 

Eu escrevi um roteiro para gerar uma série de realizações prováveis (é muito simples):

#property copyright ""
#property link      ""

#property show_inputs

extern int timeShift = 3;
extern int N = 101;

int start()
{
   int i;
   int idCount;

   int Handle;
   
   double realisation;
   
   string FILE="FORECAST.csv";
   string COUNT;

   Handle=FileOpen( FILE, FILE_CSV| FILE_READ,",");

   if( Handle<0)
   {
      if(GetLastError()==4103)
      {
         Alert("Нет файла с именем ", FILE);
      }
      else
      {
         Alert("Ошибка при открытии файла ", FILE);
      }

      return;
   }

   Handle=FileOpen( FILE, FILE_CSV| FILE_READ,",");
   
   ObjectsDeleteAll();

   idCount=0;
   i=0;

   while(FileIsEnding( Handle)==false)
   {
      if( i>= N)
      {
         i=0;
      }

      COUNT=FileReadString( Handle);
      realisation=NormalizeDouble(StrToDouble( COUNT), 5);

      ObjectCreate(DoubleToStr( idCount, 10), OBJ_ARROW, 0,
 (Time[0]- timeShift*15*60)+( i)*Period()*60+1, realisation);
      ObjectSet(DoubleToStr( idCount, 10), OBJPROP_ARROWCODE, 250);
      
      
      i= i+1;
      idCount= idCount+1;

      if(FileIsEnding( Handle)==true)
      {
         break;
      }
   }

   FileClose( Handle);

   return(0);
}

Eis como funciona o roteiro:

Como determinar automaticamente a extensão da amostra de probabilidade de um arquivo de texto é um mistério para mim, até agora é definido manualmente. Se você tiver alguma idéia, por favor, me aconselhe.

 
Você pode ver o arquivo forecast.csv