[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 73

 
silhouette:

He escrito una función que debería determinar si la posición existe basándose en la etiqueta y el comentario introducidos. Si no es así, debería devolver el permiso para abrirlo.

Cuando utilizo una señal comercial en el Asesor Experto, todo funciona bien: abre una posición sólo cuando no hay otra con las mismas condiciones. Pero cuando el Asesor Experto trabaja con varios tipos de señales que etiqueto con un comentario diferente, abre múltiples posiciones. ¿Cuál es el problema?

Su bucle for "básico" no funciona. En cualquier caso, dirá verdadero o falso en la primera orden y no mirará más allá
 
OrderSend(Symbol(), OP_BUYSTOP, Lot, PriceBuy, StopLoss, TakeProfit, "Order", 0, Green);

Cuando se realiza un pedido de este tipo, se genera el error 130. SellStop también se abre de forma similar, pero no hay errores en él.

 
ilunga:
Su bucle for "básico" no funciona. En cualquier caso, dirá verdadero o falso en la primera orden y no mirará más allá

Gracias. Entiendo la lógica. Pero, ¿cómo se puede arreglar?
 
gain:
OrderSend(Symbol(), OP_BUYSTOP, Lot, PriceBuy, StopLoss, TakeProfit, "Order", 0, Green);

Cuando se realiza un pedido de este tipo, se genera el error 130. SellStop también se abre de forma similar, pero no hay errores en él.


¿Y cómo se correlacionan el precio especificado en la orden y el precio actual del mercado cuando se produce un error?
 
MikeM:

¿Cómo se relaciona el precio de la orden con el precio actual del mercado cuando se produce un error?
El precio no tiene nada de malo, está muy lejos
 
gain:
El precio no tiene nada de malo, está muy lejos


¡¡Especifique los valores exactos y el tipo de pedido!!
 

BuyStop es una orden pendiente para comprar activos en un instrumento financiero a un precio superior al actual. La orden se ejecutará (se convertirá en una orden de compra de mercado) si el precio de venta alcanza o supera el precio indicado en la orden. ¿Qué pasa con la ejecución de la condición roja?

 
MikeM:

BuyStop es una orden pendiente para comprar activos en un instrumento financiero a un precio superior al actual. La orden se ejecutará (se convertirá en una orden de compra de mercado) si el precio de venta alcanza o supera el precio indicado en la orden. ¿Qué pasa con la ejecución de la condición roja?



Escriba BUYSTOP. Incluso si introducimos manualmente 1,3300 para el EUR/Dólar y ejecutamos la prueba hoy, la orden no se abrirá.
 
WindSW:

Cómo escribirlo correctamente, para que el valor del doble se escriba sólo una vez y sólo a valor cero. He probado if(recRes==0) recRes=NormalizeDouble(Res,5); pero no funciona, el valor se sobrescribe en cuanto cambia Res. ¿Cuál es la forma correcta de aplicarlo?


¿Y qué obtienes?
¿Cuál es el tipo derecRes?
¿Y cuáles son los valores
deRes?

 
gain:


Tipo BUYSTOP. Incluso si prescribo manualmente 1,3300 para el euro/dólar y hago una prueba para hoy, la orden no se abrirá.

¿Cuál es el mensaje al hacer esto?