Perguntas de um "boneco" - página 110

 
openlive:
2012.02.26 10:57:51 A qualidade do histórico analisado é de 100%.
2012.02.26 10:57:51 Core 1 EURUSD,H1: testes de peritos\padrão10000.ex5 de 2009.12.01 00:00 a 2012.02.10 00:00 iniciados
......

Tudo parece estar bem nos registos, mas tente procurar um erro no Expert Advisor.

Numa inspecção rápida do código, por exemplo, descobri que o programa utiliza 3 ficheiros, mas apenas um está listado nas propriedades.

  int handle16=FileOpen("signal10000.csv",FILE_WRITE|FILE_CSV,";");
  int handle17=FileOpen("signal10000.dat",FILE_WRITE|FILE_BIN,";"); 

#property tester_file "primer_massivstarihpatternovdlyaraboty.csv"

 

alterou o código - agora pode ver o erro

2012.02.26 11:24:56 Core 1 2009.12.01 00:00:00 erro = 5004

erro de abertura do ficheiro - embora o ficheiro esteja em C:\ProgramData\MetaQuotes\Terminal\Files and #property tester_file "primer_massivstarihpatternovdlyaraboty.csv" and FILE_COMMON flag is checked

Arquivos anexados:
 

Olá! Estou a escreverum indicador simplesde múltiplas moedas para exibir 2 instrumentos (pares de moedas) no mesmo gráfico. Diga-me qual a função a utilizar para seleccionar e processar os dados para o desenho de um determinado símbolo. Se tiver um pequeno exemplo ficará muito grato. Obrigado!

Agora o algoritmo nu do meu gráfico actual parece-se com isto

int OnCalculate(const const int rates_total,
const int prev_calculado,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[])

{
int i=0;
bool vol=verdadeiro;

if(i<prev_calculated) i=prev_calculated-1;

while(i<rates_total && !IsStopped())
{
ExtCloseBuffer[i]=close[i];
if(i>0)
{
if(close[i]>close[i-1]) vol=verdadeiro;
if(close[i]<close[i-1]) vol=false;
}

i++;
}
return(rates_total);
}

Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
  • 2010.05.17
  • Alexey Klenov
  • www.mql5.com
В последнее время возрос интерес к кластерному анализу рынка FOREX. MQL5 открывает новые возможности исследования закономерностей движения валютных пар. Важным преимуществом MQL5, по сравнению с MQL4, является возможность использования неограниченного количества индикаторных буферов. В данной статье описан пример построения мультивалютного индикатора.
 
openlive:

alterou o código - agora pode ver o erro

2012.02.26 11:24:56 Core 1 2009.12.01 00:00:00 erro = 5004

erro de abertura do ficheiro - embora o ficheiro esteja em C:\ProgramData\MetaQuotes\Terminal\Files and #property tester_file "primer_massivstarihpatternovdlyaraboty.csv" and FILE_COMMON flag is checked

Se não houver resposta amanhã, contactar o Service Desk com anexo de ficheiro. Eles devem ser capazes de lhe dizer.
 
kandallov:

Olá! Estou a escreverum indicador simplesde múltiplas moedas para exibir 2 instrumentos (pares de moedas) no mesmo gráfico. Diga-me qual a função a utilizar para seleccionar e processar os dados para o desenho de um determinado instrumento. Se tiver um pequeno exemplo ficará muito grato. Obrigado!

Agora o meu algoritmo para exibir o gráfico actual é o seguinte:

...

Pode receber dados através da estrutura MqlRates ou separadamente para cada série cronológica em MQL5 Referência / Acesso a Séries Temporais e Indicadores

É melhor usar MqlRates, porque armazena dados sobre o tempo da barra (é importante, porque as barras para diferentes instrumentos são dessincronizadas), mas é mais económico usar séries de tempos.

Mas o principal problema dos Expert Advisors com múltiplas moedas são as diferenças de sincronização - nem todas as barras do índice solicitado num símbolo correspondem ao mesmo índice noutro símbolo. E quanto mais longe se entra na floresta, mais espessos os partidários, mais se acumulam os índices.

Mais uma vez teremos de resolver o problema de diferentes comprimentos de matrizes (porque há diferentes quantidades de dados sobre diferentes ferramentas).

E o terceiro problema, nem todas as barras no indicador do gráfico podem ser mostradas (por exemplo, não há barra para um símbolo nativo, mas para outros, onde colocá-lo?)

Estes são os problemas com que somos confrontados.

 
openlive:

Olhado, colocar o ficheiro em Mql5Tester\Files

mas o testador apenas fica parado.


A propriedade #propriedade do testador de propriedades_file destina-se a evitar colocar qualquer coisa à mão em qualquer lugar.

tester_file

corda

Nome do ficheiro para o testador, especificando a sua extensão, entre aspas duplas (como uma cadeia constante). O ficheiro especificado será passado ao tesoureiro para trabalho. Os ficheiros de entrada para testes, se necessário, devem ser sempre especificados


Se algum ficheiro datafile .csv for necessário para a operação do programa, e estiver localizado no directório_de_arquivos MQL5\Files, o ficheiro será automaticamente movido pelo testador parao directório testing_agent\MQL5\Files (o ficheiro #property tester_file datafile.csv deve ser especificado para este fim).

 
openlive:

alterou o código - agora o erro é visível

2012.02.26 11:24:56 Core 1 2009.12.01 00:00:00 erro = 5004

erro de abertura do ficheiro - embora o ficheiro esteja em C:\ProgramData\MetaQuotes\Terminal\Files and #property tester_file "primer_massivstarihpatternovdlyaraboty.csv" and FILE_COMMON flag is checked

O erro é visível, mas não é claro a que ficheiro

#property tester_file "primer_massivstarihpatternovdlyaraboty.csv"
//#property tester_file "signal10000.csv"
//#property tester_file "signal10000.csv"

Porque nas propriedades comentou outros ficheiros? E a propósito há um erro: a mesma extensão, embora o texto seja um deles "signal10000.dat".

Não tenho os seus ficheiros, por isso verifique você mesmo.

 

Agora, como é que encontramos esta infeliz pasta, o_directório_de_teste_agente\MQL5\Files? A começar pelo Windows Vista, o sistema de segurança e a política de segurança tornaram-se muito mais complexos e podem confundir qualquer pessoa. A forma mais fácil de encontrar esta pasta é perguntar ao testador, ele sabe exactamente onde se encontram os agentes de teste. No Registo do Testador no final de um teste, o caminho para os registos do testador é sempre escrito, por exemplo:

2012.02.26 16:31:09     Core 1  connection closed
2012.02.26 16:31:09     Core 1  log file "C:\Program Files\MetaTrader 5 Alpari\Tester\Agent-127.0.0.1-3000\logs\20120226.log" written
2012.02.26 16:31:09     Core 1  EURUSD,H1: 1105951 ticks (4663 bars) generated within 3796 ms (total bars in history 10867, total time 3844 ms)
2012.02.26 16:31:09     Core 1  OnTester result 0

Portanto, a pasta do agente de teste está aqui - C:\Program Files\MetaTrader 5 Alpari\Tester\Agent-127.0.0.1-3000\logs\20120226.log.

 
MetaDriver:

Não se pode fazer de frente. Não pode. MetaQuotes Software Corp. é contra. // Penso que é errado, mas eles podem saber melhor.

Existe uma opção bastante demorada - utilizar o modo matemático. Se não for muito incómodo, tente.

O que é "modo matemático"?
 
Rosh:

Agora, como é que encontramos esta infeliz pasta, o_directório_de_teste_agente\MQL5\Files? A começar pelo Windows Vista, o sistema de segurança e a política de segurança tornaram-se muito mais complexos e podem confundir qualquer pessoa. A forma mais fácil de encontrar esta pasta é perguntar ao testador, ele sabe exactamente onde se encontram os agentes de teste. O caminho para os registos do testador é sempre escrito no Registo do Testador no final do teste, por exemplo:

Portanto, a pasta de agentes de teste está localizada aqui - C:\Program Files\MetaTrader 5 Alpari\Tester\Agent-127.0.0.1-3000\logs\20120226.log.

agora dá

2012.02.26 15:47:46 Ficheiro do testador C:\Users\openlive\AppData\Roaming\MetaQuotes\Terminal\9C3619DDD286B60B1DB9B989A2FFC701\MQL5\Files\Files\signal10000.csv open error [32]

Razão: