Preguntas de un "tonto" - página 108

 

Mi Asesor Experto toma los valores de los patrones de un archivo csv. al operar, todo funciona pero no en el probador. ¿dónde debo poner el archivo csv y qué carpeta debo crear?

Lo hice así

El archivo se abre en la subcarpeta MQL5\files del terminal del cliente (o en caso de pruebas, en la carpeta_Testing_agent\MQL5\files).

Pero no funciona y ¿dónde se encuentra el directorio del agente de pruebas?

 
openlive:
Mi Asesor Experto toma los valores de los patrones de un archivo csv. al operar, todo funciona, pero no en el probador. ¿dónde debo poner el archivo csv y qué carpeta debo crear?
Busque en el Manual de Referencia la descripción de la constante tester_file
 
Yedelkin:
Busque en el Manual de Referencia la descripción de la constante tester_file

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

pero el probador se queda quieto.

Aquí está el archivo de prueba propiamente dicho.

Archivos adjuntos:
 
openlive:

lo miré, puse el archivo en Mql5\Tester\Files

La descripción de la función FileOpen() dice: "El archivo se abre en la carpeta del terminal del cliente en la subcarpeta MQL5\files (o en el directorio the_agent_tester\MQL5\files en caso de pruebas)". Inténtalo:

a) especificar la ruta completa del archivo como

string filename=TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Tester\\Files\\"+"file.csv";

b)poner el archivo en el directorio del agente .

Yo no me he encontrado con esto. De la descripción de otras funciones de trabajo con archivos, se deduce que en el caso de las pruebas, el archivo debe ser buscado en Mql5\Tester\Files.

Una adición. Sí, has abierto varios archivos allí. Y en tester_file sólo tienes uno.

 
Yedelkin:

La descripción de la función FileOpen() dice: "El archivo se abre en la carpeta del terminal cliente en la subcarpeta MQL5\files (o catalog_agent_testing\MQL5\files en caso de pruebas)". Inténtalo:

a) especificar la ruta completa del archivo como

b)poner el archivo en el directorio del agente .

Yo no me he encontrado con esto. No he encontrado ninguna instrucción directa en el Manual, donde el archivo para las pruebas debe ser colocado.

Adenda. Sí, tienes varios archivos abiertos ahí. Y en el archivo tester_file se especifica sólo uno.

a) lo hizo - no ayudó.

b) No entiendo cómo hacerlo. Sólo tengo la carpeta MQL5\Tester\Files y no puedo averiguar qué carpeta se entiende bajotesting_agent_folder\MQL5\files.

 

Aquí hay más: https://www.mql5.com/ru/forum/1111/page182#comment_31599 Ver dos puestos. Funcionaba un poco si el archivo estaba en \MQL5\Files.

Bueno, puedes intentar moverlo a la carpeta compartida en TerminalInfoString(TERMINAL_COMMONDATA_PATH). Y al abrir el archivo en sí, establecer la bandera FILE_COMMON.

 

Yedelkin:

Aquí hay más: https://www.mql5.com/ru/forum/1111/page182#comment_31599 Ver dos puestos. Funcionaba un poco si el archivo estaba en \MQL5\Files.

Bueno, puedes intentar moverlo a la carpeta compartida en TerminalInfoString(TERMINAL_COMMONDATA_PATH). Y establecer la bandera FILE_COMMON al abrir el propio archivo.

poner el archivo en C:\ProgramData\MetaQuotes\Terminal\Common\Files, poner la banderaFILE_COMMON

El probador no dice nada de todos modos.

No sé qué más hacer

 

Es decir, ¿encontrar el archivo ni en Mql5\Tester\Files, ni en Mql5\Files, ni en la carpeta compartida de los terminales cliente ayuda?

Poner la comprobación de FileIsExist() con la salida.

¿Escribiste los otros archivos utilizados por el programa utilizando tester_file?

Una observación no relacionada con la cuestión principal. ¿Tiene usted

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

etc.

Se llaman en cada garrapata. Esto es muy engorroso. A menos que haya una razón especial, el manejador de archivo debe obtenerse en la función OnInit(), comprobar la incapacidad, y luego trabajar con el manejador de archivo abierto en lugar de la funciónFileOpen().

Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
Файловые операции / FileOpen - Документация по MQL5
 
Yedelkin:

Es decir, ¿encontrar el archivo ni en Mql5\Tester\Files, ni en Mql5\Files, ni en la carpeta compartida de los terminales cliente ayuda?

Poner la comprobación de FileIsExist() con la salida.

¿Escribiste los otros archivos utilizados por el programa utilizando tester_file?

Una observación no relacionada con la cuestión principal. ¿Tiene usted

etc.

Se llaman en cada garrapata. Esto es muy engorroso. A menos que haya una razón especial, el manejador de archivo debe obtenerse en la función OnInit(), comprobar la incapacidad, y luego trabajar con el manejador de archivo abierto, no con la funciónFileOpen().

En realidad, los archivos no se llaman cada vez... pero gracias de todos modos, lo arreglaré

Probaré con FileIsExist()

 
openlive:

En realidad, los archivos no se llaman cada... Hay una comprobación para una nueva barra. pero gracias de todos modos, lo arreglaré

Sí, no lo he mirado a fondo. Pero has entendido bien lo esencial :)
Razón de la queja: