Cita Iniciado por pepe Ver mensaje
Yo me animo
Fantástico... A ver que te parece mi idea:

Podemos empezar por el caso más simple posible, un robot que trabaje con una sola posición: o está a la espera de señal de compra, o ya ha comprado y está a la espera de la señal de venta. Todo estaría programado en MQL4, que se encargaría de todo, salvo el "calcular" cuando hay que comprar o vender (eso es lo que haría la DLL).

Para ello, la DLL sólo necesitaría dos funciones: HayQueComprar o HayQueVender, a las que se pasaría el nuevo dato recibido. Con esta información la DLL debería decidir que hacer, y devolver la cantidad a comprar o vender...

La rutina principal MQL4 sería parecida a (por lo que he visto, la pinta es como la del C):

Código:
int Lotes; // Lotes comprados actualmente. Inicialmente 0.

void OnTick() {
    double UltimoValor;
    double Cantidad;    // Cantidad a comprar o vender

    UltimoValor = ????;  // Obtengo la última cotización del par EURUSD

    if(Lotes==0) {
        // Estabamos a la espera de señal de compra
        Cantidad = HayQueComprar(UltimoValor);
        if(Cantidad != 0) {
            ComprarLotes Cantidad;
            Lotes = Cantidad;
        }
    } else {
        // Habíamos comprado. Veamos si hay que vender
       Cantidad = HayQueVender(UltimoValor);
       if(Cantidad != 0) {
            VenderLotes Cantidad;
            Lotes = Lotes - Cantidad;
        }
    };

}
¿Como lo ves, pepe?