Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 184

 
Taras Slobodyanik:

Gracias.

¿Puedes hacer que el resultado funcione como una suma de pips para todas las posiciones abiertas? Utilizo una librería para trabajar con órdenes y no puedo realizar operaciones de orden sin ella :(

 

Saludos.

¿Puede decirme algo?

OrderSend tiene

datetimeexpiration=0,// fecha de caducidad


¿Cómo puedo configurar la orden para que se elimine después de su apertura, por ejemplo, después de 3 horas o 3 velas del gráfico actual?

 
Andrey Sokolov:

Saludos.

¿Puede decirme algo?

OrderSend tiene

datetimeexpiration=0,// fecha de caducidad


¿Cómo puedo especificar que la orden se elimine después de su apertura, por ejemplo, después de 3 horas o 3 velas del gráfico actual?


Periodo()*3*60

Period()- número de minutos del periodo

3 - número candelabros que necesita

60 segundos en un minuto

Luego lo añadimos a Time[0].

Eso es todo.

 
Cпасиб
 
Alekseu Fedotov:


Periodo()*3*60

Period()- número de minutos del periodo

3 - número velas que quieres

60 segundos en un minuto

Añade al Tiempo[0] lo que obtengas.

Eso es todo.

Desde hace mucho tiempo es posible escribir PeriodSeconds() con el marco de tiempo requerido en lugar de Period()*60

En total, el aspecto es el siguiente:

time_expiratonn=Time_set_order+PeriodSeconds(PERIOD_CURRENT)*número_de_palabras;

O, en lugar del período actual, utilice el número de velas necesario de un marco temporal determinado: PeriodSeconds(PERIOD_M15)*3 es la duración de la orden de tres velas de quince minutos.

 
Andrey Sokolov:

Saludos.

¿Puede decirme algo?

OrderSend tiene

datetimeexpiration=0,// fecha de caducidad


¿Cómo puedo especificar que la orden se elimine después de 3 horas o 3 velas del gráfico actual?

en términos generales - de ninguna manera. Porque los límites son desconocidos. Hay un tiempo mínimo, hay un tiempo máximo, hay restricciones en los tipos de pedidos. No se comunican al cliente, por lo que no se pueden utilizar.

Obviamente, la acción depende del estado de ánimo del DC en cuestión. Así que controle sus propias órdenes :-)

 
Artyom Trishkin:

Desde hace mucho tiempo es posible escribir PeriodSeconds() con el marco de tiempo requerido en lugar de Period()*60

En total resulta lo siguiente:

time_expiratonn=Time_set_order+PeriodSeconds(PERIOD_CURRENT)*número_de_velas;

O, en lugar del período actual, podemos utilizar el número de velas de un determinado marco temporal: PeriodSeconds(PERIOD_M15)*3 es la duración de la orden de tres velas de quince minutos.


Gracias.
 

El tema se ha discutido muchas veces, pero voy a pedir una explicación.


Decidí escribir un indicador, lo hice y lo ejecuté en m5, incluso funciona y muestra algo.

Mis problemas empezaron cuando decidí instalar en paralelo un re-snap de otra época en el m5

¿Cómo hacer que muestre los datos de diferentes TFs en una ventana?

 

Hola ...


La función OrderSelect() copia los datos del pedido en el entorno del software ...Cuando las órdenes se seleccionan secuencialmente utilizando el parámetro SELECT_BY_POS, la información se da en el orden en que se recibió del servidor de operaciones ...= He oído que las órdenes también se pueden buscar en orden inverso, ¿puede decir un "dummie" cómo mostrar esto en el código MQL4 ...

 
Yaroslav Nykula:

Hola ...


La función OrderSelect() copia los datos del pedido en el entorno del software ...Cuando las órdenes se seleccionan secuencialmente utilizando el parámetro SELECT_BY_POS, la información se da en el orden en que se recibió del servidor de operaciones ...= He oído que las órdenes también se pueden buscar en orden inverso, ¿podría decir un "tonto" cómo mostrar esto en el código MQL4 ...

Buscar por abierto

  for(int i=0; i<OrdersTotal(); i++) {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

Búsqueda inversa por cerrado

 for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
  if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
Razón de la queja: