Cycle Operator 'für' Fragen - Seite 12

 
WhooDoo22:

Simon,

Jetzt kommt's... BAM!

Noch besser! Hahaha ;)

Ich danke dir.

Denken Sie nach, bevor Sie codieren. . wie viele Aufträge haben Sie im History-Pool? woher wissen Sie, dass ich der richtige bin?
 
WhooDoo22:


Warum wird der Zeitpunkt des Orderschlusses in einer solchen Form dargestellt (1357306061)?

Ist der Grund, warum die Print()-Funktion funktioniert, dass die OrderSelect()-Funktion (innerhalb der geschweiften Klammern) die geschlossene Order auswählen muss und NICHT eine offene Order? Das muss innerhalb der geschweiften Klammern geschehen, oder? ;) Knifflig, knifflig.

Wie können Sie so eine Frage stellen ? was gibt OrderCloseTime() zurück ? aus der Dokumentation . . ."datetime OrderCloseTime( )" was ist ein dateetime ? aus der Dokumentation . . . "Der Wert stellt die Anzahl der Sekunden dar , die seit 00:00 Uhr am 1. Januar 1970 vergangen sind."

Es ist an der Zeit, dass Sie die Dokumentation lesen...

 
WhooDoo22:

Simon,

Behoben, so dass es wie vorgesehen funktioniert.

Zeilen 2 und 3.

Deine Korrektur ist eine Verbesserung . . .

Wenn "Zeilen 2 und 3" Ihre Antwort auf meine Frage ist, dann müssen Sie noch einmal nachsehen, denn sie ist falsch ... wenn Sie glauben, dass sie richtig ist, erklären Sie bitte, warum sie richtig ist.

 

Simon,


Denken Sie nach, bevor Sie programmieren. . wie viele Aufträge haben Sie im History-Pool? woher wissen Sie, dass ich der richtige bin?


Ich könnte Ihnen die gleiche Frage stellen, Simon ;)

Woher wissen Sie, dass die Variable 'ClosedTicketNumber' (OrderTicket();) das richtige Ticket auswählt (ich erwarte, dass Ihre Antwort ähnlich ausfällt wie meine eigene) ?


Ich weiß...

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)

das richtige Ticket auswählt UND ;) die-

Print(OrderCloseTime());

wird den richtigen Bestellschein ausdrucken, weil der 'while'-Zyklus den richtigen Bestellschein gefunden hat, bevor das Programm zu diesem Abschnitt in geschweiften Klammern kam.


Ich danke Ihnen.

 

Simon,

Deine Lösung ist eine Verbesserung . . .

Ich genieße diesen sehr seltenen Moment, in dem "Simon" sagt: "Es gibt vielleicht einen sehr kleinen, schimmernden Hoffnungsschimmer für deine Zukunft als Programmierer." Hahaha ;)


Wenn "Zeilen 2 & 3" Ihre Antwort auf meine Frage ist, dann müssen Sie noch einmal nachsehen, denn sie ist falsch ... wenn Sie denken, dass sie richtig ist, erklären Sie bitte, warum sie richtig ist.

Aah, ja, ja. Ich arbeite daran. ;)


Ich danke Ihnen.

 
WhooDoo22:


Ich könnte dir die gleiche Frage stellen, Simon ;)

Woher wissen Sie, dass die Variable 'ClosedTicketNumber' (OrderTicket();) das richtige Ticket auswählt (ich erwarte, dass Ihre Antwort ähnlich ausfällt wie meine eigene)?


Ich weiß...

das richtige Ticket auswählen wird UND ;) die-

wird den richtigen Bestellschein ausdrucken, weil der 'while'-Zyklus den richtigen Bestellschein gefunden hat, bevor das Programm zu diesem Abschnitt in geschweiften Klammern kam.

Ihre Variablei ist ein Index im Auftragspool... NICHT der History-Pool ... wenn Sie 100 geschlossene Aufträge im History-Pool haben und Ihr Wert voni ist 5, dann sehen Sie einen geschlossenen Handel 95 Trades in der Zeit zurück ...

Mein Code funktioniert, weil ... . nun, Sie sollten wissen, warum er funktioniert, denn Sie sollten ihn gelesen und herausgefunden haben, was er tut und warum er funktioniert ... aber das haben Sie nicht, also müssen Sie fragen "warum", und deshalb lernen Sie nichts.

Mein Code funktioniert, weil vor dem Schließen der Bestellung die Ticketnummer (Ticketnummern sind unabhängig vom Pool eindeutig!!) in einer Variablen,ClosedTicketNum, gespeichert wird. die Bestellung wird dann geschlossen und in den History-Pool verschoben, dann wird die VariableClosedTicketNum verwendet, um die richtige Bestellung auszuwählen, und schließlich betrachtet OrderCloseTime() jetzt die richtige Bestellung ... und nicht irgendeine unbekannte Bestellung im History-Pool, die auf einer Indexnummer aus dem Bestellungspool basiert ...
 
WhooDoo22:


Ich weiß-

das richtige Ticket auswählt UND ;) die-

den richtigen Bestellschein ausdrucken, weil der 'while'-Zyklus den richtigen Bestellschein gefunden hat , bevor das Programm zu diesem Abschnitt innerhalb der geschweiften Klammern kam.

Ihre while-Schleife hat keine Fahrkarte gefunden. . sie hat möglicherweise den Index der USDJPY-Order im Order-Pool gefunden ... ein Pool-Index != eine Ticket-Nummer hatten wir das nicht schon einmal ? Sie haben also einen Index für den Order-Pool ... warum erwarten Sie, dass die geschlossene USDJPY-Order an der gleichen Stelle in einem völlig anderen Pool, dem History-Pool, landet ?
 

Simon,

"Ihre Variablei ist ein Index im Auftragspool. . . NOT the History pool . . ."

In der OrderSelect()-Dokumentation ist nicht angegeben, wie viele Aufträge maximal im History-Pool gespeichert werden können (Sie haben etwas in der Art von hundert Aufträgen geschrieben). Die OrderSelect()-Dokumentation gibt dies nicht an, soweit ich es gelesen habe.

Ich hätte möglicherweise allen Aufträgen des Historienpools Nullen zuweisen können, sobald hundert Aufträge mit anderen Werten als den Standardwerten erfüllt worden sind. Ich glaube jedoch, dass in diesem Fall Ihre Methode, die Nummer des Auftragstickets in einer Variablen zu speichern, genau richtig ist. Ich bin davon ausgegangen, dass die Werte automatisch zurückgesetzt werden, sobald die Auftragshistorie ihre Grenze von scheinbar hundert Aufträgen erreicht hat.


Ich danke Ihnen.

 
WhooDoo22:

Simon,

"Ihre Variablei ist ein Index im Auftragspool. . . NOT the History pool . . ."

In der OrderSelect()-Dokumentation ist nicht angegeben, wie viele Aufträge maximal in der Historie gespeichert werden können (Sie haben etwas in der Art von hundert Aufträgen geschrieben). Die OrderSelect()-Dokumentation gibt dies nicht an, soweit ich sehen kann.

Ich hätte möglicherweise allen Aufträgen des Historienpools Nullen zuweisen können, sobald hundert Aufträge mit anderen Werten als den Standardwerten erfüllt worden sind. Ich glaube jedoch, dass in diesem Fall Ihre Methode, die Nummer des Auftragstickets in einer Variablen zu speichern, genau richtig ist. Ich bin davon ausgegangen, dass die Werte automatisch zurückgesetzt werden, sobald die Auftragshistorie ihr Limit von scheinbar hundert Aufträgen erreicht hat.

Lesen Sie noch einmal ... Sie missverstehen, was ich geschrieben habe ... Sie könnten 10 geschlossene Orders im History-Pool haben oder 20 oder 15 ... welche Anzahl Sie auch immer haben ... 10.000 , 1.000 , 121 . . . wenn Sie irgendeine Zahl außer einer bestimmten Zahl haben, wird Ihr Code nicht funktionieren. Was ist diese bestimmte Zahl? es müsste der Wert von i sein.
 
WhooDoo22:


Ich hätte möglicherweise allen Aufträgen des Historienpools Nullen zuweisen können, sobald hundert Aufträge mit anderen Werten als den Standardwerten erfüllt worden sind.

Wie?