Cierre de operaciones por tiempo.

 

Hola compañeros. Espero que todos estéis estupendamente


Me gustaría añadir a un Asesor Experto cierres por tiempo.

Es decir, pasan unas horas, la cosa no va bien, y entonces se cierra. No por pips con un SL convencional, sino por tiempo.


¿Alguno de vosotros usa criterios temporales en sus asesores expertos o en su estrategia discrecional? 

Un poco de ayuda en este sentido sería muy útil para mi. ¿Qué criterios aplicáis?


Muchas gracias de antemano

 

Buenas!

Me uno a la consulta.

Alguien me puede compartir el código de un MT4 donde se programe el cierre del trade, transcurridas X velas luego de ser abierto el trade.

Muchas gracias...

 
Enrique Enguix Vino:

Hola compañeros. Espero que todos estéis estupendamente


Me gustaría añadir a un Asesor Experto cierres por tiempo.

Es decir, pasan unas horas, la cosa no va bien, y entonces se cierra. No por pips con un SL convencional, sino por tiempo.


¿Alguno de vosotros usa criterios temporales en sus asesores expertos o en su estrategia discrecional? 

Un poco de ayuda en este sentido sería muy útil para mi. ¿Qué criterios aplicáis?


Muchas gracias de antemano

F.Black #:

Buenas!

Me uno a la consulta.

Alguien me puede compartir el código de un MT4 donde se programe el cierre del trade, transcurridas X velas luego de ser abierto el trade.

Muchas gracias...

************

 
David Diez #:

************

David, tio...en serio?

En otro hilo preguntando a un usuario sobre el broker y en este spameando productos del Market.

Lo siento mucho, pero a la próxima te meto ban.

Lee las normas (2017): https://www.mql5.com/es/forum/205039

 
Enrique Enguix Vino:

Hola compañeros. Espero que todos estéis estupendamente


Me gustaría añadir a un Asesor Experto cierres por tiempo.

Es decir, pasan unas horas, la cosa no va bien, y entonces se cierra. No por pips con un SL convencional, sino por tiempo.


¿Alguno de vosotros usa criterios temporales en sus asesores expertos o en su estrategia discrecional? 

Un poco de ayuda en este sentido sería muy útil para mi. ¿Qué criterios aplicáis?


Muchas gracias de antemano

Hola, 

Espero les sirva esta idea. 

//+------------------------------------------------------------------+
//|                                                       Prueba.mq5 |
//|                                                Simón Del Vecchio |
//|                    https://www.mql5.com/es/users/simondelvecchio |
//+------------------------------------------------------------------+
#property copyright "Simón Del Vecchio"
#property link      "https://www.mql5.com/es/users/simondelvecchio"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Includes                                                         |
//+------------------------------------------------------------------+
#include <Trade\SymbolInfo.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#include <Trade\AccountInfo.mqh>
//+------------------------------------------------------------------+
//| Objetos                                                          |
//+------------------------------------------------------------------+
CSymbolInfo Info;
CTrade Trade;
CPositionInfo Posicion;
CAccountInfo Cuenta;
//+------------------------------------------------------------------+
//| Inputs                                                           |
//+------------------------------------------------------------------+
input double Valor = 20;
//+------------------------------------------------------------------+
//| Variables globales                                               |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| Función de inicialización del EA                                 |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   EstrategiaDeEntrada();
   EstrategiaDeSalida();
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void EstrategiaDeEntrada()
  {
   /*
   Código de la estrategia de entrada
   */
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void EstrategiaDeSalida()
  {
   for(int i = PositionsTotal() - 1; i >= 0; i--)
     {
      Posicion.SelectByIndex(i);
      datetime Fecha1 = Posicion.Time();//Fecha de apertura de la posición seleccionada
      datetime Fecha2 = TimeCurrent();//Fecha y hora actual
      MqlDateTime str1, str2;//Estructuras para capturar Mes, día, hora,...
      TimeToStruct(Fecha1, str1);
      TimeToStruct(Fecha2, str2);
      //Por ejemplo, si el profit es menor a valor y ya han  pasado dos horas, cerrar la posición. 
      if(Cuenta.Profit() < Valor && str2.hour - str1.hour > 2)
        {
         Trade.PositionClose(Posicion.Ticket(), -1);
        }
     }
  }
//+------------------------------------------------------------------+

Saludos...

 
Antonio Simon Del Vecchio #:

Hola, 

Espero les sirva esta idea. 

Saludos...

Hola Antonio, muchas gracias.

Pero mi pregunta iba por otro lado. En uno de mis sistemas, hemos comprobado como por lo general, cuando un trade no se cierra en menos de X horas, muy probablemente ya no se cierre satisfactoriamente.

En este caso obtenemos X hora como un valor optimizable. Pero me gustaría saber, qué determina ese valor. Probablemente la naturaleza misma del mercado. Me gustaría saber cómo poder determinar ese valor sin tener que optimizar el EA. 

En un primer momento pensé que tal vez estaba relacionado con niveles, y que al ir más allá de un soporte no solía regresar.

Como cada sistema es un mundo, quería ver si otra gente usaba el tiempo como un elemento de cierre de operaciones, y con qué lo correlacionaba: niveles, indicadores,...

En la parte técnica de codificación (en este caso) no tengo problemas
Razón de la queja: