Discusión sobre el artículo "Desarrollando un EA comercial desde cero"

 

Artículo publicado Desarrollando un EA comercial desde cero:

Comprenda cómo desarrollar un EA para tráding programando lo menos posible.

Este EA se puede mejorar en muchos aspectos para poder poner a funcionar algún conjunto de parámetros, es cierto que habrá que añadir más código para que sea más independiente de MT5, pero esto depende de la creatividad y necesidad de cada uno.

El gran acierto de este EA es el hecho de que utiliza el propio MetaTrader 5 para hacer las cosas que no están en su código, y con lo cual es extremadamente estable y fiable.




Autor: Daniel Jose

 

Buenos dias,

Muy buenas, solo que no entiendo una cosa. Cuando pongo la orden en WIN y WDO el EA abre 6 órdenes con el número de contratos que he introducido en "apalancamiento". O sea que aunque quiera operar con 1 contrato, no puedo, me abre 6.

¿Es este un concepto que he pasado por alto? Soy principiante, así que parto de esa premisa.

Muchas gracias por compartir.

 
Según tengo entendido, se necesitan conocimientos de Algo Trading para trabajar con este...
[Eliminado]  
¡Muy bien!
 
joecafrois #:
Como yo lo entiendo, usted necesita el conocimiento de AlgoTrading para trabajar con él ...

Usted no necesita conocimientos de AlgoTrading ... pero tiene que estar habilitado siempre que utilice un EA (Asesor Experto), de lo contrario el EA está limitado en la forma en que funciona.

 
Feresther número de contratos que he introducido en "apalancamiento". Así que aunque quiera operar con 1 contrato, no puedo, abre 6.

¿Es este un concepto que he pasado por alto? Soy principiante, así que parto de esa premisa.

Muchas gracias por compartir.

Puede ser que el sistema esté enviando más de una orden cuando pulsas el ratón, los motivos pueden ser otros, pero gracias por reportarlo 😁👍, para solucionar este problema, tendrás que añadir una prueba extra cuando pulses el ratón, los puntos a modificar o añadir están marcados en VERDE... asegurate de escribirlo de la manera correcta, de lo contrario la orden puede no ser enviada, o puede no ser aceptada por el servidor ... pero añadiendo esta prueba extra debería resolver su problema. La lógica es la siguiente: Cuando se pulsa el ratón, la variable STATIC se establecerá, y sólo se restablecerá para permitir el envío de un nuevo pedido cuando el ratón deje de estar pulsado.

inline void MoveTo(int X, int Y, uint Key)
{
        static double d_block = 0; 
        int w = 0;
        datetime dt;
        bool bEClick, bKeyBuy, bKeySell;
        double take = 0, stop = 0, price;
        bEClick  = (Key & 0x01) == 0x01;                /Clic izquierdo
        bKeyBuy  = (Key & 0x04) == 0x04;                //SHIFT pulsado
        bKeySell = (Key & 0x08) == 0x08;                //CTRL Pulsado
        ChartXYToTimePrice(Infos.Id, X, Y, w, dt, price);
        ObjectMove(Infos.Id, Infos.szHLinePrice, 0, 0, price = (bKeyBuy != bKeySell ? AdjustPrice(price) : 0));
        ObjectMove(Infos.Id, Infos.szHLineTake, 0, 0, take = price + (Infos.TakeProfit * (bKeyBuy ? 1 : -1)));
        ObjectMove(Infos.Id, Infos.szHLineStop, 0, 0, stop = price + (Infos.StopLoss * (bKeyBuy ? -1 : 1)));
        if ((bEClick) && (bKeyBuy != bKeySell) && (d_block == 0)) CreateOrderPendent(bKeyBuy, Infos.Volume, (d_block = price), take, stop, Infos.IsDayTrade); else d_block = 0;
        ObjectSetInteger(Infos.Id, Infos.szHLinePrice, OBJPROP_COLOR, (bKeyBuy != bKeySell ? Infos.cPrice : clrNONE));
        ObjectSetInteger(Infos.Id, Infos.szHLineTake, OBJPROP_COLOR, (take > 0 ? Infos.cTake : clrNONE));
        ObjectSetInteger(Infos.Id, Infos.szHLineStop, OBJPROP_COLOR, (stop > 0 ? Infos.cStop : clrNONE));
};
 
hay versión mq4
 
Buen artículo, gracias.
 
Buenas tardes, ¿dónde se establece el número de puntos y el número de lotes para el miníndice?
 
C4rl1n #:
Buenas tardes, ¿dónde se ajusta el número de puntos y el número de lotes para el mini índice?

En realidad, en este código el ajuste es automático. Le dices el financiador y el número de contratos a operar y el código hace el ajuste en cuanto a puntos... Esta información te la da cuando colocas el Asesor Experto en el gráfico. 😁👍

 
Ya veo, es porque quiero desarrollar mi EA, pero el número de lotes y puntos no coinciden