Cycle Operator 'für' Fragen - Seite 14

 
RaptorUK:

Dies funktioniert jedoch nicht wie beabsichtigt, denn das Konzept ist fatal fehlerhaft ... bis man versteht, warum es keinen Sinn hat, weiterzumachen.


Wie ich schon sagte . . .
 

Simon,

Ich glaube, ich habe verstanden.

Ich habe es mit zwei Auftragspositionsindizes zu tun. Der erste Auftragspositionsindex ist ein "Acitve order index" und der zweite Auftragspositionsindex ist ein "History order index".

Das Programm druckt eine Bestellscheinnummer aus einem anderen Auftrag in den "Historischen Bestellindex". Ich muss das aktuelle Orderticket speichern, um die richtige Ticketnummer auszuwählen, damit das Programm die Print()-Funktion mit der richtigen Orderticketnummer als Abschlusszeitpunkt ausführen kann.

Ich danke Ihnen.

 

Simon,

Ich möchte Ihre Antwort lesen und darauf antworten, damit ich andere Aufgaben erledigen kann. Ich hoffe, dass wir diese Diskussion bald wieder aufnehmen können. Es ist viel erreicht worden.

Ich danke Ihnen.

 
Sie sind willkommen... Nehmen Sie sich Zeit, lassen Sie es auf sich wirken, lernen Sie.
 

Ja, ich glaube, ich lerne viel, im und außerhalb des MQL4-Forums. Ja, ich werde auch einige Grundlagen behandeln. Haha ;)

Vielen Dank dafür.

 

Simon,

Ich habe mich mit Arrays beschäftigt, um ein bisschen zu schalten. Ich glaube, Folgendes über mehrdimensionale Arrays gelernt zu haben.

Arrays können ein-, zwei-, drei- oder vierdimensional sein. Sie sind indiziert. Indizes beginnen mit Null und gehen weiter (Beispiel: 0,1,2,3,4)

Indizes sehen wie folgt aus: |0|1|2|3|4|...

Ein Beispiel für ein zweidimensionales Array würde so aussehen.

int two_dim_array[5,2][4,3];

Ein zweidimensionales Array sieht irgendwie wie ein Schachbrett aus. Wenn Sie jemals Schach gespielt haben, werden Sie mir zustimmen, dass die Figuren wie folgt bewegt werden: "Ziehe den König nach d2" oder "Ziehe den Turm nach h4".

Array-Dimensionen mit mehr als einer Dimension sind einfach zusätzliche "virtuelle Schachbretter" ;)

Ein Beispiel für ein dreidimensionales Array wäre etwa so.

int three_dim_array[5,2][3,6][7,5]; // each "[]" aka index represents a virtual chess board. (three indexes/virtual chessboards)

Ich glaube, das sollte fürs Erste genügen. Was ist Ihre Antwort auf das, was ich glaube, gelernt zu haben?


Das zugrundeliegende Problem, das durch die Art und Weise verursacht wird, wie Sie Ihre while-Schleife kodiert haben ... das Problem, das zu Ungültiges Ticket für die Funktion OrderClose und Unbekanntes Ticket 2 für OrderModify geführt hat, haben Sie nicht behoben, sondern nur das Symptom behandelt.

Ich möchte dieses Problem mit Ihnen bis ins kleinste Detail besprechen, damit ich mich auf die Lösung des Problems konzentrieren kann, ohne von anderen Punkten abgelenkt zu werden.


Ich danke Ihnen.

 
WhooDoo22:

Ich denke, das sollte für den Moment genügen. Was ist Ihre Antwort auf das, was ich glaube, gelernt zu haben?

Ich weiß nicht, was haben Sie gelernt? Wissen Sie, was eine Blasensortierung ist? Wissen Sie, wie man ein Array richtig deklariert? Wissen Sie, wie man ein Array falsch deklariert?


Ich habe vor über 30 Jahren etwas über eine Blasensortierung gelernt, ich kann mich nicht mehr an die Details erinnern, aber ich weiß noch, dass eine Möglichkeit, ein Array zu sortieren, darin besteht, eine Blasensortierung zu verwenden.
 

Simon,


"Wissen Sie, wie man ein Array richtig deklariert?"

Ich habe Arrays in dieser Form deklariert (unter SRC ist ein eindimensionales Array-Beispiel)

int one_dim_vector[]={0,0,0,0,0};  // one dimensional array declaration;


"Ich habe vor über 30 Jahren gelernt, wie man Blasen sortiert."

Ich bin erst letzten Oktober 22 Jahre alt geworden, Sie sind mir also ein paar Jahre voraus ;)

Blasensortierung. Hmm, ich werde mir das auf jeden Fall ansehen!


Das zugrundeliegende Problem, das durch die Art und Weise, wie Sie Ihre while-Schleife codiert haben, verursacht wird ... das Problem, das zu Ungültiges Ticket für die Funktion OrderClose und Unbekanntes Ticket 2 für OrderModify geführt hat, haben Sie nicht behoben, weil Sie das Symptom angegangen sind.

Ich möchte dieses Problem mit Ihnen bis ins kleinste Detail besprechen, damit ich mich auf die Lösung des Problems konzentrieren kann, ohne von anderen Punkten abgelenkt zu werden.


Ich danke Ihnen.
 

Simon,

Ich habe alle Variablen deklariert, alle Arrays initialisiert usw. Ich bin bereit, mit dem Schreiben des Codes für meinen Auftrag zu beginnen. Ich möchte den Code anders schreiben, um "den Ball ins Rollen zu bringen". Der Code muss eine Order auswählen (ich weiß derzeit nicht, welche Order er auswählen muss). Sie haben erwähnt, dass ein EA in der Lage sein muss, einfach auf einem Chart zu erscheinen und mit dem Handel zu beginnen, unabhängig von der aktuellen Handelsaktivität des Kontos. Was ist dafür erforderlich? Ich bin sicher, dass ich das programmieren kann.

Ich danke Ihnen.

 
WhooDoo22:

Simon,

Ich habe alle Variablen deklariert, alle Arrays initialisiert usw. Ich bin bereit, mit dem Schreiben des Codes für meinen Auftrag zu beginnen. Ich möchte den Code anders schreiben, um "den Ball ins Rollen zu bringen". Der Code muss eine Order auswählen (ich weiß derzeit nicht, welche Order er auswählen muss). Sie haben erwähnt, dass ein EA in der Lage sein muss, einfach auf einem Chart zu erscheinen und mit dem Handel zu beginnen, unabhängig von der aktuellen Handelsaktivität des Kontos. Was ist dafür erforderlich? Ich bin sicher, dass ich das programmieren kann.

Ich danke Ihnen.

Wenn Sie nicht herausfinden können, was erforderlich ist, werden Sie es nie codieren ... finden Sie es zuerst heraus, das ist der schwierige Teil, das Codieren ist im Vergleich dazu einfach. Denken Sie nicht die ganze Zeit an "Code" ... das ist ein häufiger Fehler, den man macht ... aber
Sie müssen sich das abgewöhnen.

Wenn Ihr Code nichts mit offenen Aufträgen macht, weil sie auf TP oder SL laufen, dann muss sich Ihr Code nicht mit offenen Aufträgen beschäftigen, wenn er gestartet wird. Andererseits, wenn Ihr Code offene Aufträge in irgendeiner Weise verwaltet, z.B. Trailing SL, dann muss er zuerst alle offenen Aufträge finden, die zu ihm gehören, und deren Trailing SL verwalten, wie er es für einen Auftrag tun würde, den er gerade platziert hat ... haben Sie ein Flussdiagramm für den EA, den Sie versuchen zu programmieren?