Ayuda Time EA

 

Publi

Time EA

 

Publi

Resultados 1 al 5 de 5


  1. #1
    Avatar de Armando



    Reputación:
    Poder de reputación: 13

    Espana
    Mensajes: 191
    Créditos: 3.805

    Time EA


    Publi
    Hola compis, estoy trasteando con uno de mis robots, y estoy intentando que me cierre las operaciones si pasan 10 minutos(x ejemplo) después de abiertas dichas operaciones pero hasta ahora no funciona, en backtesting dice que la cierra a media hora, lo activo y me abre y cierra infinidad de operaciones.

    mi código es :

    Código:
    datetime minuto = Tiempo;
    for(int z=_OrdersTotal-1; z>=0; z --)
         {
          if(!OrderSelect(z,SELECT_BY_POS))
            {
             _GetLastError=GetLastError();
             Print("OrderSelect( ",z,", SELECT_BY_POS ) - Error #",
                   _GetLastError);
             continue;
            }
          if(OrderType()==OP_BUY)
            {
             if(OrderOpenTime()>=TimeMinute(minuto))
               {
                if(!OrderClose(OrderTicket(),OrderLots(),Bid,5,Green))
                  {
                   _GetLastError=GetLastError();
                   Alert("Error al cerrar la posición",_GetLastError);
                   return(-1);
                  } 
               }
             else
               { 
               return(0);
                }
    Como veis , lo he intentando hacer poniendo de base el momento de en que se abre la operación y después he añadido el TimeMinute(). ¿ Alguno sabe porque no me realiza correctamente el cierre?
    Foro de Forex Trading United

  2. Publi
    Publi


  3. #2
    Avatar de Armando



    Reputación:
    Poder de reputación: 13

    Espana
    Mensajes: 191
    Créditos: 3.805

    Re: Time EA

    Cita Iniciado por losja Ver mensaje
    No entiendo muy bien qué necesitas pero puede que el problema venga de aquí:

    // tú código
    if(OrderOpenTime()>=TimeMinute(minuto))

    // la corrección (caso de que quieras 10 minutos)
    if(OrderOpenPrice()+600<=TimeMinute(minuto))
    Gracias por la respuesta compi, pues lo que necesito es que pasados 10minutos las operaciones se cierren, estén en ganancias o perdidas independientemente. He probado lo que has puesto, pero en el backtest me aparece lo de siempre, me cierra las operaciones 30 minutos justo, no 10.
    Foro de Forex Trading United

  4. #3




    Reputación:
    Poder de reputación: 8

    Espana
    Mensajes: 9
    Créditos: 121

    Re: Time EA

    Perdóname, acabo de leer la correccción que te he mandado y está pero que muy mal...

    La corrección sería la siguiente:

    if(OrderOpenTime()+600<=TimeCurrent())

    No obstante, ten en cuenta que en el Probador de Estrategias si no hay al menos un tick que su hora sea 10 minutos después de la hora de apertura de la orden, pues la orden se cerrará en el primer tick que su hora sea superior a esos 10 minutos.

    ¿No estarás usando periodo de 30 minutos y como tipo de modelado "Solo precios de apertura"?

    Las estrategias que utilizan horas específicas en la mayoría de los casos no pueden ser probadas en el Probador de Estrategias, puesto que los resultados no se van a ajustar a la realidad. Te recomiendo que hagas las pruebas en vivo con una versión de prueba de la plataforma.
    Foro de Forex Trading United

  5. #4




    Reputación:
    Poder de reputación: 8

    Espana
    Mensajes: 9
    Créditos: 121

    Re: Time EA

    No entiendo muy bien qué necesitas pero puede que el problema venga de aquí:

    // tú código
    if(OrderOpenTime()>=TimeMinute(minuto))

    // la corrección (caso de que quieras 10 minutos)
    if(OrderOpenPrice()+600<=TimeMinute(minuto))
    Foro de Forex Trading United

  6. #5
    Avatar de Armando



    Reputación:
    Poder de reputación: 13

    Espana
    Mensajes: 191
    Créditos: 3.805

    Re: Time EA


    Publi
    Cita Iniciado por losja Ver mensaje
    Perdóname, acabo de leer la correccción que te he mandado y está pero que muy mal...

    La corrección sería la siguiente:

    if(OrderOpenTime()+600<=TimeCurrent())

    No obstante, ten en cuenta que en el Probador de Estrategias si no hay al menos un tick que su hora sea 10 minutos después de la hora de apertura de la orden, pues la orden se cerrará en el primer tick que su hora sea superior a esos 10 minutos.

    ¿No estarás usando periodo de 30 minutos y como tipo de modelado "Solo precios de apertura"?

    Las estrategias que utilizan horas específicas en la mayoría de los casos no pueden ser probadas en el Probador de Estrategias, puesto que los resultados no se van a ajustar a la realidad. Te recomiendo que hagas las pruebas en vivo con una versión de prueba de la plataforma.

    Con Razón no me daba nunca los resultados, justo uso el modo que has dicho " solo precios de apertura y 30 min TF" quizás por so nunca me daba el resultado deseado, aunque lo probé en real y me cerraba las operaciones al segundo, de todos modos, probaré como has comentado y el domingo lo pruebo en real.

    EDIT: lo he probado a "cada tick" y efectivamente me cierra las operaciones cada 10 minutos perfectamente ( en el tester).¿ Se supone que en real , aunque la temporalidad esté a 30 minutos, debería de cerrarme las operaciones cada 10 minutos no?

    Gracias compañero, si no me lo llegas a decir, pensaría que nunca lo estaría haciendo bien

    Un saludo y gracias!
    Foro de Forex Trading United
    Última edición por Armando; 02:05 a las


This website uses cookies
Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarle publicidad personalizada a través del análisis de su navegación. Si continúa navegando acepta su uso. Más información y política de cookies.
     

 

Publi


Aviso Legal
Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal