
Iniciado por
pepe
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?
Marcadores