Fehler, Irrtümer, Fragen - Seite 2987

 
Vladimir Karputov:

Der Haltepunkt wird verschoben - wie bei CSeries::BufferResize geht der EA überhaupt nicht in den Code.


Ich dachte, wenn ein Haltepunkt auf Code gesetzt wird, auf den nicht zugegriffen wird, führt der Debugger den Haltepunkt einfach nicht aus.

D.h. die Bedingung für den Haltepunkt ist nicht erfüllt.
Vladimir, übersehe ich etwas und gibt es etwas in der Dokumentation über Haltepunktverschiebung?

 
inwinterborn:


Ich dachte, dass der Debugger nicht anhält, wenn ein Haltepunkt auf Code gesetzt wird, der nicht angesprochen wird.

D.h. die Haltepunktbedingung ist nicht erfüllt.
Vladimir, übersehe ich etwas, und gibt es etwas in der Dokumentation über Haltepunktverschiebung?

Nein, dieses Wissen stammt nicht aus der Dokumentation.

 
Andrey Dik:

Die Sache ist die, dass die Preise beliebig sein können, welche sind also die richtigen?

Die, die reingekommen sind.

Sie machen diese und andere dumme Kontrollen nicht, aber Sie machenebenso dumme , aber viel teurere 0,0-Kontrollen?

Es ist schwer, etwas Billigeres zu finden, als auf Null zu prüfen. Die Logik des Roboters sollte einfach nicht zusammenbrechen.

 
Vladimir Karputov:

Nein, dieses Wissen stammt nicht aus der Dokumentation.

Vielen Dank für Ihre Antwort!
 
Vladimir Karputov:

Der Haltepunkt wird verschoben - wie in CSeries::BufferResize geht der Prüfer überhaupt nicht hinein.

Und Entschuldigung, aber ist das wirklich richtig?)
 
inwinterborn:
Und es tut mir leid, aber ist das wirklich richtig?)

Ich denke, das ist richtig, denn nicht verwendeter Code wird einfach aus der kompilierten Datei herausgeschnitten. Der Haltepunkt wird also auf den nächstgelegenen verbleibenden Code verschoben.

 
Vladimir Karputov:

Ich denke, das ist richtig, denn nicht verwendeter Code wird einfach aus der kompilierten Datei herausgeschnitten. Der Haltepunkt wird also auf den nächstgelegenen verbleibenden Code verschoben.

Ich verstehe jetzt, was das bedeutet. Danke für die Klarstellung.
 

Ich führe ein Skript wie dieses aus:

void OnStart()
  {
//---
   ResetLastError();
   Print(EnumToString(SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS));   
   Print(GetLastError());                                      
  }

Ergebnis:

2021.03.18 13:01:48.706 TestBugEnumToString (Eu-6.21,H1)        SYMBOL_CALC_MODE_EXCH_OPTIONS
2021.03.18 13:01:48.706 TestBugEnumToString (Eu-6.21,H1)        0

Terminal:

2021.03.18 12:52:45.697 Terminal Opening Broker x64 build 2815 gestartet für JSC ''Opening Broker''
2021.03.18 12:52:45.697 Terminal Windows 7 Service Pack 1 build 7601, Intel Core i5-2520M @ 2.50GHz, 3 / 7 Gb Speicher, 29 / 287 Gb Festplatte, IE 11, UAC, GMT+3

Was mache ich falsch?

 
mktr8591:

Ich lasse ein Skript wie dieses laufen:

Ergebnis:

Terminal:

2021.03.18 12:52:45.697 Terminal Opening Broker x64 build 2815 gestartet für JSC ''Opening Broker''
2021.03.18 12:52:45.697 Terminal Windows 7 Service Pack 1 build 7601, Intel Core i5-2520M @ 2.50GHz, 3 / 7 Gb Speicher, 29 / 287 Gb Festplatte, IE 11, UAC, GMT+3

Was mache ich falsch?

Vielen Dank für diesen Beitrag.

Dies ist ein veralteter Name für denselben Aufzählungswert, er wurde korrigiert.

 
Ilyas:

Vielen Dank für die Nachricht.

Dies ist ein veralteter Name für denselben Aufzählungswert, korrigiert.

Danke, das ist sehr beruhigend!