EA MT4 Cómo hago que mi EA limite la apertura de ordenes por dia?

 

Publi

Cómo hago que mi EA limite la apertura de ordenes por dia?

 

Publi

Resultados 1 al 6 de 6


  1. #1
    Avatar de tivag
    antecessor


    Reputación:
    Poder de reputación: 17

    Espana
    Mensajes: 659
    Créditos: 5.114

    Re: Cómo hago que mi EA limite la apertura de ordenes por dia?


    Publi
    Cita Iniciado por Nelson Pineda Ver mensaje
    Maestro tivag, muchas gracias. Le envío un ejemplo del código por acá para seguir sus indicaciones. He intentado escribirlo de un lado y del otro y de aca para alla. Donde puedo colocar el código que me ha sugerido?

    hola de maestro nada , ojala lo fuese... tienes que ponerlo en la parte que te convenga , pues ten en cuenta que eso solo lo va a realizar una vez al dia, por ejemplo si quieres que te haga un analisis al dia pues lo pones antes del analisis, en tu caso como lo que quieres es que solo sea una compra al dia pues ponerlo delante de donde lanzas la orden de apertura, declarando en la parte superior la variable int Today2 = -1;

    "
    if((iBands(NULL,PERIOD_M15,14,0,1,PRICE_OPEN,MODE_ LOWER,1)>iMA(NULL,0,9,1,MODE_EMA,PRICE_OPEN,1))) //apertura de orden Buy
    {
    if (DayOfWeek() != Today2)
    {
    Today2 = DayOfWeek();
    result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage ,0,0,"EA1",MagicNumber,0,Blue);
    if(result>0)
    {
    TheStopLoss=0;
    TheTakeProfit=0;
    if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
    if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
    OrderSelect(result,SELECT_BY_TICKET);
    OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(TheStopLoss,Digits),NormalizeDouble(TheTa keProfit,Digits),0,Green);
    }
    return(0);
    }
    }

    }
    }"

    saludos y espero que te sirva
    Foro de Forex Trading United

  2. Publi
    Publi


  3. #2




    Reputación:
    Poder de reputación: 9

    Francia
    Mensajes: 1
    Créditos: 12

    Re: Cómo hago que mi EA limite la apertura de ordenes por dia?

    Cita Iniciado por tivag Ver mensaje
    hola lo podrias hacer de la siguiente manera:

    int Today2 = -1;

    {
    if (DayOfWeek() != Today2)
    {
    Today2 = DayOfWeek();
    "lo que quieras"();

    }
    }

    esto te hara que una vez al dia te ejecute "lo que tu quieras".

    espero que te sirva

    saludos

    avoid Sunday, means DayOfWeek() == 0
    bcoz there is no volume

    evitar Domingo , significa DayOfWeek () == 0
    bcoz no hay volumen
    Foro de Forex Trading United

  4. #3
    Avatar de tivag
    antecessor


    Reputación:
    Poder de reputación: 17

    Espana
    Mensajes: 659
    Créditos: 5.114

    Re: Cómo hago que mi EA limite la apertura de ordenes por dia?

    Cita Iniciado por Nelson Pineda Ver mensaje
    Hola, compañeros. He estado buscando la forma de como hacer que mi EA limite la apertura de ordenes al dia. Quiero que abra solo una cada dia, pero no he resuelto cómo. Necesito la opinión de un experto. Me pueden ayudar?
    hola lo podrias hacer de la siguiente manera:

    int Today2 = -1;

    {
    if (DayOfWeek() != Today2)
    {
    Today2 = DayOfWeek();
    "lo que quieras"();

    }
    }

    esto te hara que una vez al dia te ejecute "lo que tu quieras".

    espero que te sirva

    saludos
    Foro de Forex Trading United

  5. #4
    Avatar de Nelson Pineda
    habilis


    Reputación:
    Poder de reputación: 11

    El Salvador
    Mensajes: 29

    Re: Cómo hago que mi EA limite la apertura de ordenes por dia?

    Excelente. Lo pruebo a la brevedad posible, Muchas gracias por su generosidad, compañero.

    Reputación
    Foro de Forex Trading United

  6. #5
    Avatar de Nelson Pineda
    habilis


    Reputación:
    Poder de reputación: 11

    El Salvador
    Mensajes: 29
    Créditos: 258

    Re: Cómo hago que mi EA limite la apertura de ordenes por dia?

    Maestro tivag, muchas gracias. Le envío un ejemplo del código por acá para seguir sus indicaciones. He intentado escribirlo de un lado y del otro y de aca para alla. Donde puedo colocar el código que me ha sugerido?

    //+------------------------------------------------------------------+
    extern int MagicNumber=01;
    extern double Lots =0.1;
    extern double StopLoss=100;
    extern double TakeProfit=150;
    extern int TrailingStop=80;
    extern int Slippage=3;
    //+------------------------------------------------------------------+
    // EA1 start function
    //+------------------------------------------------------------------+
    int start()
    {
    double MyPoint=Point;
    if(Digits==3 || Digits==5) MyPoint=Point*10;

    double TheStopLoss=0;
    double TheTakeProfit=0;
    if( TotalOrdersCount()==0 )
    {
    int result=0;
    if((iBands(NULL,PERIOD_M15,14,0,1,PRICE_OPEN,MODE_LOWER,1)>iMA(NULL,0,9,1,MODE_EMA,PRICE_OPEN,1))) //apertura de orden Buy
    result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage ,0,0,"EA1",MagicNumber,0,Blue);
    if(result>0)
    {
    TheStopLoss=0;
    TheTakeProfit=0;
    if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
    if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
    OrderSelect(result,SELECT_BY_TICKET);
    OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(TheStopLoss,Digits),NormalizeDouble(TheTa keProfit,Digits),0,Green);
    }
    return(0);
    }
    }

    for(int cnt=0;cnt<OrdersTotal();cnt++)
    {
    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
    if(OrderType()<=OP_SELL &&
    OrderSymbol()==Symbol() &&
    OrderMagicNumber()==MagicNumber
    )
    {
    if(OrderType()==OP_BUY)
    {
    if(TrailingStop>0)
    {
    if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)
    {
    if(OrderStopLoss()<Bid-MyPoint*TrailingStop)
    {
    OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);
    return(0);
    }
    }
    }
    }
    else
    {
    if(TrailingStop>0)
    {
    if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))
    {
    if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))
    {
    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+MyP oint*TrailingStop,OrderTakeProfit(),0,Red);
    return(0);
    }
    }
    }
    }
    }
    }
    return(0);
    }

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

    }
    return (result);
    }
    //+---------------------------------------------------+
    Foro de Forex Trading United
    Última edición por Nelson Pineda; 20:17 a las


  7. #6
    Avatar de Nelson Pineda
    habilis


    Reputación:
    Poder de reputación: 11

    El Salvador
    Mensajes: 29
    Créditos: 258

    Cómo hago que mi EA limite la apertura de ordenes por dia?


    Publi
    Hola, compañeros. He estado buscando la forma de como hacer que mi EA limite la apertura de ordenes al dia. Quiero que abra solo una cada dia, pero no he resuelto cómo. Necesito la opinión de un experto. Me pueden ayudar?
    Foro de Forex Trading United

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