Carteras Blog        Login      Registrarse        

Síguenos en:   RSS   Facebook  Twitter   Linkedin   

Resultados 1 al 21 de 21
Like Tree1Likes
  • 3 Post By especulator

Tema: Pequeños scripts

Ver modo hilado

Mensaje anterior Mensaje anterior   Próximo mensaje Próximo mensaje
  1. #2
    Master del Universo Avatar de especulator
    Fecha de ingreso
    09 nov, 12
    Ubicación
    Ontinyent (Valencia)
    Mensajes
    765
    Thanks
    10
    Thanked 147 Times in 111 Posts
    Poder de reputación
    5

    Re: Pequeños scripts

    Empezamos por uno que lo que hace es cerrar todas las posiciones abiertas y las pendientes.

    Tal cual está solo hay que copiar y pegar en el MetaEditor y darle a compilar, ccon lo que nos creará el archivo mt4 que será el que hay que poner dentro de la carpeta MQL4/Experts.
    Código:
    //+------------------------------------------------------------------+
    //|                                                  Cerrar_todo.mq4 |
    //+------------------------------------------------------------------+
    
    #property copyright "Elverge"
    #property version   "1.00"
    
    extern int     num_magic =                    0; // SI TENEMOS MAS DE UN ROBOT, HAY QUE CAMBIAR EL NUMERO MÁGICO
    extern bool    Tancar =                   false; // CUANDO QUERAMOS CERRAR LAS POSICIONES SE CAMBIA POR VERDADERO
    
    int start() 
    {
       if (Tancar == true)
       {
          Tancar();
          return (0);
       }
    }
    
    int Tancar()
    {
       int total = OrdersTotal();
       for(int i=total-1;i>=0;i--)
       {
          OrderSelect(i, SELECT_BY_POS,MODE_TRADES);
          if ( OrderMagicNumber() == num_magic)
          {    
             int type   = OrderType();
             bool result = false;
             switch(type)
             {
                //CIERRA COMPRAS
                case OP_BUY       : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 0, CLR_NONE );
                                   break;
                //CIERRA VENTAS
                case OP_SELL      : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 0, CLR_NONE );
                                   break;
                //CIERRA ORDENES PENDIENTES
                case OP_BUYLIMIT  :
                case OP_BUYSTOP   :
                case OP_SELLLIMIT :
                case OP_SELLSTOP  : result = OrderDelete( OrderTicket() );
             }
        
             if(result == false)
             {
                Alert("Order " , OrderTicket() , " fallo al cerrar. Error:" , GetLastError() );
                Sleep(3000);
             }  
          }
       }
      
      return(0);
    }
    Última edición por especulator; 28/05/2015 a las 04:53

  2. The Following User Says Thank You to especulator For This Useful Post:

    LeoCV (27/05/2015)

Información de tema

Usuarios viendo este tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •