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

 
Andrey Sokolov #:

Feliz Año Nuevo para ti también. ¿Qué ha hecho usted mismo que no funciona?

Tengo un tipster montado y funcionando.

La cuestión es si hay que detenerlo o suspenderlo. Acabo de empezar a indagar en esta dirección.

Mi entendimiento es el siguiente:

int OnInit()
  {
Start          = TimeCurrent();
MaxMartinLot   = Lot*MathPow(1.4,OrdersClose);
MaxMartinLot2  = Lot*MathPow(K_Martin2,OrdersClose2);

el Asesor Experto se inicia en cualquier momento.

más:

void OnTick()
  {
// Получим значение индикатора
   dMA = iMA(Symbol(), 0,PeriodMA, MovingShift, MODE_SMA, PRICE_CLOSE, 0); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.

// Если нет открытых ордеров, то входим в условие
      if(CountOrders()==0)
     {
// Если появился сигнал на покупку, то откроем ордер на покупку
      if(bSignalBuy() == true)
         vOrderOpenBuy();

// Если появился сигнал на продажу, то откроем ордер на продажу
      if(bSignalSell() == true)
         vOrderOpenSell();
     }

resulta que, en cuantoCountOrders()==0&& (OrderLots()>=Lotcontrol)- "se ha alcanzado el lote establecido".

Necesito detener/parar el envío de la señalbSignalBuy/bSignalSelldurante N horas/días

resulta que necesito compararTimeCurrent() con algún parámetro, como TimeControl (el nombre no importa)

y si TimeCurrent()>=TimeControl- entonces bSignalBuy/bSignalSell va de nuevo.

Ya pregunté por (Dormir) me dijeron que no es recomendable parar el proceso.

La pregunta no es qué no puedo hacer, sino si estoy pensando correctamente y qué función debo utilizar para describir TimeControl.

 
законопослушный гражданин #:

Tengo un tipster montado y funcionando.


   input int HourPause  = 1;        // Пауза в часах
   datetime  Start      = 0;
//----------------------------------------------------
   // выключаем торговлю
   if (OrderLots()>=Lotcontrol)
     {
      Start=TimeCurrent()+(HourPause*60*60));
     }
// Если нет открытых ордеров, то входим в условие
      if(CountOrders()==0&&Start<=TimeCurrent())
 

Tretyakov Rostyslav #:

Gracias.

Empecé a pensar así:

Si (TimeCurrent() >=(OrderCloseTime() + (Pause*60*60))

¿está esto mal?

 
законопослушный гражданин #:

Gracias.

Empecé a pensar así:

Si (TimeCurrent() >=(OrderCloseTime() + (Pause*60*60))

¿está esto mal?

Tú también puedes hacerlo.
 
Tretyakov Rostyslav #:
Esto también es posible

Pero primero hay que seleccionar el último pedido a través de if(OrderSelect()-¿verdad?

 
законопослушный гражданин #:

Pero primero hay que seleccionar el último pedido a través de if(OrderSelect()-¿verdad?

 

¿Pueden decirme si existe alguna solución preparada para el cierre FIFO? Sólo he encontrado para MT5.

En el caso de MT4 el tiempo de apertura pendiente es igual a su tiempo de activación o de ajuste?

 
leonerd #:

¿Pueden decirme si existe alguna solución preparada para el cierre FIFO? Sólo he encontrado para MT5.

Para MT4 el tiempo de apertura pendiente es igual a su tiempo de activación o instalación?

No está pendiente después de la activación.

¿Qué es el FIFO?

 
Tretyakov Rostyslav #:

Una vez activada, deja de estar pendiente.

¿Qué es el FIFO?

FIFO = Fist Input Fist Output - First In First Out Salir en el mismo orden de entrada = Cola

FILO = Primera Entrada Última Salida - Primera Entrada Última Salida Salida en orden inverso = Pila

 
a007 #:

FIFO = Fist Input Fist Output - First In First Out Salir en el mismo orden de entrada = Cola

FILO = Primera Entrada Última Salida - Primera Entrada Última Salida Salida en orden inverso = Pila

Ni siquiera he oído hablar de él...