[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 511

 
Kreol:

¡Hola !

Buscando una secuencia de comandos, tema creado aquí https://forum.mql4.com/ru/42138 aconseja ponerse en contacto aquí para obtener ayuda.

Gracias de antemano.


Se le ha aconsejado - busque aquí, excave el código base - no olvide compartir sus resultados.
 
Roman.:

Te han dicho que busques aquí, que escarbes en el código base - no olvides compartir tus resultados.

Escribí que no pude encontrar nada allí :(
 

Tampoco es lo mismo, porque para abrir una posición en un límite o en un mercado hay que utilizar diferentes scripts + hay que buscar el propio instrumento y abrir su ventana + no hay cierre parcial de posiciones.
 
Ya te he dicho la dirección en la que se hará exactamente como quieres, no lo voy a repetir.
 
Top2n:
¡hay algo mal aquí!


Por supuesto que no:

bool TimeBars()
{
int prevtime = 0;
if (Time[0] == prevtime) return(0); // Бар прежний, а следовательно выходим
   prevtime = Time[0]; // Свежий бар, запоминаем время
}
Hay una puesta a cero obligatoria antes de la comparación.
 
static int prevtime;
 
xrust:
Ya te he dicho la dirección en la que se hará exactamente como quieres, no te lo voy a repetir.

Sí, sí, te escucho... pero antes de darte mi dinero me gustaría asegurarme de que el script que necesito no está disponible libremente
 

Buenas tardes.

Hay 4 órdenes, 2 ventas y 2 compras. Los sellos se crean, en sentido figurado, cuando el precio sube y se compran cuando baja. Las ventas se borran cuando se crea una compra y viceversa. Cuando se crea un ticket, la primera venta o compra se almacena en la variable pos. Los 4 tienen el mismo comentario: "Aelit". Por lo tanto, hay un código:

if (OrderSelect(pos, SELECT_BY_TICKET, MODE_TRADES))
    if (OrderComment() == "Aelit")
    {
    ...
    OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+0.0001, Digits), OrderTakeProfit(), 0);
    ...
    }

Elorden es seleccionado normalmente por el billete, pero muy a menudo la comparación del comentario falla. Por interés, hice else Alert(OrderComment()); y el log mostró "Alert: Aelit[sl]". ¿Qué es [sl]? ¿Es porque todos los pedidos tienen el mismo comentario? Entonces, ¿por qué el mismo [sl] cuando hice un comentario que no coincidía con los demás para la prueba? Si se elimina la comprobación de los comentarios, aparece un error de ticket en el registro de OrderModify. Al principio pensé que la condición se alcanzaba antes de que se creara ninguna orden, pero no, en ese momento la orden ya está ahí, y el ticket es el mismo en caso de que la condición se dispare y no se dispare. ¿Cómo lo entiendo?

 
¿Puede usted por favor aconsejar si es posible escribir algún texto en mql4 en un archivo, por ejemplo, *.txt, y luego recuperar estos datos para el comercio. La idea es que el EA aprendería a operar por sí mismo, cuando el precio cambia por >100*Punto por un par de barras, el EA memorizaría estos valores y luego trataría de usarlos (valor del indicador +/- n% para abrir una orden). Esto también podría ser implementado en el EA, pero después de cerrar MetaTrader todos los valores de las variables parecen ser puestos a cero