Fehler, Irrtümer, Fragen - Seite 82

 
gumgum:

Ich führe einen Test von 2010.01.01 bis heute durch. Ich gebe das Datum des allerersten Taktes 2009.01.02 aus.

Wie kann ich erreichen, dass der erste verfügbare Balken z.B. 2006.01.02 ist?

2006.01.02, warum nicht 2010.01.01?

Und was wissen wir über die Serialität von Arrays?

 
Interesting:

2006.01.02, warum nicht 2010.01.01?

Und was wissen wir über die Serialisierung von Arrays?

Ich möchte sicherstellen, dass bei den Tests die historischen Daten ausreichen. Wie kann man das tun?

Können wir im Code erlauben, ab einem bestimmten Datum zu handeln und einen längeren Testzeitraum zu wählen, aber sonst?

 
gumgum:

Ich möchte sicherstellen, dass bei den Tests genügend historische Daten vorhanden sind. Wie lässt sich das bewerkstelligen?

Kann ich im Code erlauben, ab einem bestimmten Datum zu handeln und einen längeren Testzeitraum zu wählen, aber sonst?


Prüfen Sie bei der Initialisierung, ob die Historie auf dem Server und bei Ihnen selbst verfügbar ist. Wenn die Historie geladen werden muss, tun Sie dies sofort (im Initialisierungsblock)...

Und die Serialität (ihr Fehlen) in der gegebenen Frage wird zeigen, von wo aus 0 bar zu zählen ist...

 

Liebe Kolleginnen und Kollegen, liebe Sprachentwicklerinnen und Sprachentwickler, können Sie mir bitte folgende Situation erklären?

Es gibt zwei Strukturen (senior und junior), der Konstruktor von senior wird durch start() aufgerufen,

Der Konstruktor der Junior-Struktur wird vom Konstruktor der Senior-Struktur aufgerufen.

Wie übergibt man eine Variable von der Senior-Struktur an den Konstruktor der Junior-Struktur ??????????

struct Ml
  {
   int               a;
   int               b;
   void Ml()
     {
      if(f)a=1; else a=2; // ?????????????????????????????      
      if(F)b=2; else b=3; // ?????????????????????????????        
     };
   void ~Ml(){};
   void m(){};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
struct St
  {
   bool              f;  // ?????????????????????
   bool              F;  // ?????????????????????
   Ml               x[];
   void St(){f=true; F=false; ArrayResize(x,1); x[0].m();};  // ?????????????????????
   void ~St(){};
   int          mult(int i){ArrayResize(x,i+1);return(x[i].a*x[0].b);};
   int           add(int i){ArrayResize(x,i+1);return(x[i].a+x[0].b);};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   St x[];
   ArrayResize(x,2);

   int Mult=x[1].mult(10);
   int Add=x[1].add(10);

   Print("x[1].mult(10)=",x[1].mult(10),"  x[1].add(10)=",x[1].add(10));
  }
//+------------------------------------------------------------------+
 
Interesting:

Prüfen Sie bei der Initialisierung, ob die Historie auf dem Server und bei Ihnen selbst verfügbar ist. Wenn Sie die Historie laden müssen, tun Sie dies sofort (im Initialisierungsblock)...

Und die Serialität (ihre Abwesenheit) in dieser Frage wird zeigen, von wo aus 0 bar zu zählen ist...

https://www.mql5.com/ru/docs/series/seriesinfointeger auf diese Weise überprüfen ? Wie wird geladen (mit der Nase in die richtige Richtung stupsen)?
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
  • www.mql5.com
Доступ к таймсериям и индикаторам / SeriesInfoInteger - Документация по MQL5
 
gumgum:

Ich möchte sicherstellen, dass bei den Tests genügend historische Daten vorhanden sind. Wie lässt sich das bewerkstelligen?

Kann ich im Code erlauben, ab einem bestimmten Datum zu handeln und einen längeren Testzeitraum zu wählen, aber sonst?

1. das Prüfgerät eine Belastung von mindestens 100 Stäben des zu prüfenden Zeitrahmens vor Beginn der Prüfung vorsieht.

2 Der Prüfer lädt die Historie mindestens vom Beginn des letzten Jahres ab dem Startdatum der Prüfung.

Wenn Sie einen monatlichen Zeitrahmen wählen, erhalten Sie einen 8-jährigen Verlauf. Wenn Sie einen wöchentlichen Zeitrahmen wählen, erhalten Sie 2 Jahre. Verwenden Sie einfach nicht den aktuellen Zeitrahmen, wenn Sie Signale analysieren, sondern geben Sie explizit den Zeitrahmen an, den Sie benötigen.

 
stringo:

1 Der Prüfer stellt sicher, dass mindestens 100 Takte des zu prüfenden Zeitrahmens vor dem Start der Prüfung geladen werden.

2 Der Prüfer lädt die Historie mindestens vom Beginn des letzten Jahres ab dem Startdatum des Tests.

Wenn Sie einen monatlichen Zeitrahmen wählen, erhalten Sie einen 8-jährigen Verlauf. Wenn Sie einen wöchentlichen Zeitrahmen wählen, erhalten Sie 2 Jahre. Verwenden Sie bei der Analyse von Signalen einfach nicht den aktuellen Zeitrahmen, sondern geben Sie explizit den gewünschten Zeitrahmen an.

formuliert es so:

Warten auf.... Ich bin immer noch bei 3,3 %, weder hier noch dort:

 
Urain:

Liebe Kolleginnen und Kollegen, liebe Sprachentwicklerinnen und Sprachentwickler, können Sie mir bitte folgende Situation erklären?

Es gibt zwei Strukturen (senior und junior), der Konstruktor von senior wird durch start() aufgerufen,

Der Konstruktor der Junior-Struktur wird vom Konstruktor der Senior-Struktur aufgerufen.

Wie übergibt man eine Variable von der Senior-Struktur an den Konstruktor der Junior-Struktur ??????????



Ich denke, ein Beispiel aus dem wirklichen Leben wäre verständlicher:

Wenn eine neue Position erscheint, wird ein neues Objekt erstellt, das ein dynamisches Array von Zeigern auf Geschäfte enthält.

Da die Position in der Ausgangssituation nur einen Deal hat, werden ihre Daten bei der Initialisierung des Objekts in die entsprechende Struktur geschrieben,

aber der Strukturkonstruktor erhält die Ticketnummer aus dem Positionsobjekt.

Und es ist nicht klar, wie dieses Ticket zu passieren?

Bei der Deklaration von globalen Variablen gibt es keine Probleme,

Die Position wird ausgewählt, das Ticket wird geschrieben und das Objekt wird konstruiert,

Die Struktur wird im Objekt entworfen und alle erhalten global das gleiche Ticket,

sowohl Geschäfte als auch Positionen (da das erste Geschäft im Ticket gleich der Positions-ID ist),

aber wenn Sie versuchen, die globale Ticketdeklaration zu entfernen, beginnen die Probleme.

 
gumgum:

formuliert es so:

Ich warte auf.... In 3,3 % der Fälle gibt es keinen Weg hinein und keinen Weg hinaus:

Daten herunterladen? Was steht im Prüfprotokoll?
 
stringo:
Daten laden? Was steht im Testprotokoll?

Zurzeit 5,6%

2010.08.06 13:08:52 Kern 1 EURUSD,Täglich: Historie beginnt ab 2001.01.01 00:00
2010.08.06 13:08:52 Kern 1 EURUSD,Täglich: Historie-Cache reserviert für geschätzte 2411 Balken
2010.08.06 13:08:52 Kern 1 EURUSD: enthält 3208261 M1-Datensätze von Beginn an von 2001.01.01 00:01 bis 2009.12.31 18:59
2010.08.06 13:05:58 para.06 13:05:58 Core 1 para=EURUSD
2010.08.06 13:05:58 Core 1 delta=0.10
2010.08.06 13:05:58 Core 1 fc=0.19
2010.08.06 13:05:58 Core 1 M=11
2010.08.06 13:05:58 Core 1 dis=0.11
2010.08.06 13:05:58 Core 1 EURUSD,Monthly: Test von experts\slivarobot.ex5 von 2010.01.01 00:00 bis 2010.03.31 00:00 gestartet mit Eingaben:
2010.06.08.06 13:05:58 Kern 1 EURUSD,Monthly: 1 Minuten OHLC Ticks generiert
2010.08.06 13:05:58 Kern 1 EURUSD,Monthly: Historie beginnt seit 2001.01.01 00:00
2010.08.06 13:05:58 Kern 1 EURUSD,Monthly: Historie Cache reserviert für geschätzte 120 Balken
2010.08.06 13:05:58 Kern 1 EURUSD: enthält 3208261 M1 Datensätze von Anfangsdaten aus 2001.01.01 00:01 bis 2009.12.31 18:59
2010.08.06 13:03:13 Core 1 EURUSD: Historie synchronisiert von 1993.05.13 bis 2010.08.05
2010.08.06 13:03:13 Core 1 EURUSD: 27 Bytes Historie zum Synchronisieren geladen
2010.08.06 13:03:11 Core 1 EURUSD: Symbol synchronisiert. 3304 Bytes an Symbolinformationen empfangen.
2010.08.06 13:03:11 Kern 1 Leistung: 31
2010.08.06 13:03:11 Kern 1 39 Kb Gesamtinitialisierungsdaten erhalten
2010.08.06 13:03:11 Kern 1 Erfolgreich initialisiert
2010.08.06 13:03:11 Kern 1 Ersteinzahlung 10000.00 USD
2010.08.06 13:03:11 Kern 1 Expertendatei hinzugefügt: Libraries\BSCAI.ex5. 3277 Bytes geladen
2010.08.06 13:03:11 Core 1 Experten-Datei hinzugefügt: Libraries\PNNOCHL(slivarobot).ex5. 13083 Bytes geladen
2010.08.06 13:03:11 Core 1 Expert-Datei hinzugefügt: Experts\slivarobot.ex5. 3598 Bytes geladen
2010.08.06 13:03:11 Core 1 275 Bytes ausgewählter Symbole geladen
2010.08.06 13:03:11 Core 1 7178 Bytes Testerparameter geladen
2010.08.06 13:03:11 Core 1 3780 Bytes Gruppeninformationen geladen
2010.08.06 13:03:11 Core 1 3124 Bytes Kontoinformationen geladen
2010.08.06 13:03:11 Core 1 Gemeinsame Synchronisierung abgeschlossen
2010.06.08.06 13:03:07 Tester EURUSD,Monthly: testing of experts\slivarobot.ex5 from 2010.01.01 00:00 to 2010.03.31 00:00 to be started
2010.08.06 13:03:07 Core 1 Authorized (agent build 302)
2010.08.06 13:03:07 Core 1 Connected
2010.08.06 13:03:06 Core 1 Connecting to 127.0.0.1:3000
2010.08.06 13:03:06 Core 1 Agent process started