Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1111

 

Hola a todos.

Me pueden ayudar a hacer una condición al abrir una orden, para que se abra sólo si la hora actual (exacta al minuto) no es igual a la hora de cierre de la última orden.

Aquí está la construcción:

int accTotal=Total de pedidos();

if(OrderSelect(accTotal-1,SELECT_BY_POS,MODE_HISTORY)==true) {

datetime ctm=OrderCloseTime();

}

...

y luego la condición de abrir una orden

if(.....&&(TimeCurrent()!=ctm)){

ticket=OrderSend(.....);

}

Pero, por supuesto, no funciona porque TimeCurrent() devuelve el tiempo con una precisión de un segundo, y necesito hasta un minuto porque comercio en barras de un minuto y en las fluctuaciones bruscas del mercado incluso durante un minuto el precio puede ir cientos de puntos y esto a menudo no es en mi dirección. Por eso necesito que se abra una sola orden en un minuto.

 
ev85:

Hola a todos.

Me pueden ayudar a hacer una condición al abrir una orden, para que se abra sólo si la hora actual (con precisión de un minuto) no es igual a la hora de cierre de la orden anterior.


Por supuesto, no funciona porque TimeCurrent() devuelve el tiempo con una precisión de un segundo, y yo necesito hasta un minuto. Dado que opero con indicadores de minutos y con fluctuaciones bruscas del mercado, incluso en un minuto el precio puede ir cientos de puntos y no siempre puede ir en mi dirección. Por eso necesito que se abra una sola orden en un minuto.

HoraHora(),HoraMinuto().
 
ev85:

Hola a todos.

Me pueden ayudar a hacer una condición al abrir una orden, para que se abra sólo si la hora actual (exacta al minuto) no es igual a la hora de cierre de la última orden.

Aquí está la construcción:

int accTotal=Total de pedidos();

if(OrderSelect(accTotal-1,SELECT_BY_POS,MODE_HISTORY)==true) {

datetime ctm=OrderCloseTime();

}

...

y luego la condición de abrir una orden

if(.....&&(TimeCurrent()!=ctm)){

ticket=OrderSend(.....);

}

Pero, por supuesto, no funciona porque TimeCurrent() devuelve el tiempo con una precisión de un segundo, y necesito hasta un minuto porque comercio en barras de un minuto y en las fluctuaciones bruscas del mercado incluso durante un minuto el precio puede ir cientos de puntos y esto a menudo no es en mi dirección. Por eso necesito que se abra una sola orden en un minuto.

   datetime t=0;
   int  ticket;

   for(int i=0; i<OrdersHistoryTotal(); i++) 
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) 
        {
         if(OrderSymbol()==Symbol()) 
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL) 
              {
               if(t<OrderCloseTime()) t=OrderCloseTime();
              }
           }
        }
     }
   if(TimeCurrent()-t>60)   //Ecли после закрытия последней поз > 60 секунд, то открываемся
       ticket=OrderSend(.....);
Algo así
 
¿Cómo determinar la tendencia en MQL4 de forma inteligente?
 
Cei¿Cómo determinar la tendencia en MQL4?

Hay muchas maneras: busque los indicadores de tendencia en CodeBase. Diferenciar una media móvil, tomar un coeficiente de regresión lineal, ... pero para mi gusto es mejor coger las reversiones

Hice clic en la parte superior de esta página Code Base. He introducido un indicador de tendencia en el cuadro de búsqueda. Como dijo Mayakovskiy, todos estos indicadores son buenos, pero no hay diferencia. Aquí hay un enlace a uno de ellos. He investigado un poco más y he leído: Un buen Asesor Experto ... debería dar una recomendación:"No entrar en el mercado".

 
Cei:
¿Cómo determinar la tendencia en MQL4?

Espere a que una inversión, declarar - había una tendencia allí ))))

No hay otra manera. La tendencia se define en el pasado, como las ondas, como los fractales, como los zigzags.

 

Amigos, ¿hay alguna función para prohibir el comercio?

Lo necesito para un ciclo pequeño:

para (proporcionado; sin comercio; hasta que se cierren todas las órdenes actuales)

 
ev85:

Amigos, ¿hay alguna función para prohibir el comercio?

Lo necesito para un ciclo pequeño:

para (proporcionado; sin comercio; hasta que se cierren todas las órdenes actuales)

Total de pedidos()
 
La tarea es la siguiente.

Necesito ejecutar el indicador en todos los 9 marcos temporales para 100 símbolos de Market Watch y emitir el resultado como una tabla.
¿Necesito mantener 900 gráficos abiertos o no, para que el historial esté bombeado y actualizado?
 
RickD:
La tarea es la siguiente.

Necesito ejecutar el indicador en todos los 9 marcos temporales para 100 símbolos de Market Watch y emitir el resultado como una tabla.
Para que el historial sea relevante, ¿debo mantener abiertos los 900 gráficos o no?

No, con 100 gráficos es suficiente, pero, hay que escribir el indicador correctamente.

Razón de la queja: