Erros, bugs, perguntas - página 82

 
gumgum:

Vou fazer um teste de 2010.01.01.01 até hoje. Eu produzo a data do primeiro bar 2009.01.02.

Como posso fazer com que a primeira barra disponível seja, por exemplo, 2006.01.02?

2006.01.02, porque não 2010.01.01.01?

E o que sabemos sobre a seriedade das matrizes?

 
Interesting:

2006.01.02, porque não 2010.01.01.01?

E o que sabemos nós sobre a serialização da matriz?

Quero ter a certeza de que, ao testar, os dados históricos são suficientes. Como fazer isto?

Podemos permitir no código negociar a partir de uma determinada data e escolher um período de teste mais longo, mas de outra forma?

 
gumgum:

Quero ter a certeza de que, ao testar, há dados históricos suficientes. Como é que isto pode ser feito?

Posso permitir que o código seja negociado a partir de uma determinada data e escolher um período de teste mais longo, mas de outra forma?


Ao inicializar, verifique se o histórico está disponível no servidor e no seu próprio. Se quiser carregar o histórico, faça-o imediatamente (no bloco de inicialização)...

E a serialidade (a sua ausência) na pergunta dada mostrará de onde contar 0 barra...

 

Caros colegas e criadores de línguas, poderia por favor explicar a seguinte situação?

Existem duas estruturas (sénior e júnior), o construtor de sénior é chamado por start(),

construtor de júnior é chamado por construtor de estrutura sénior.

Como passar uma variável de estrutura sénior para construtor de estrutura júnior ??????????

struct Ml
  {
   int               a;
   int               b;
   void Ml()
     {
      if(f)a=1; else a=2; // ?????????????????????????????      
      if(F)b=2; else b=3; // ?????????????????????????????        
     };
   void ~Ml(){};
   void m(){};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
struct St
  {
   bool              f;  // ?????????????????????
   bool              F;  // ?????????????????????
   Ml               x[];
   void St(){f=true; F=false; ArrayResize(x,1); x[0].m();};  // ?????????????????????
   void ~St(){};
   int          mult(int i){ArrayResize(x,i+1);return(x[i].a*x[0].b);};
   int           add(int i){ArrayResize(x,i+1);return(x[i].a+x[0].b);};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   St x[];
   ArrayResize(x,2);

   int Mult=x[1].mult(10);
   int Add=x[1].add(10);

   Print("x[1].mult(10)=",x[1].mult(10),"  x[1].add(10)=",x[1].add(10));
  }
//+------------------------------------------------------------------+
 
Interesting:

Ao iniciar, verifique se o histórico está disponível no servidor e no seu próprio. Se precisar de carregar o histórico, faça-o imediatamente (no bloco de inicialização)...

E a serialidade (a sua ausência) nesta pergunta mostrará de onde contar 0 barra...

veja https://www.mql5.com/ru/docs/series/seriesinfointeger desta forma ? Como carregar (picar o nariz na direcção certa)?
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
  • www.mql5.com
Доступ к таймсериям и индикаторам / SeriesInfoInteger - Документация по MQL5
 
gumgum:

Quero ter a certeza de que, ao testar, há dados históricos suficientes. Como é que isto pode ser feito?

Posso permitir que o código seja negociado a partir de uma determinada data e escolher um período de teste mais longo, mas de outra forma?

1. o testador fornece uma carga de pelo menos 100 barras do período de tempo em teste antes da data de início do teste.

2 O testador carrega o histórico, pelo menos desde o início do ano anterior, a partir da data de início dos testes.

Se seleccionar um período mensal, ser-lhe-ão fornecidos 8 anos de história. Se seleccionar um período de tempo semanal, receberá 2 anos. Apenas não utilize o prazo actual ao analisar sinais, mas especifique explicitamente o prazo de que necessita.

 
stringo:

1 O testador assegura que pelo menos 100 barras do intervalo de tempo em teste são carregadas antes da data de início do teste.

2 O testador irá carregar o histórico desde pelo menos o início do ano anterior, a partir da data de início do teste.

Se seleccionar um prazo mensal, ser-lhe-ão fornecidos 8 anos de história. Se seleccionar um período de tempo semanal, receberá 2 anos. Basta utilizar não o prazo actual ao analisar sinais, mas especificar explicitamente o prazo de que necessita.

pondo as coisas desta forma:

À espera de.... Continuo com 3,3% nem aqui nem lá:

 
Urain:

Caros colegas e criadores de línguas, poderia por favor explicar a seguinte situação?

Existem duas estruturas (sénior e júnior), o construtor de sénior é chamado por start(),

construtor de júnior é chamado por construtor de estrutura sénior.

Como passar uma variável de estrutura sénior para construtor de estrutura júnior ??????????



Penso que um exemplo da vida real seria mais compreensível:

Quando aparece uma nova posição, é criado um novo objecto, que inclui um conjunto dinâmico de indicações para negócios.

Uma vez que na situação inicial, a posição tem apenas um acordo, os seus dados são escritos na estrutura apropriada durante a inicialização do objecto,

mas o construtor da estrutura recebe o número do bilhete do objecto de posição.

E não é claro como passar este bilhete?

Na declaração global de variáveis não há problemas,

a posição é seleccionada, o bilhete é escrito e o objecto é construído,

A estrutura é concebida no objecto e todos recebem o mesmo bilhete a nível global,

ambos os acordos e posições (porque o primeiro acordo de abertura no bilhete é igual à posição id),

mas quando se tenta remover a declaração global de bilhetes, os problemas começam.

 
gumgum:

pondo as coisas desta forma:

Estou à espera de.... 3,3% do tempo, nenhuma entrada, nenhuma saída:

Descarregamento de dados? O que está no registo de testes?
 
stringo:
Carregamento de dados? O que está no registo de testes?

Neste momento 5,6%

2010.08.06 13:08:52 Core 1 EURUSD,Daily: a história começa em 2001.01.01 00:00
2010.08.06 13:08:52 Core 1 EURUSD,Daily: cache de história reservada para cerca de 2411 bares
2010.08.06 13:08:52 Core 1 EURUSD: contém 3208261 M1 registos de dados iniciais de 2001.01.01 00:01 a 2009.12.31 18:59
2010.08.06 13:05:58 para.06 13:05:58 Core 1 para=EURUSD
2010.08.06 13:05:58 Core 1 delta=0.10
2010.08.06 13:05:58 Core 1 fc=0.19
2010.08.06 13:05:58 Core 1 M=11
2010.08.06 13:05:58 Core 1 dis=0.11
2010.08.06 13:05:58 Core 1 EURUSD,Mensal: teste de peritos\slivarobot.ex5 de 2010.01.01.01 00:00 a 2010.03.31 00:00 começou com entradas:
2010.06.08.06 13:05:58 Core 1 EURUSD,Mensal: 1 minuto carraças OHLC geradas
2010.08.06 13:05:58 Core 1 EURUSD,Mensal: a história começa em 2001.01.01.01 00:00
2010.08.06 13:05:58 Core 1 EURUSD,Mensal: cache de história reservada para cerca de 120 barras
2010.08.06 13:05:58 Core 1 EURUSD: contém 3208261 M1 registos de dados iniciais de 2001.01.01 00:01 a 2009.12.31 18:59
2010.08.06 13:03:13 Core 1 EURUSD: história sincronizada de 1993.05.13 a 2010.08.05
2010.08.06 13:03:13 Core 1 EURUSD: carregar 27 bytes de dados de história para sincronizar
2010.08.06 13:03:11 Core 1 EURUSD: símbolo sincronizado. 3304 bytes de informações de símbolos recebidos.
2010.08.06 13:03:11 Core 1 Performance: 31
2010.08.06 13:03:11 Core 1 39 Kb de dados totais de inicialização recebidos
2010.08.06 13:03:11 Core 1 Inicializado com sucesso
2010.08.06 13:03:11 Core 1 Depósito inicial 10000,00 USD
2010.08.06 13:03:11 Core 1 Ficheiro de peritos adicionado: Libraries\BSCAI.ex5. 3277 bytes carregados
2010.08.06 13:03:11 Core 1 Ficheiro de peritos adicionado: Libraries\PNNOCHL(slivarobot).ex5. 13083 bytes carregados
2010.08.06 13:03:11 Core 1 Ficheiro de peritos adicionado: Experts\slivarobot.ex5. 3598 bytes carregados
2010.08.06 13:03:11 Núcleo 1 275 bytes de símbolos seleccionados carregados
2010.08.06 13:03:11 Núcleo 1 7178 bytes de parâmetros de teste carregados
2010.08.06 13:03:11 Núcleo 1 3780 bytes de informações de grupo carregados
2010.08.06 13:03:11 Núcleo 1 3124 bytes de informações de conta carregados
2010.08.06 13:03:11 Núcleo 1 Sincronização comum terminada
201006.08.06 13:03:07 Testador EURUSD,Mensal: teste de peritos\slivarobot.ex5 de 2010.01.01.01 00:00 a 2010.03.31 00:00 a ser iniciado
2010.08.06 13:03:07 Core 1 Autorizado (agente build 302)
2010.08.06 13:03:07 Core 1 Ligado
2010.08.06 13:03:06 Core 1 Ligado a 127.0.0.1:3000
2010.08.06 13:03:06 Processo de Agente Core 1 Iniciado