[¡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 590

 
gheka:
2012.12.07 16:14:28 attempt141 GOLD,H1: nombre de símbolo desconocido 0 para la función OrderSend

todo estaba bien. ¿depende del terminal o del DC? o algo ha cambiado en el código??

Sin el código es difícil responder... Por ejemplo, antes una empresa de corretaje tenía el ticker de oro XAUUSD y estaba explícitamente escrito en la orden de apertura. En la misma empresa de corretaje el ticker es Oro, por eso hay un error de apertura: nombre de símbolo desconocido 0 para la apertura de la orden fi... Y quizá también hayan cambiado algo en el código... (cambiado). No depende del terminal, es hacer su trabajo y ya está.

 
Desead:

¿Pueden aconsejar si hay algún deslizamiento para los valores de stop y retirada cuando las órdenes se reabren con un rollover? ¿Y cómo se fijará el stop si la diferencia entre el precio de apertura y el stop después del rollover es menor que el stop nivelado?

Mi tarea es la siguiente. Si tengo una orden de mercado abierta, debería comprobar si fue abierta con rollover y si lo fue, debería obtener el ticket de la orden anterior, que fue cerrada. ¿Tal vez alguien me diga el algoritmo de búsqueda?

1. Selecciono la primera orden abierta.
2. Miro la hora de apertura, si es de las 23:40 a las 00:20, entonces sigo comprobando esta orden (se toma la ventana de 40 minutos por si acaso, aunque parece que se puede tomar de las 23:50 a las 23:59)
3. Memorizo el billete, me detengo y tomo
4.Compruebo todas las órdenes cerradas utilizando el historial, donde los comentarios contienen la palabra "swap" y los pares de divisas coinciden
5. Comparo los datos de las paradas y las tomas, si coinciden, entonces aquí está el par de órdenes requerido; si no, vuelvo al paso 1


Las órdenes de Stops y Take Profit ya son órdenes pendientes, pero las estadísticas del servidor las mostrarán vinculadas a otra orden.

Para la solución de tu problema consultahttps://www.mql5.com/ru/articles/1390 yhttps://www.mql5.com/ru/articles/1404. Creo que uno de estos artículos tiene un ejemplo para tu caso (no lo recuerdo exactamente, lo leí hace mucho tiempo, pero creo que seguirá siendo útil).

 
gheka:
2012.12.07 16:14:28 attempt141 GOLD,H1: nombre de símbolo desconocido 0 para la función OrderSend

estaba bien. ¿depende del terminal o de la CC? o ha cambiado algo en el código?

Try141 GOLD,H1: nombre de símbolo desconocido 0 para la función OrderSend significa que el programa intentó abrir una orden 141 veces pero falló porque no conocía el símbolo con el nombre 0.
 
¿Es posible escribir un comentario en las líneas como el que se escribe cuando se hace un pedido (número de billete y tipo de pedido)?
 
lottamer:

¿Puede decirme qué significa?

while(true)

en el script modificador que he pegado en el EA?

y qué es esta extraña comprobación para

if(cmd==OP_BUY || cmd==OP_SELL) ?

¿No sería mejor comprobar simplemente la presencia de una posición abierta?

if(cmd==OP_BUY || cmd==OP_SELL) Esto es una comprobación de posición abierta. while(true) es un bucle que se ejecutará si hay una posición abierta y se ejecutará mientras exista o hasta que la condición y los siguientes operadores antes debreak; (o return para salir de la función)
 
Chiripaha:
¿Es posible escribir un comentario en las líneas como el que se escribe cuando se hace un pedido (número de billete y tipo de pedido)?

¿Aprenderías a hacer las preguntas correctas? ¿Qué líneas? ¿Líneas eléctricas? La mayoría de la gente no es telepática y no puede saber lo que quieres decir a menos que se lo digas.
 

por qué tengo una cadena de condiciones

if (cmd999==OP_SELL && Stoch_1>Stoch_2 && OrderProfit()>10)

se ejecuta como TRUE incluso si OrderProfit es inferior a 10 (dólares) ?

Después de todo, todo lo que sea menos de 10 dólares debe ser cortado...

 
rigonich:

Aprende a hacer las preguntas correctas, por el amor de Dios. ¿Qué líneas? ¿Líneas eléctricas? La mayoría de la gente no es telepática y no puede saber lo que quieres decir a menos que se lo digas.


Creo que lo ha explicado bien :)))))))))

No sé cómo hacerlo :)))

 
rigonich:

¿Aprenderías a hacer las preguntas correctas? ¿Qué líneas? ¿Líneas eléctricas? La mayoría de la gente no es telepática y no puede saber lo que quieres decir a menos que se lo digas.
¡Soy telépata! ¿Qué pasa? :-))
 
lottamer:

y por qué tengo una serie de condiciones

if (cmd999==OP_SELL && Stoch_1>Stoch_2 && OrderProfit()>10)

se ejecuta como TRUE incluso si OrderProfit es inferior a 10 (dólares) ?

Después de todo, todo lo que sea menos de 10 dólares debe ser cortado...


Intente imprimir las variables antes de esta línea, tal vez su programa no llega a esta línea, o los valores de las variables no son los esperados. Por ejemplo, si usted tiene una cuenta de centavos, la funciónOrderProfit() en algunas empresas de corretajedevuelve el valor en centavos, y en otros - en dólares.