Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 384

 
le0nid2014:
...

if (OrdersTotal() == 0 && ********** )

OrderSend("USDCHF",OP_BUY,Lots,Ask,0,0,0, "5891",MagicNumb,0,Red);


if (OrdersTotal() == 0 && ***********)

OrderSend("USDCHF",OP_SELL,Lots,Bid,0,0,0, "58892",MagicNumb,0,Red);

...
Estás mirando en la dirección equivocada. Ya te lo han dicho todo. Incluso he dado un ejemplo abstracto más arriba. ¿O es demasiado perezoso para hacer una búsqueda?
 
Artyom Trishkin:
Si tienes dos Asesores Expertos, deberían tener el mismo asistente. Deberían lanzarse en gráficos diferentes para un mismo símbolo. En general, por supuesto, es más fácil mejorar el principal que empezar otro.

No puedo mejorarlo, es del Mercado.

No puedo usarlo en 2 gráficos porque no encuentro condiciones adecuadas. Abrirá órdenes en 2 direcciones cuando queden 0.

 
Artyom Trishkin:

Bueno, la comprobación es una llamada a una función que devuelve una bandera:

if(!Function_check_open_position(symbol,OP_BUY,magic)) function_open_position(symbol,OP_BUY,Lots,stop_loss,take_profit,magic,comment);
if(!Function_check_open_position(symbol,OP_SELL,magic)) Function_open_position(símbolo,OP_SELL,Lotes,stop_loss,take_profit,magic,comentario);

Aquí, en primer lugar, si necesitamos averiguar si hay una orden siguiendo el código de nuevo, tendremos que llamar a la función una vez más. Y si memorizamos el valor en variables, podemos pasarlo más adelante sin llamar de nuevo a la función. En segundo lugar, es cuestión de gustos, no me gusta hacer construcciones complejas, sobre todo si hay unas cuantas condiciones o se pasan muchos argumentos a una función. Empeora la comprensión del código.
 
Vitalie Postolache:
Sí, mi error salió al hablar de "no inludes", esta característica está sólo en el inluder Trade.mqh.

No hay problema. Cerré con el contrario.

El final se escribe en un abrir y cerrar de ojos, se tarda más en hacer una señal.

en la 4-rka parece ser peor desde este punto de vista....

y esa multidivisa es una belleza, no puedo creer lo que ven mis ojos.

¡BRAVO a los desarrolladores! //la transición por primera vez fue exactamente de 1 día.

 
Tapochun:
En primer lugar, si quieres saber si hay un pedido de nuevo, tendrás que llamar a la función de nuevo. Y si quieres almacenar el valor en variables, puedes pasarlas más adelante sin llamar de nuevo a la función. En segundo lugar, es cuestión de gustos, no me gusta hacer construcciones complejas, sobre todo si hay unas cuantas condiciones o se pasan muchos argumentos a una función. Hace que la comprensión del código sea peor.
A juzgar por la pregunta, no se necesita nada más allí.
 
le0nid2014:

No puedo mejorarlo, es del Mercado.

No puedo usarlo en 2 gráficos porque no encuentro condiciones adecuadas. abrirá órdenes en 2 direcciones cuando quedan 0. necesita 2 direcciones para funcionar

Ya te he dicho cómo implementarlo y cómo abrir órdenes en 2 direcciones. Ya se le ha dicho cómo hacerlo.
 
Artyom Trishkin:
A juzgar por la pregunta, no se necesita nada más allí.
Losproyectos se amplían, hay que intentar pensar en el futuro.
 
Tapochun:
Los proyectos se están ampliando,

Artyom Trishkin:
Debería funcionar en un gráfico, y el segundo -un simple que abre dos posiciones- en el otro. Ya se le ha dicho cómo hacerlo.

No eres un poco inadecuado.Adiós.

 
Tapochun:
Los proyectos se amplían, hay que intentar pensar en el futuro.

Sí, gracias por la ciencia. Me aseguraré de pensar en ello...

ZS. ¿Qué impide entonces devolver la comprobación no en una condición, sino en una variable y ya comprobarla? Probablemente la complejidad más salvaje de este proyecto en el futuro...

Y una cosa más: si el proyecto se amplía, el tiempo de ejecución del código también puede aumentar. Como resultado, habrá muchos cálculos que realizar después de que los datos se escriban en la variable. Entonces, ¿no es posible que cuando necesitemos una segunda comprobación, la orden ya se haya cerrado (en un stop, por ejemplo... o una toma...), y el programa calcule entonces un valor incorrecto almacenado en la variable?

Exactamente, hay que pensar de antemano en los grandes proyectos y en todas las posibles situaciones que pueden darse. Así que me mantengo en mi convicción: ten siempre los datos más recientes justo antes de utilizarlos. En la medida de lo posible.

 

le0nid2014:

Eres un poco inadecuado.Adiós.

¿Me estás hablando a mí? Muy bien, que tengas un buen día. Pero volverás a lo que sugerí al final, uniéndote así a las filas de los inadecuados.