Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 169
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Buenas tardes. No puedo leer los datos del archivo y escribirlos inmediatamente. Si descomento un fragmento de código con bucles y MathRand(), el archivo se hace papilla como debe ser. Pero si se dejan líneas comentadas (ya hay desorden en el archivo), entonces la próxima vez que active/desactive el Asesor Experto, el archivo contendrá ceros. Las matrices de lectura-escritura son doble ROM1[128][128] y doble ROM2[3][128]. Las matrices no se modifican en ninguna otra parte del código, sólo se leen. Aquí hay un trozo de código:
int init()
{
Print ("Сработала ф-ия init"); // Сообщение
Handle=FileOpen("Neuro",FILE_BIN|FILE_READ|FILE_WRITE);// Открытие файла на чтение и запись
FileSeek(Handle, 0, SEEK_SET); //указатель на начало файла
FileReadArray(Handle, ROM1);
FileSeek(Handle, 131073, SEEK_SET); //указатель на конец первого массива
FileReadArray(Handle, ROM2);
/*
for(i=0; i<128; i++) //заполнение памяти первого слоя кашей
{
for(k=0; k<128; k++)
{
ROM1[i][k] = (MathRand()-16383)/3200;
}
}
for(i=0; i<3; i++) //заполнение памяти второго слоя кашей
{
for(k=0; k<128; k++)
{
ROM1[i][k] = (MathRand()-16383)/3200;
}
}
*/
return(0);
}
//--------------------------------------------------------------------
int deinit()
{
FileSeek(Handle, 0, SEEK_SET);
FileWriteArray(Handle, ROM1);
FileSeek(Handle, 131073, SEEK_SET);
FileWriteArray(Handle, ROM2);
FileClose(Handle);
return(0);
}
dos órdenes idénticas.
Gracias.
dos órdenes idénticas.
Gracias.
Puede buscar una señal cuando quiera, pero la apertura de una posición debe estar programada.
Vigile la hora de apertura de una posición con magic 565 y observe la hora actual. Si la hora actual es mayor que la hora de apertura de una posición con magic 565 por el número de minutos especificado, entonces puede abrir una posición.
Puede buscar una señal cuando quiera, pero tiene que permitir que se abra una posición por tiempo.
Ver la hora de apertura de una posición con magic 565 y ver la hora actual. Si la hora actual es superior a la hora de apertura de Magik 565 en un número determinado de minutos, la posición puede abrirse.
Muchas gracias. ¿Cómo se ve en el código?
Un poco de eso. La función no leerá un array bidimensional doble, aunque lo escribirá correctamente.
He hecho un bucle para la lectura elemento a elemento. Puede ser, puede ser de utilidad para alguien.
FileSeek(Handle, n, SEEK_SET); //изменение позиции файлового курсора
Neuron[k][i].rom[l] = FileReadDouble(Handle, DOUBLE_VALUE); //загрузка из файла
n=n+8;
}
Muchas gracias. ¿Qué aspecto tiene el código?
Y no se trata de escribir código gratis, sino de ayudar a los que intentan escribirlos ellos mismos, pero no consiguen hacerlo bien.
Muéstranos lo que no puedes hacer en tu código: te ayudaremos.
He trabajado un poco. La función doble del array bidimensional no quiere leer, aunque escribe bien.
He hecho una lectura bucle a bucle. Tal vez alguien lo necesite.
FileSeek(Handle, n, SEEK_SET); //изменение позиции файлового курсора
Neuron[k][i].rom[l] = FileReadDouble(Handle, DOUBLE_VALUE); //загрузка из файла
n=n+8;
}
¿Por qué debería ofrecer esas muletas a la gente, sólo porque yo mismo no he afrontado la tarea?
Para leer una matriz bidimensional desde un archivo, debe ser una matriz bidimensional preparada para ello.
Si recuerdo bien ese ejemplo de código, no vi que el archivo se cerrara después de ser escrito. Se crea un archivo vacío y se escriben datos en él, pero este archivo lleno se almacena en la memoria principal y los datos del archivo sólo pueden leerse desde el disco. Como resultado, el archivo parece haber sido escrito pero físicamente no está en el disco... Para guardar los datos en el disco, hay que cerrar el archivo o guardarlo a la fuerza en el disco.
Y no se trata de escribir código gratis, sino de ayudar a los que intentan escribirlos ellos mismos, pero no consiguen hacerlo bien.
Muéstranos lo que no puedes hacer en tu código y te ayudaremos.
gracias
Hola: Por favor, escriba un ejemplo sencillo (muy sencillo) en mql4. Soy un completo principiante.
1) abrir una orden pendiente cuando alcance cualquier valor (es decir, si el precio es 0,7777, entonces abrir una orden pendiente)
2) Cerrar una orden (de mercado) cuando haya alcanzado cualquier valor (es decir, si el precio es 0,6666, entonces cerrar la orden).
Ni siquiera puedo cerrar un pedido utilizando un número de pedido único. Quiero intentar cambiar el estado actual de mi robot de trading, pero no entiendo nada.
Traté de leer un tutorial de este sitio, pero ningún efecto (tal vez soy tan estúpido), y los ejemplos elementales son de alguna manera no en Internet. Gracias de antemano
Hola: Por favor, escriba un ejemplo sencillo (muy sencillo) en mql4. Soy un completo principiante.
1) abrir una orden pendiente cuando alcance cualquier valor (es decir, si el precio es 0,7777, entonces abrir una orden pendiente)
2) Cierre una orden de mercado cuando haya alcanzado cualquier valor (es decir, si el precio es 0,6666, entonces cierre la orden).
Ni siquiera puedo cerrar un pedido utilizando un número de pedido único. Quiero intentar cambiar el estado actual de mi robot de trading, pero no entiendo nada.
Traté de leer un tutorial de este sitio, pero ningún efecto (tal vez soy tan estúpido), y los ejemplos elementales son de alguna manera no en Internet. Gracias de antemano
Deberías buscar Expert Advisors de órdenes pendientes en CodeBase y ver cómo está escrito el código.