Fehler, Irrtümer, Fragen - Seite 503

 
snookeredman:

Guten Tag!

Bitte helfen Sie mir, .... zu verstehen.

void OnStart()
  {
    int h;
    int    m_integer  = 23;
    string m_string   = "EURUSD";
    double m_double   = 1.2345678;    
    
    h=FileOpen("TEST_CSV_FILE.CSV",FILE_CSV|FILE_WRITE,";");
    FileWrite(h,  
              m_integer, 
              m_string, 
              DoubleToString(NormalizeDouble(m_double,5),5));
    FileWrite(h,  
              m_integer, 
              m_string, 
              DoubleToString(NormalizeDouble(m_double,5),5));
    FileClose(h);
  }

Dementsprechend beträgt die Dateigröße das Zweifache der vorgesehenen Größe.

Versuchen Sie es so:

void OnStart()
  {
    int h;
    int    m_integer  = 23;
    string m_string   = "EURUSD";
    double m_double   = 1.2345678;    
    
    h=FileOpen("TEST_CSV_FILE.CSV",FILE_CSV|FILE_WRITE|FILE_ANSI,";");                     // Добавлен флаг FILE_ANSI
    FileWrite(h, m_integer, m_string, DoubleToString(NormalizeDouble(m_double,5),5));
    FileWrite(h, m_integer, m_string, DoubleToString(NormalizeDouble(m_double,5),5));
    FileClose(h);
  }
Ich glaube, das ist genau das, wonach Sie gesucht haben.
 
Was ist hier los? Wie lange werden diese Serverabschaltungen und -ausfälle noch andauern? Jetzt ist die Website nach drei Tagen Ausfallzeit wieder online, aber die Server sind wieder ausgefallen und das Terminal verbindet sich nicht
 
Bene_Nota:

Was ist hier los? Wie lange werden diese Serverabschaltungen und -ausfälle noch andauern? Jetzt ist die Website nach drei Tagen Ausfallzeit wieder online, aber die Server sind wieder ausgefallen und das Terminal verbindet sich nicht
Mein Terminal ist seit gestern Abend angeschlossen. Zugangspunkt: USA, Europa, Hongkong
 

Danke an TheXpert, MetaDriver für die Hilfe.

Das FILE_ANSI-Flag half, und der Versuch, mit Codepages ohne dieses Flag zu spielen, war erfolglos.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5
 

Meine Herren, woher wissen Sie die Gesamtzahl der Elemente in einem Formular in C++?

 

Guten Tag, ich würde gerne mit den Entwicklern Kontakt aufnehmen, aber zunächst ein wenigHintergrundwissen...

Da es nun unmöglich ist, mehrere Positionen zu halten, sehe ich den sinnvollsten Ausweg für mich darin, Pending Orders zu setzen. Es gibt jedoch ein Problem bei der Festlegung der einzelnen Aufträge. Wir müssen drei Aufträge einstellen (einen zur sofortigen Ausführung und zwei schwebende Aufträge anstelle von TP und SL). Was ist, wenn ich eine Bestellung aufgebe und nicht zwei aufgeben kann? Was ist, wenn mein Maklerunternehmen zum Mittagessen geht? Meine Kaution mag das nicht. Haben Sie vor, mehrere Aufträge zu eröffnen (alles oder nichts)?

 
220Volt:

Haben Sie vor, die Möglichkeit zu schaffen, mehrere Aufträge zu erteilen (entweder alles oder nichts)?

Leider nein.

Dies ist praktisch unmöglich, vor allem bei Börsen-Gateways, wo solche komplexen Aufträge grundsätzlich nicht unterstützt werden.

 

Ich versuche, nach dem Anfangsdatum des Verlaufs zu fragen, und erhalte Nullen.

Der Test befindet sich im Visualisierungsmodus, alle Ticks sind auf H1.

Überprüfung des Testcodes

int DS[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   int total=SymbolsTotal(false);
   ArrayResize(DS,total);
   for(int i=0;i<total;i++)
   {
    DS[i]=0;
    string symbol=SymbolName(i,false);
    
    while(!SymbolIsSynchronized(symbol)) 
    {
     DS[i]=(int)SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE);
     Sleep(30);
    }
    DS[i]=(int)SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE);
    Print("История по символу ",symbol," Синхронизирована. дата начала истории ",TimeToString(DS[i])," = ",DS[i]);
   }
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+

Die Anlage ist ein Protokoll.

 

Gibt es bei der Code-Optimierung Beschränkungen für die Größe des Objektbaums?

Ich erhalte beim Kompilieren einen "Baumoptimierungsfehler", wenn ich die Anzahl der Objekte erhöhe.

P.S. Im Debug-Modus wird die Kompilierung durchgeführt.

 
sergey1294:

Ich versuche, das Anfangsdatum der Historie abzufragen, und erhalte Nullen.

Der Test befindet sich im Visualisierungsmodus, alle Ticks sind auf H1.

Überprüfung des Testcodes

Die Anlage ist ein Protokoll.

Erstens: Welchen Sinn hat es, den Verlauf im Prüfgerät zwangsweise herunterzuladen? Der Tester selbst lädt die erforderliche und verfügbare Historie vom Server herunter, wenn im Code oder bei Handelsoperationen mit den erforderlichen Symbolen Anforderungen bestehen. Da Ihr Code leer ist, braucht der Prüfer keine Ticks für andere Symbole zu simulieren, außer für das Symbol, an dem die Prüfung durchgeführt wird. Und das ist, was der Prüfer seine Geschichte heruntergeladen. Und da es keine Historie (im Tester) gibt, erhalten wir 0.

Zweitens ist es selbst dann, wenn Sie den Code durch den Aufruf der gesamten Historie für alle Symbole erweitern, unwahrscheinlich, dass das Herunterladen der gesamten verfügbaren Historie für alle Symbole erfolgreich sein wird, und irgendwo wird ein Fehler auftreten. Da das Prüfgerät auf der Basis von Terminal-Zitaten arbeitet, muss es den erforderlichen Verlauf herunterladen.