Fehler, Irrtümer, Fragen - Seite 1755

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

fxsaber, 2016.08.03 22:16

HistoryOrderGetInteger(OrderTicket, ORDER_TIME_DONE_MSC ) - gibt im Testgerät Null zurück!

Bitte korrigieren Sie dies.
 

Bestellungen werden schneller aufgegeben als der Ping.

 
Ich habe Situationen erlebt, in denen
HistorySelect(0, TimeCurrent())

Erzeugt eine unvollständige Historientabelle. Dies ist mir nur beim ersten Anruf nach dem Zugriff auf das Konto passiert. Nachfolgend wird die gesamte Geschichte wiedergegeben.

Ich kann es nicht reproduzieren. Mal funktioniert es, mal nicht. Die Rechnung, bitte.

 
fxsaber:

Bestellungen werden schneller aufgegeben als der Ping.

Pings werden selten neu berechnet.
 
fxsaber:
Angesichts von Situationen, in denen
HistorySelect(0, TimeCurrent())

Erzeugt eine unvollständige Historientabelle. Dies ist mir nur beim ersten Anruf nach dem Zugriff auf das Konto passiert. Nachfolgend wird die gesamte Geschichte wiedergegeben.

Ich kann es nicht reproduzieren. Mal funktioniert es, mal nicht. Die Rechnung, bitte.

Stellen Sie niemals TimeCurrent() als Enddatum ein, sondern TimeCurrent() +86400, um sicherzustellen, dass Sie alle letzten Abschlüsse erfassen.

TimeCurrent ist nicht die exakte letzte Zeit, sondern die "letzte bekannte Serverzeit bei Aktualisierungen", die nicht 100%ig genau ist. Vor allem am Anfang.

 
Renat Fatkhullin:

Verwenden Sie niemals TimeCurrent() als Enddatum, sondern TimeCurrent()+86400, um sicherzustellen, dass alle Endtransaktionen erfasst werden.

TimeCurrent ist nicht die exakte letzte Zeit, sondern die "letzte bekannte Serverzeit bei Aktualisierungen", die nicht 100%ig genau ist. Vor allem am Anfang.

Danke, das werde ich tun. Aber es geht definitiv nicht um die Wanze.

Ich habe mich in Konten eingeloggt, in denen die Geschäfte vor sehr langer Zeit getätigt wurden. Das ist so lange her, dass die Registerkarte "Verlauf" leer ist (ich muss mit der Maus einen Antrag auf den vollständigen Verlauf stellen).

Und hier mit ihnen HistorySelect manchmal Null zurückgegeben, manchmal ist der Wert um eins weniger als die nächsten Läufe. Alles in allem gibt es hier definitiv ein Problem.

 
Renat Fatkhullin:

Verwenden Sie niemals TimeCurrent() als Enddatum, sondern TimeCurrent()+86400, um sicherzustellen, dass alle Endtransaktionen erfasst werden.

TimeCurrent ist nicht die exakte letzte Zeit, sondern die "letzte bekannte Serverzeit bei Aktualisierungen", die nicht 100%ig genau ist. Vor allem am Anfang.

Ist +60 nicht genug?
 

Ich habe mir SB angesehen und es gibt KEINE HistorySelect und HistoryOrderGetTicket! Ganz und gar nicht!

Wie wird es funktionieren?

//+------------------------------------------------------------------+
//| Select a deal on the index                                       |
//+------------------------------------------------------------------+
bool CDealInfo::SelectByIndex(const int index)
  {
   ulong ticket=HistoryDealGetTicket(index);
   if(ticket==0)
      return(false);
   Ticket(ticket);
//---
   return(true);
  }
//+------------------------------------------------------------------+

Ich bin mehr und mehr davon überzeugt, dass SB mit Einschränkungen behaftet ist (es gibt auch keine teilweise Umsetzung).

Warum war es nicht möglich, von Anfang an ein großartiges Sprachsystem mit MQL4-Befehlen für SB zu verwenden?

 
fxsaber:

Ich habe mir SB angesehen und es gibt KEINE HistorySelect und HistoryOrderGetTicket! Ganz und gar nicht!

Wie wird es funktionieren?

//+------------------------------------------------------------------+
//| Select a deal on the index                                       |
//+------------------------------------------------------------------+
bool CDealInfo::SelectByIndex(const int index)
  {
   ulong ticket=HistoryDealGetTicket(index);
   if(ticket==0)
      return(false);
   Ticket(ticket);
//---
   return(true);
  }
//+------------------------------------------------------------------+

Ich komme immer mehr zu der Überzeugung, dass sie mit Einschränkungen behaftet ist (es gibt auch keine teilweise Umsetzung).

Warum nicht von Anfang an das wunderbare Sprachsystem MQL4-Order für SB verwenden?

Unwissenheit entbindet nicht von der Verantwortung.

Die Klasse CDealInfo dient dazu, den Zugang zu den Eigenschaften von Geschäften zu erleichtern. Aber um Zugang zu den Geschäften zu erhalten, muss jeder zuerst eine Spur der Geschichte über HistorySelect anfordern.

Schauen Sie sich lieber mehr Beispiele an und lesen Sie Artikel, bevor Sie völlig unbedarfte Fragen stellen und Schlussfolgerungen ziehen.

 
Vladimir Karputov:

Unwissenheit entbindet Sie nicht von Ihrer Verantwortung.

Die Klasse CDealInfo dient dem einfachen Zugriff auf die Geschäftseigenschaften. Für den Zugang zu den Geschäften muss jedoch immer zuerst ein historischer Schnappschuss über HistorySelect angefordert werden.

Es wäre besser, wenn Sie sich mehr Beispiele ansehen und Artikel lesen würden, bevor Sie unverhohlen anzügliche Fragen stellen und voreilige Schlüsse ziehen.

Ich würde Ihnen in Ihrem eigenen Stil antworten, aber wenn Sie Ihre Meinung über einen Moderator äußern, können Sie leicht gesperrt werden.

Wenn es in SB Einschränkungen gibt, kann und sollte man darüber sprechen.