Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 123

 

¿Cómo puedo añadir un valor a la condición de compra/venta si el indicador RVI por ejemplo: cuando dos líneas se cruzan abre una orden de compra/venta, pero quiero que no sea sólo un cruce, sino que el cruce sea superior a 0 Valor?

MM y MS son líneas indicadoras de RVI

  if (MM > MS && MoM < MS && MoM < MM)
   {
    OrderSend(_Symbol, OP_BUY, Lot, Ask, 3, Ask-SL*Point, Ask+TP*Point, "", Magic, 0, Red);
   }
  if (MM < MS && MoM > MS && MoM > MM)
   {
    OrderSend(_Symbol, OP_SELL, Lot, Bid, 3, Bid+SL*Point, Bid-TP*Point, "", Magic, 0, Red);
   }


 

¡Hola !

¿Pueden decirme cómo utilizar la etiqueta obj para mostrar una cadena de más de 64 caracteres?

 
Игорь:

¡Hola !

¿Pueden decirme cómo utilizar la etiqueta obj para mostrar una cadena de más de 64 caracteres?

Dos etiquetas de objetores de conciencia, una al lado de la otra. La izquierda se alinea con el borde derecho, la derecha con el izquierdo

 
novichok2018:

¿Puede explicar esta línea de su código:OrderInfo arrstBuyOrderInfo[MAX_ORDERS_CNT], arrstSellOrderInfo[MAX_ORDERS_CNT];¿Por quéOrderInfo no tiene paréntesis ni tipo?

OrderInfo es un tipo de datos. Al igual que int, double, etc. En este caso OrderInfo es una estructura. He dado un ejemplo de su declaración en mi postde cierre de posiciones? ¿Dónde? ¿Y tal vez la función de cierre de posiciones con arrays debería ser diferente? Es un poco complicado para mí. Gracias.

Hasta ahora sólo hemos considerado la primera tarea: la recopilación de información sobre las órdenes de trabajo. La generación de señales comerciales y la ejecución de acciones comerciales son las tareas 2 y 3, respectivamente. Todavía no hemos llegado a ellos.

La idea de la recopilación de información es no tener que volver a repasar toda la lista de pedidos a cada "estornudo". En un EA correctamente escrito, esta acción se realiza sólo una vez por iteración. Más adelante, sólo trabajamos con los datos creados.

Вопросы от начинающих MQL4 MT4 MetaTrader 4
Вопросы от начинающих MQL4 MT4 MetaTrader 4
  • 2018.02.13
  • www.mql5.com
Если у Вас вопросы по MQL4, MT4, MetaTrader 4, пожалуйста пишите в этой теме. Особенно когда вопросы касаются торговых функций...
 
Aleksey Rodionov:

¿Cómo puedo añadir un valor a la condición de compra/venta si el indicador RVI por ejemplo: cuando dos líneas se cruzan abre una orden de compra/venta, pero quiero que no sea sólo un cruce, sino que el cruce sea superior a 0 Valor?

MM y MS son líneas indicadoras de RVI


El valor de ambas líneas debe compararse con cero. ¿No es así?

Y no está claro qué es el MdM.

 

hay esta línea de MQL5, el compilador de MQL4 se queja de ella, ¿cómo se puede reescribir?

//--- set new color
   m_pixels[y*m_width+x]=(r<<16|g<<8|b<<0|255<<24) &0xffffffff;

//check operator precedence for possible error; use parentheses to clarify precedence   Canvas.mqh
 
Ihor Herasko:

OrderInfo es un tipo de datos. Como int, double, etc. En este caso OrderInfo es una estructura. He dado un ejemplo de su declaración en mi posthttps://www.mql5.com/ru/forum/160587/page121#comment_6556328.

He entendido bien su ejemplo: La directiva #define sustituirá el número 500 en todos los lugares donde se encuentre MAX_ORDERS_CNT ? ¿Y por qué hay que asignar un tipo a un número?

¿Y por qué no podemos simplemente especificar extern int cnt=500 ? Y entonces habrá OrderInfo arrstOrderInfo[cnt], arrstBuyOrderInfo[cnt], arrstSellOrderInfo[cnt]; ?


Además: en tu post de la p122 no me queda claro qué es&arrstOrderInfo[],&nOrdersCnt y.n? Perdona si mis preguntas parecen tontas, tal y como están las cosas, estoy intentando averiguarlo más por mi cuenta, aunque estoy teniendo una mala experiencia.

 

Buenas tardes

Por favor, ayúdenme a actualizar mi indicador

Necesito añadir 2 buffers, el indicador "nativo" dibuja una flecha (arriba o abajo) en la identificación del hueco y da una señal en el buffer 6 o 7

Me gustaría tener un buffer 8 y 9 donde en la señal de brecha +1 (arriba) o -1 (abajo) 0 en la ausencia de

Intenté hacerlo yo mismo, pero nada funciona, no tengo conocimientos de programación

Archivos adjuntos:
 
novichok2018:

¿He entendido bien su ejemplo? La directiva #define sustituirá el número 500 siempre que se encuentre MAX_ORDERS_CNT ? ¿Y por qué hay que asignar un tipo a un número?

Sí. Y tenga en cuenta que se sustituirá en la fase de compilación y no durante la ejecución del programa.

¿Y por qué no se puede especificar extern int cnt=500 ? Y entonces habrá OrderInfo arrstOrderInfo[cnt], arrstBuyOrderInfo[cnt], arrstSellOrderInfo[cnt]; ?

No, porque int cnt es la declaración de una variable. Y una variable puede cambiar su valor mientras se ejecuta el programa. Y la memoria del array estático no se asigna durante la ejecución del programa. El tamaño de la memoria debería conocerse ya en la fase de compilación. Para cambiar el tamaño del array durante la ejecución del programa, es necesario utilizar un array dinámico. Esto se hace más adelante, cuando te acostumbras a los arrays estáticos.

Además: en tu post de la p122 no me queda claro qué es&arrstOrderInfo[],&nOrdersCnt y.n? Perdona si mis preguntas parecen tontas, yo también intento entenderlas, pero no soy muy bueno.

Voy a simplificar un poco la respuesta para evitar confusiones. El signo (&) indica que el argumento de la función puede cambiar su valor en tiempo de ejecución y volverá al lugar desde donde se llamó a la función, con un valor diferente. En el caso que nos ocupa, la función SaveOrder puede modificar el contenido de las matrices g_arrstBuyOrderInfo y g_arrstSellOrderInfo, así como las variables g_nBuyOrdersCnt y g_nSellOrdersCnt.

 

¡Hola !

¿Me pueden decir cómo repintar las barras sin usar plantillas en mt4?

¿O cómo aplicar una combinación de colores?