Fragen von einem "Dummy" - Seite 84

 
Expert:
...
Andrei, es ist verrückt, du machst einen manuellen Handelstester und kannst den Indikator nicht reparieren, geh und suche nach fehlenden Daten in den Zählern.
 
Urain:
Ich bin verrückt nach dir, du willst einen manuellen Handelstester bauen und kannst den Indikator nicht reparieren, du musst die fehlenden Daten in den Zählern suchen.

Du verwechselst mich schon wieder mit Andrei=)

Die Daten verschwinden nicht, sondern die Daten verschwinden nicht.

Es ist nicht leicht zu finden und zu debuggen, weil der Indikator die Punkte ein paar Takte zurückzeichnet.

 
Expert:

Du verwechselst mich schon wieder mit Andrei=)

Die Daten verschwinden nicht, sondern die Daten verschwinden nicht.

Und es ist nicht einfach zu finden und zu debuggen, weil der Indikator Punkte ein paar Balken zurückzeichnet.

Ja, tut mir leid, ich war verwirrt.

Beachten Sie die Richtung der Indizierung von Arrays, um Sie nicht mit Ausdrucken zu verwirren.
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Urain:

Ja, tut mir leid, ich war verwirrt.

Achten Sie auf die Richtung der Array-Indexierung, damit Sie nicht durcheinander kommen, überprüfen Sie es selbst mit Ausdrucken.

Okay, mache ich.

Aber die Hauptfrage ist, warum diese Muster verschwinden, wenn ich die TF wechsle.

Manchmal fallen diese Muster mit den Feldern zusammen, auf denen der Indikator aufgebaut ist, und manchmal sind sie chaotisch im Diagramm verstreut.

Das Nullsetzen der Array-Elemente an den richtigen Stellen scheint zu passieren...

 
Expert:

Okay, das werde ich.

Aber die Hauptfrage ist, warum diese Muster verschwinden, wenn ich dief umschalte.

Diese Muster stimmen manchmal mit den Feldern überein, auf denen der Indikator aufgebaut ist, manchmal sind sie chaotisch über das Diagramm verstreut.

Das Nullsetzen von Array-Elementen an den richtigen Stellen scheint zu passieren...

Wenn die TF umgeschaltet wird, erfolgt eine Reinitialisierung, weshalb die Muster verschwinden.

Bauen Sie nicht ein Muster mit Diagrammobjekten auf? Wenn ja, müssen diese verwaltet werden, wenn sie gelöscht werden müssen.

ZS Im Allgemeinen ist es ohne Code (ein Bild) schwierig, überhaupt zu verstehen, was falsch ist, geschweige denn die Ursache zu finden.

 
Urain:

Wenn der TF umgeschaltet wird, wird er neu initialisiert, so dass die Muster verschwinden.

Bauen Sie nicht ein Muster mit Diagrammobjekten auf? Wenn ja, müssen sie kontrolliert werden, wenn sie gelöscht werden müssen.

Bei HH ist es im Allgemeinen schwierig, ohne Code (ein Bild) überhaupt zu verstehen, was falsch ist, geschweige denn die Ursache zu finden.

#property indicator_type1 DRAW_ARROW

#property indicator_type2 DRAW_ARROW

#property indicator_type3 DRAW_ARROW

Keine Graphobjekte, sondern Puffer.

Aber Code, ja bitte)

Dateien:
WATL.mq4  24 kb
WATL.mq5  41 kb
 
Expert:

#property indicator_type1 DRAW_ARROW

#property indicator_type2 DRAW_ARROW

#property indicator_type3 DRAW_ARROW

Keine Graphobjekte, sondern Puffer.

Aber Code, ja bitte)

Erstens ist es ein dekompilierter Code, und zweitens gibt es eine Menge Fehler im Migrationsprozess.

Nehmen wir zum Beispiel dieses Perl

iBarShift(NULL,0,ai_4,false);

Und das, obwohl die Funktion CopyTime ein solches Konzept wie ein Nullzeichen nicht kennt

(NULL) an den String-Typ-Parameter übergeben, wird "" übergeben.

int iBarShift(string symbol,
              int tf,
              datetime time,
              bool exact=false)
  {
   if(time<0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime(symbol,timeframe,0,1,Arr);
   time1=Arr[0];
   if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
      if(time<time1) return(1);
      else return(0);
     }
   else return(-1);
  }


Kontaktieren Sie Ihren Entwickler

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyTime - Документация по MQL5
 
Urain:

Erstens handelt es sich um eine Dekompilierung, und zweitens gibt es bei der Migration eine Menge Bugs.

Schauen Sie sich nur dieses Perl an

Und das, obwohl die Funktion CopyTime kein Nullzeichen kennt

(NULL) an den String-Typ-Parameter übergeben, wird "" übergeben.


Kontakt mit dem Entwickler

Ich möchte nicht mit einem Entwickler $$sprechen =)

Auf jeden Fall danke für den klugen Rat.

 
Expert:

Kein $Wunsch$, den Entwickler zu kontaktieren =)

Auf jeden Fall danke für die guten Ratschläge.

Aber es ist nicht alles da, in der Idee übergeben Graph Objekt anstelle von Chart-ID 0, können Sie, aber in der Praxis ist es besser, die Chart-Nummer geben.

Im Allgemeinen gibt es eine Menge zu verstehen

es ist nicht klar, was der Programmierer mit diesem Code sagen wollte:

int Double2Int(double ad_0) 
  {
   return(int(StringToInteger(DoubleToString(ad_0,0))));
  }

Das ist für mich einfacher und schneller:

(int)NormalizeDouble(ad_0,0)

statt Rundung über Tangas

 
Urain:

Theoretisch ist es möglich, bei der Erstellung eines Diagrammobjekts 0 anstelle der Diagramm-ID zu übergeben, aber in der Praxis ist es besser, die Diagrammnummer anzugeben.

Im Allgemeinen gibt es eine Menge zu klären

es ist nicht klar, was der Programmierer mit diesem Code sagen wollte:

Ich denke, es ist einfacher und schneller:

Als die Rundung über Strings zu machen

die Objekte hier sind Linien, ich habe sie abgeschnitten, also liegt der Fehler offensichtlich nicht dort.

Die Rundung durch die Zeichenfolge ist aufgrund der Tatsache, dass MQL4 hat keine Methode wie (int), während in Rewriting ließ ich es absichtlich, um die Codes Koinzidenz zu maximieren.

Aber offenbar können Sie die alte Version immer noch durch Ihre ersetzen.