Fehler, Irrtümer, Fragen - Seite 2013

 
fxsaber:

Ich habe dieses Merkmal sofort berücksichtigt. Ich habe das jetzt selbst noch einmal überprüft.

Version freigeben:

Ja, es gibt in der Tat einen Unterschied, wenn man 32-Bit- und 64-Bit-Code auf das gleiche Verhalten bringt.
 
fxsaber:
Es wäre wirklich praktisch, zumindest eine solche Liste zu haben.

Vielleicht ist es besser, sie nicht auf MarketWatch, sondern in der Liste der offenen Charts zu finden. Immerhin gibt es eine solche Liste; sie wird im Prüfgerät geöffnet.

Wenn jedoch ein Expert Advisor ein Diagramm öffnet, benötigt er die MarketWatch-Liste.

Auf jeden Fall unterstütze ich sie.

 
fxsaber:
In der Tat wäre es praktisch, zumindest diese

Zur Arbeit mit Symbolen, ein Vorschlag:

Solange der Algorithmus für die Arbeit mit dem Typ String teuer ist - implementieren Sie zumindest die Möglichkeit, mit dem numerischen Index des Maklersymbols zu arbeiten.

int OrderSymbolIndex()//direkt vom Server

int SymbolIndex((string)symbol_name)//da sie mit dem Index des Brokers im Terminal synchronisiert ist, wird sie lokal ausgeführt


Die Vorteile liegen auf der Ebene der Speicherung (in einfachen Strukturen, Arrays), der Verarbeitung (Prozessor und Speicher) und der Übertragung auf der Hand.

 
Kirill Belousov:

Zur Arbeit mit Symbolen, ein Vorschlag:

Solange der Algorithmus für die Arbeit mit dem Typ String teuer ist - implementieren Sie zumindest die Möglichkeit, mit dem numerischen Index des Maklersymbols zu arbeiten.

int OrderSymbolIndex()//direkt vom Server

int SymbolIndex((string)symbol_name)//da sie mit dem Index des Brokers im Terminal synchronisiert ist, wird sie lokal ausgeführt


Die Vorteile liegen auf der Ebene der Speicherung (in einfachen Strukturen, Arrays), der Verarbeitung (Prozessor und Speicher) und der Übertragung auf der Hand

Es gibt viele Vorschläge, aber es lohnt sich wahrscheinlich, sich ein wenig in die Lage der Entwickler zu versetzen. Die Arbeit mit Zeichenketten wird sich wahrscheinlich beschleunigen.

 

Wie kann ich die Rahmenfunktionalität mit dem Market Advisor eines anderen Unternehmens verbinden, um die gleiche Backtest-Handelshistorie zu erhalten?

Im Moment muss ich dazu WinAPI verwenden. Es ist eine Qual.

 
prostotrader:

Warum ist das so?

Code

Wahrscheinlich meinte erDoubleToString(xxx, 2). Wenn der zweite Parameter weggelassen wird, ist er standardmäßig auf 8 gesetzt.

 
Stanislav Korotky:

Wahrscheinlich meinte er DoubleToString(xxx, 2). Wenn der zweite Parameter weggelassen wird, ist er standardmäßig auf 8 gesetzt.


Ich habe es verstanden und die Nachricht entfernt.

 

MT4 Version 1090

Beim Kompilieren von .mqh interpretiert der Compiler den durch geschweifte Klammern begrenzten Bereich von Variablen falsch

Für, während, wenn usw.

wenn eine Variable lokal deklariert ist, beschwert sich das Programm über eine erneute Deklaration

void test1()
  {
   int total=1;
   for(int i=0;i<total;i++)
     {
      int a=0;
     }
   for(int i=0;i<total;i++)//в mqh 'i' - variable already defined
     {
      int a=0;//в mqh 'a' - variable already defined
     }
   Print(a);//в mqh компилятор здесь молчит
  }

Wenn Sie denselben Code erneut deklarieren, ist er korrekt.


Ist dies ein bekannter Fehler oder sollte ich eine Anwendung in SD erstellen?

 
Kirill Belousov:

MT4 Version 1090

Beim Kompilieren von .mqh interpretiert der Compiler den durch geschweifte Klammern begrenzten Bereich von Variablen falsch

Für, während, wenn usw.

wenn eine Variable lokal deklariert ist, beschwert sich das Programm über eine erneute Deklaration

Wenn Sie denselben Code erneut deklarieren, ist er korrekt.

Ist dies ein bekannter Fehler, oder sollte ich ein Ticket bei der CA erstellen?


Es ist noch zu früh für den Service - vielleicht machen Sie einen Programmierfehler. Aber zuerst der Code, ein Beispiel, wie man ihn benutzt und eine detaillierte Beschreibung des Fehlers.

 
Kirill Belousov:

MT4 Version 1090

beim Kompilieren der .mqh interpretiert der Compiler durch geschweifte Klammern begrenzte Variablenbereiche nicht korrekt

#property strict