Preguntas de un "tonto" - página 110

 
openlive:
2012.02.26 10:57:51 La calidad del historial analizado es del 100%.
2012.02.26 10:57:51 Core 1 EURUSD,H1: se ha iniciado la prueba de experts\pattern10000.ex5 desde 2009.12.01 00:00 hasta 2012.02.10 00:00
......

Todo parece estar bien en los registros, pero trate de buscar un error en el Asesor Experto.

En una inspección superficial del código, por ejemplo, encontré que el programa utiliza 3 archivos, pero sólo uno aparece en las propiedades.

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

#property tester_file "primer_massivstarihpatternovdlyaraboty.csv"

 

cambié el código - ahora se puede ver el error

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

error de apertura de archivo - aunque el archivo está en C:\gramData\MetaQuotes\Terminal\Common\Files y #property tester_file "primer_massivstarihpatternovdlyaraboty.csv" y la bandera FILE_COMMON está marcada

Archivos adjuntos:
 

¡Hola! Estoy escribiendoun simpleindicador multidivisa para mostrar 2 instrumentos (pares de divisas) en el mismo gráfico. Dígame qué función utilizar para seleccionar y procesar los datos para el dibujo de un símbolo determinado. Si tienes un pequeño ejemplo te lo agradeceremos mucho ¡Gracias!

Ahora el algoritmo desnudo de mi gráfico actual tiene el siguiente aspecto

int OnCalculate(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=true;

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

while(i<total de tarifas && !IsStopped())
{
ExtCloseBuffer[i]=close[i];
si(i>0)
{
if(close[i]>close[i-1]) vol=true;
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:

cambié el código - ahora se puede ver el error

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

error de apertura de archivo - aunque el archivo está en C:\gramData\MetaQuotes\Terminal\Common\Files y #property tester_file "primer_massivstarihpatternovdlyaraboty.csv" y la bandera FILE_COMMON está marcada

Si no hay respuesta mañana, póngase en contacto con el Servicio de Atención al Cliente con el archivo adjunto. Deberían poder decírselo.
 
kandallov:

¡Hola! Estoy escribiendoun simpleindicador multidivisa para mostrar 2 instrumentos (pares de divisas) en el mismo gráfico. Dígame qué función utilizar para seleccionar y procesar los datos para el dibujo de un instrumento determinado. Si tienes un pequeño ejemplo te lo agradeceremos mucho ¡Gracias!

Ahora mi algoritmo para mostrar el gráfico actual es el siguiente

...

Puede recibir los datos a través de la estructura MqlRates o por separado para cada serie temporal en MQL5 Referencia / Acceso a Series Temporales e Indicadores

Es mejor usar MqlRates, porque almacena datos sobre la hora de la barra (es importante, porque las barras de diferentes instrumentos no están sincronizadas), pero es más económico usar timeseries.

Pero el principal problema de los Asesores Expertos multidivisa son las diferencias de sincronización - no todas las barras solicitadas según el índice en un símbolo corresponden al mismo índice en otro símbolo. Y cuanto más se adentra en el bosque, más gruesos son los partisanos, el cambio de índices se acumula.

De nuevo tendremos que resolver el problema de la diferente longitud de las matrices (porque la cantidad de datos es diferente en las distintas herramientas).

Y el tercer problema, no se pueden mostrar todas las barras del indicador gráfico (por ejemplo, no hay barra para un símbolo nativo, pero para otros, ¿dónde ponerlo?)

Estos son los problemas a los que nos enfrentamos.

 
openlive:

Lo he mirado, he puesto el archivo en Mql5\Tester\Files

pero el probador se queda quieto.


La propiedad #property tester_file está pensada para no poner nada a mano en ningún sitio.

archivo_de_prueba

cadena

Nombre del archivo para el probador, especificando su extensión, encerrado entre comillas dobles (como una cadena constante). El archivo especificado se pasará al probador para que trabaje. Los archivos de entrada para las pruebas, si son necesarios, deben especificarse siempre


Si algún archivo datafile. csv es necesario para el funcionamiento del programa, y se encuentra en terminal_directory\MQL5\Files, el archivo será movido automáticamente por el probadoral directorio testing_agent\MQL5\Files (la #propiedad tester_file datafile.csv debe ser especificada para este propósito).

 
openlive:

he cambiado el código - ahora el error es visible

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

error de apertura de archivo - aunque el archivo está en C:\gramData\MetaQuotes\Terminal\Common\Files y #property tester_file "primer_massivstarihpatternovdlyaraboty.csv" y la bandera FILE_COMMON está marcada

El error es visible, pero no está claro a qué archivo

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

¿Por qué en las propiedades se comentan otros archivos? Y por cierto hay un error: la misma extensión, aunque el texto es uno de ellos "signal10000.dat".

No tengo tus archivos, así que compruébalo tú mismo.

 

Ahora, ¿cómo encontramos esta desafortunada carpeta, the_agent_testing_directory\MQL5\Files? A partir de Windows Vista, el sistema y la política de seguridad se han vuelto mucho más complejos y pueden confundir a cualquiera. La forma más fácil de encontrar esta carpeta es preguntar al probador, él sabe exactamente dónde se encuentran los agentes de prueba. En el registro del probador al final de una prueba, siempre se escribe la ruta de acceso a los registros del probador, por ejemplo:

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

Así que la carpeta del agente de pruebas está aquí - C:\N-Archivos de Programa\N-MetaTrader 5 Alpari\N-Agente de Pruebas-127.0.0.1-3000\logs\20120226.log.

 
MetaDriver:

No puedes hacerlo de frente. No puedes. MetaQuotes Software Corp. está en contra. // Creo que está mal, pero puede que ellos lo sepan mejor.

Hay una opción que requiere bastante tiempo: utilizar el modo matemático. Si no es mucho problema, pruébalo.

¿Qué es el "modo matemático"?
 
Rosh:

Ahora, ¿cómo encontramos esta desafortunada carpeta, the_agent_testing_directory\MQL5\Files? A partir de Windows Vista, el sistema y la política de seguridad se han vuelto mucho más complejos y pueden confundir a cualquiera. La forma más fácil de encontrar esta carpeta es preguntar al probador, él sabe exactamente dónde se encuentran los agentes de prueba. La ruta de acceso a los registros del probador siempre se escribe en el registro del probador al final de la prueba, por ejemplo:

Por lo tanto, la carpeta del agente de pruebas se encuentra aquí - C:\ ~ Archivos de programa\\ ~ MetaTrader 5 Alpari\ ~ Tester\ ~ Agent-127.0.0.1-3000\logs\20120226.log.

ahora da

2012.02.26 15:47:46 Archivo de comprobación C:\N-Universal de la vida, de los datos, de las cotizaciones, de la terminal 9C3619DDD286B60B1DB9B989A2FFC701\NMQL5\Nde los archivos de la señal10000.csv error de apertura [32].

Razón de la queja: