Comprobar: ¿qué he hecho mal? - página 7

 
Natalya Smirnova #:

Por favor, aconseja cómo escribirlo bien. Para no duplicar las matrices de código.
El Asesor Experto utiliza 2 indicadores.
y las condiciones para la apertura de órdenes se ven así ahora:


Pero me gustaría añadir el filtro
Utilizar o no utilizar 1 o 2 indicadores
Sólo que no sé cómo implementarlo más correctamente.
Se vería así:

Que puedo desactivar 1 indicador o un segundo indicador en la configuración.
No puedo averiguar cómo hacerlo sin copiar un montón de código.....


extern bool ind1=true;
extern bool ind2=true;

void OnTick(){

        bool buy1=true;
        bool sell=true;
        if(ind1){
                buy1=...
                sell2=...
        }

        bool buy1=true;
        bool sell=true;
        if(ind2){
                buy2=...
                sell2=...
        }       


        bool buy=buy1&&buy2;
        bool sell=sell1&&sell2;
}

Una desventaja: si todos los indicadores están desactivados, las señales siempre existen. Si es importante, puede hacer el check inite y prohibir el inicio del experto. Pero lo más frecuente es que haya un indicador que no esté desactivado, por lo que no hay problemas.

 
Dmitry Fedoseev #:


Una desventaja: si todos los indicadores están desactivados, siempre hay señales. Si es importante, puedes hacer una comprobación en el inite y desactivar el EA. Pero lo más frecuente es que haya un indicador que no esté desactivado, por lo que no hay problemas.


Se resuelve mediante la inicialización de las variables compra1, venta1, compra2, venta2

extern bool ind1 = true;
extern bool ind2 = true;

void OnTick() {

        bool buy1 = ind1 || ind2;
        bool sell1 = ind1 || ind2;
        if( ind1 ) {
                buy1 = ...
                sell2 = ...
        }

        bool buy2 = ind1 || ind2;
        bool sell2 = ind1 || ind2;
        if( ind2 ) {
                buy2 = ...
                sell2 = ...
        }       


        bool buy = buy1 && buy2;
        bool sell = sell1 && sell2;
}
 

Todo esto es una especie de elocuencia.

Primero tienes que tener un sistema de comercio exitoso, y luego, si no tienes nada que hacer, puedes hacerlo bonito y ordenado ... si quieres...

Cuántos intentos se harán: miles, decenas de miles, según la suerte...

Pero no es ni mucho menos seguro que se produzca.

Por eso, la "bonita" carga cerebral en la fase inicial de desarrollo de un sistema de trading no sirve para nada.

Y los comentarios elocuentes, sin ninguna operación exitosa, sobre el tema de "haz como yo" o "mira cómo puedo programar" no son más que coqueteos que no tienen absolutamente ningún valor en el mercado financiero.

;)