Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1796

 

Boolesche und andere Bedingungen in einem Stapel mischen... OK. Wenn Sie keinen guten Code schreiben wollen, schreiben Sie ihn nicht. Ich werde nicht versuchen, Sie zu überreden und mit Ihnen zu streiten.

MakarFX #:

Und wenn es um die Universalität der Funktion geht, nun ja...

Nun, das ist dem gesunden Menschenverstand näher als Ihre vorherige Funktion.

Zugegeben, die Lesbarkeit lässt zu wünschen übrig... Aber wer denkt schon darüber nach...? :)

 
Nerd Trader #:
Diejenige, die laut Konvention wahr ist

nein, wird "line_name" der letzte Name zugewiesen.

 
Mihail Matkovskij #:

Boolesche und andere Bedingungen in einem Stapel mischen... OK. Wenn Sie keinen guten Code schreiben wollen, schreiben Sie ihn nicht. Ich werde Sie nicht überreden oder mit Ihnen streiten.

Okay, okay, ich nehme Ihr Beispiel.

 
Es besteht keine Notwendigkeit, ständig Zeilen zu erstellen und zu löschen. Die Zeitrahmen weisen auf die Sichtbarkeit des Volumens hin. Ausblenden und Anzeigen erforderlich.
 
Mihail Matkovskij #:

Boolesche und andere Bedingungen in einem Stapel mischen... OK. Wenn Sie keinen guten Code schreiben wollen, schreiben Sie ihn nicht. Ich werde Sie nicht überreden und mit Ihnen streiten.

Nun, es ist näher am gesunden Menschenverstand als Ihre vorherige Funktion.

Zugegeben, die Lesbarkeit lässt zu wünschen übrig... Aber wer denkt schon daran...? :)

Was genau ist los?

Und Sie haben immer noch nicht beantwortet, was Ihre Funktion bei "-1" zurückgibt...

 
MakarFX #:

nein, wird "line_name" der Nachname zugewiesen.

Ja, warum sollte es damit ein Problem geben? Das Objekt, das die Bedingung erfüllt, wird ohnehin gelöscht.
 
MakarFX #:

Was genau ist los?

Und Sie haben immer noch nicht beantwortet, was Ihre Funktion bei "-1" zurückgeben wird.

wird falsch zurückgegeben - ich habe es bereits überprüft.
 
Nerd Trader #:
wird falsch zurückgegeben - ich habe das bereits überprüft
Sie sollte true zurückgeben.
 
MakarFX #:
Es muss wahr sein.
Mit booleschem NOT true :)
 
MakarFX #:

Was genau ist los?

bool FindObject(string name, int win)
{
   if(ObjectFind(0, name) == win) 
     return(true);
   return(false);
}
Eine kompaktere Version:
bool FindObject(string name,int win) { return (ObjectFind(0,name) == win); } 

Aber ich dachte, Sie sagten, Ihre Funktion hätte den Anspruch, universell zu sein...? Dann haben Sie ein sehr wichtiges Detail vergessen:

bool FindObject(const long chart_id, const string name, const int win) { return (ObjectFind(chart_id, name) == win); } 

Die universellste und zuverlässigste Option.

Und Sie haben nie beantwortet, was Ihre Funktion "-1" zurückgibt.

Sind Sie zu faul, ein einfaches Skript zur Überprüfung zu schreiben? Ja. Ich habe es für dich getan:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart() {
  for (int i = -10; i <= 10; i++) 
    if (i)
      printf("%d - true", i);
    else
      printf("%d - false", i);
}
//+------------------------------------------------------------------+

Sehen Sie sich nun das Ergebnis an:

-10 ist wahr.

-9 ist wahr.

-8 ist wahr.

-7 - wahr

-6 - wahr

-5 - wahr

-4 - wahr

-3 - wahr

-2 - wahr

-1 - wahr

0 - falsch

1 - wahr

2 - wahr

3 - wahr

4 - wahr

5 - wahr

6 - wahr

7 - wahr

8 - wahr

9 - wahr

10 - wahr



Alle negativen Zahlen sind wahr. 0 ist falsch. So funktioniert es... :)

Ihre Funktion wird also true zurückgeben.

Forum für Handel, automatisierte Handelssysteme und Strategietests

Fragen von Neulingen zu MQL4 und MQL5, oder Tipps und Diskussionen zu Algorithmen und Codes

MakarFX, 2021.12.06 12:14

bool FindObject(string name)
  {
   if(ObjectFind(0,name)) return(false);
   return(true);
  }

Meiner wird false zurückgeben

bool objectExist(const long _chartID, const string _name) { return(ObjectFind(_chartID, _name) >= 0); } // чётко определим условие существования объекта!

So wie es bei negativen Werten sein sollte.

Grund der Beschwerde: