[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 24
paladin80: Si quieres, que con 3 órdenes ya abiertas, las siguientes (4, etc.) se abran con 2 x lotes, entonces
Sí todo es correcto, pero necesito ponerlo todo en la segunda condición, estas dos condiciones se activan y desactivan manualmente si (LotConst_o_no) gd_200 = Lot; (esta es la primera condición)
Ahora, en lugar de establecer un lote de equilibrio, debemos corregir la condición en la que con 3 órdenes abiertas las siguientes (4, etc.) se abrirán con 2 lotes. Si hay funciones más sencillas.
Fíjate bien en el formato de mi entrada, ahí no he especificado la longitud de la línea, luego lee la descripción, de nuevo con atención:
string FileReadString(
int handle, int length=0)
La función lee una cadena desde la posición actual del archivo. Se aplica tanto a los archivos CSV como a los binarios. Para los archivos de texto, la cadena se leerá antes del separador. En el caso de los archivos binarios, se leerá un número determinado de caracteres en la cadena. Para obtener información sobre errores, llame a la función GetLastError().
Parámetros:
asa
-
Descriptor de archivo devuelto por FileOpen().
longitud
-
Número de caracteres a leer.
Ejemplo:
int handle; string str; handle=FileOpen("filename.csv", FILE_CSV|FILE_READ);//si(handle>0) { str=FileReadString(handle);//entonces esta función leerá hasta el final de la cadena
Si quieres, que con 3 órdenes ya abiertas, las siguientes (4, etc.) se abran con 2 x lotes, entonces
else gd_200 = AccountBalance() * RiskPercent / 100.0 / 10000.0; (segunda condición)
Ahora, en lugar de establecer un lote de equilibrio, debemos corregir la condición en la que con 3 órdenes abiertas las siguientes (4, etc.) se abrirán con 2 lotes. Si hay funciones más sencillas.
¡Buenas tardes!
Me pueden decir cómo leer una cadena de texto con un número determinado desde un archivo.
En principio, puedo utilizar el siguiente código:
Por ejemplo, leer los primeros 16 caracteres, pero si las líneas serán de diferente longitud, y necesito una coincidencia
valor1=línea 1;
value2=línea 2;
Gracias de antemano.
Por favor, sugiera un procesador de textos gratuito en el que se pueda mover una parte del texto a una nueva línea al reemplazarlo.
Gracias.
¡Buenas tardes!
Me pueden decir cómo leer una cadena de texto con un número determinado desde un archivo.
En principio puedo utilizar este código:
Por ejemplo, leer los primeros 16 caracteres, pero si las cadenas serán de diferentes longitudes, y necesito una coincidencia
valor1=línea #1;
value2=línea 2;
Gracias de antemano.
FileReadString(hwd);
¿Podría indicar cómo cerrar las órdenes pendientes cuando se activa el TakeProfit para una orden de mercado?
Toma la función Kim isCloseLastPosByTake().
Si devuelve true - el TP se ha disparado.
Vea la función misma en https://www.mql5.com/ru/forum/107476/page21#79908
FileReadString(hwd);
En este caso, hay que prescribir la longitud de la cadena a leer, por ejemplo
Str=FileReadString(handle); Symbol1=StringSubstr(Str,0,6); //6 caracteres
Str=FileReadString(handle); Symbol2=StringSubstr(Str,0,6); //6 símbolos
¿Y si no conozco la longitud de la cadena o ésta varía de una línea a otra? Es decir, necesito "capturar" el texto de la cadena completa.
En este caso, hay que prescribir la longitud de la cadena a leer, por ejemplo
Str=FileReadString(handle); Symbol1=StringSubstr(Str,0,6); //6 caracteres
Str=FileReadString(handle); Symbol2=StringSubstr(Str,0,6); //6 símbolos
¿Y si no conozco la longitud de la cadena o ésta varía de una línea a otra? Es decir, necesito "capturar" el texto de toda la cadena.
Sinceramente, no entiendo muy bien cuál es el problema...
Siempre puedes comprobar la "longitud de la línea":
Para ser sincero, no estoy muy seguro de cuál es el problema...
Siempre puedes comprobar la "longitud de la línea":
Fíjate bien en el formato de mi entrada, ahí no he especificado la longitud de la línea, luego lee la descripción, de nuevo con atención:
Para obtener información sobre errores, llame a la función GetLastError().
int handle; string str; handle=FileOpen("filename.csv", FILE_CSV|FILE_READ);//si(handle>0) { str=FileReadString(handle);//entonces esta función leerá hasta el final de la cadenaFileClose(handle);}