Check - was habe ich falsch gemacht? - Seite 7

 
Natalya Smirnova #:

Bitte geben Sie mir Ratschläge, wie ich es am besten schreibe. Um Code-Arrays nicht zu duplizieren.
Der Expert Advisor verwendet 2 Indikatoren.
und die Bedingungen für die Ordereröffnung sehen nun wie folgt aus:


Aber ich würde gerne einen Filter hinzufügen
Verwenden oder nicht verwenden 1 oder 2 Indikatoren
Nur ich weiß nicht, wie es mehr richtig zu implementieren.
Sie würde folgendermaßen aussehen:

Dass ich 1 Indikator oder einen zweiten Indikator in den Einstellungen deaktivieren kann.
Ich kann nicht herausfinden, wie man das macht, ohne eine Menge Code zu kopieren.....


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;
}

Ein Nachteil: Wenn alle Indikatoren deaktiviert sind, sind die Signale immer vorhanden. Wenn es wichtig ist, können Sie das Einchecken vor Ort vornehmen und den Start des Experten verbieten. Meistens gibt es jedoch einen Indikator, der nicht deaktiviert ist, so dass es keine Probleme gibt.

 
Dmitry Fedoseev #:


Ein Nachteil: Wenn alle Indikatoren deaktiviert sind, gibt es immer Signale. Wenn es wichtig ist, können Sie eine Prüfung in der Inite durchführen und den EA deaktivieren. Meistens gibt es jedoch einen Indikator, der nicht deaktiviert ist, so dass es keine Probleme gibt.


Sie wird durch Initialisierung der Variablen buy1, sell1, buy2, sell2 gelöst

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;
}
 

Das alles ist eine Art von Beredsamkeit.

Zuerst muss man ein erfolgreiches Handelssystem haben, und dann, wenn man nicht will, kann man es schön und ordentlich machen ... wenn du willst...

Wie viele Versuche werden unternommen werden - Tausende, Zehntausende, wie es der Zufall will...

Es istjedoch keineswegs sicher, dass dies geschehen wird.

Deshalb ist eine "nette" Belastung des Gehirns in der Anfangsphase der Entwicklung eines Handelssystems überhaupt nicht sinnvoll.

Und wortgewandte Äußerungen zum Thema "mach's wie ich" oder "schau, wie ich programmieren kann" sind nichts weiter als Flirts, die auf dem Finanzmarkt absolut keinen Wert haben.

;)