Asesores Expertos: MA Trend

 

MA Trend:

Sistema comercial a base del indicador iMA (Moving Average, MA).

MA Trend

Autor: Vladimir Karputov

 

Hola Vladimir.

¿Puedes añadir sólo botones de Compra y sólo de Venta a este Asesor Experto?

Gracias.

 
Shara1:

Hola, Vladimir.

¿Puedes añadir sólo botones de Compra y sólo de Venta a este Asesor Experto?

Gracias.

Por supuesto, puede modificar el código a su discreción y añadir cualquier control basado en la clase de creación del panel de diálogo CDialog.

 
Vladimir Karputov:

Por supuesto, puedes modificar el código como desees y añadir cualquier control basado en la clase de creación de paneles de diálogo CDialog.

Gracias. Este es un bosque oscuro para mí. Soy un completo cero en programación.

 
Shara1:

Hola, Vladimir.

¿Puedes añadir sólo botones de Compra y sólo de Venta a este Asesor Experto?

Gracias.

Aquí está la segunda versión de MA Trend 2:

... añadido el parámetro Type traiding restriction:

  • Sólo COMPRA - se permite abrir sólo COMPRA
  • Solo VENTA - se permite abrir solo VENTA
  • COMPRA y VENTA - se permite abrir tanto COMPRA como VENTA

...

 

Feliz año nuevo. me podeis decir si este Expert Advisor es apto para Forts. me interesan configuraciones para 1 lote, etc.

 
Константин:

Feliz año nuevo.Me podeis decir si este Expert Advisor es apto para Forts.Estoy interesado en configuraciones para 1 lote y demás.

¿Quién es "Forts"? Conozco Forex, Conozco Exchange, Conozco Forts - No conozco tal bestia :)

 
Icarus :


Gracias por compartirlo, su codificación me ha parecido elegante.

Sin embargo, el EA muestra algunos errores molestos. Cuando pongo a prueba durante un período de un año, sólo funciona en el mes de enero, y en días específicos de la semana, en el EURUSD. No he cambiado su código.

Lo siento, yo no entendía su pensamiento.

 

Hola

Gracias por compartir .... necesito codificar yo mismo ¿alguna recomendación o libros que pueda leer o materiales de aprendizaje?

Gracias de nuevo.

 
themasterx7 :

*** Necesito codificarme ¿alguna recomendación o libros que pueda leer o materiales de aprendizaje?***

No te entiendo.

 
Hola Sr. Vladimir Karputov, me encanta su contribución a la comunidad, hay una cosa que sospecho que hay un error en una de sus funciones que utiliza bastante: OpenBuy,

en la sección de abajo: donde m_trade.ResultDeal()!=0 lo que significa que el billete de acuerdo es el retorno lo que significa que la orden se ha completado, ¿por qué sigue utilizando la condición
   if(m_trade.ResultRetcode()==10009)
     {
      m_waiting_transaction=true; // "true" -> está prohibido comerciar, esperamos una transacción
      m_waiting_order_ticket=m_trade.ResultOrder();//orden de procesamiento actual
     }
¿no deberíamos establecer estrictamente el m_waiting_transaction = false?

____________________________________________________________________________________a continuación se muestra la parte del código


   if(m_trade.Buy(long_lot,m_symbol.Name(),m_symbol.Ask(),sl,tp))
      // CTrade::Buy -> "true"
      //si una orden de compra abierta se realiza con éxito
     {
      if(m_trade.ResultDeal()==0)//si no se devuelve ningún trato cerrado--la posición abierta aún no está HECHA
        {
         if(m_trade.ResultRetcode()==10009) // la orden de operación fue a la bolsa | Solicitud completada
           {
            m_waiting_transaction=true; // "true" -> está prohibido comerciar, esperamos una transacción
            m_waiting_order_ticket=m_trade.ResultOrder();//registrar la orden de tratamiento actual a confirmar
           }
         else
            m_waiting_transaction=false;//nuevo comercio permitido
         if(InpPrintLog)
            Print("#1 Buy -> false. Result Retcode: ",m_trade.ResultRetcode(),
                  ", description of result: ",m_trade.ResultRetcodeDescription());
         if(InpPrintLog)
            PrintResultTrade(m_trade,m_symbol);
        }
      else
        {
         if(m_trade.ResultRetcode()==10009)
           {
            m_waiting_transaction=true; // "true" -> está prohibido comerciar, esperamos una transacción
            m_waiting_order_ticket=m_trade.ResultOrder();//orden de procesamiento actual
           }
         else
            m_waiting_transaction=false;//nuevo comercio permitido
         if(InpPrintLog)
            Print("#2 Buy -> true. Result Retcode: ",m_trade.ResultRetcode(),
                  ", description of result: ",m_trade.ResultRetcodeDescription());
         if(InpPrintLog)
            PrintResultTrade(m_trade,m_symbol);
        }
     }
Documentation on MQL5: Constants, Enumerations and Structures / Trade Constants / Trade Operation Types
Documentation on MQL5: Constants, Enumerations and Structures / Trade Constants / Trade Operation Types
  • www.mql5.com
Trading is done by sending orders to open positions using the OrderSend() function, as well as to place, modify or delete pending orders. Each trade order refers to the type of the requested operation. Trading operations are described in the ENUM_TRADE_REQUEST_ACTIONS enumeration...