[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 127

 
borilunad:
... Ich habe es für Sie eingefügt. Sie können dies auch in Ihrem Beitrag tun.
Cool.
 
borilunad:
Tut mir leid, das wird nicht funktionieren! Nicht der erste und nicht der letzte!

Und warum? Denn die letzte Bestellung ist OrdersTotal()- 1, und die erste Bestellung hat einen Index von 0 . Warum funktioniert es dann nicht?
 
borilunad:

Ich habe eine Funktion für alle Modifikationen wie das Setzen von SL und TP, das Übertragen auf B/S, das Durchsuchen von Positionen und Aufträgen mit Versuchen und Fehlerprüfungen.

Ich muss nur die Positionswahl, die Bedingungen und die Warnungen am Anfang vorschreiben. Hier ist die Funktion:

Klein aber fein!


Übrigens ändert Ihre Funktion nur die Aufträge. Und die Bedingungen sind bereits alle am Start. Und ich habe alle Bedingungen in der Funktion. Es stellt sich heraus, dass viele Bedingungen in den Start gesetzt werden und es wäre sehr unvernünftig, sie zu überladen, nicht wahr? Schließlich liegt das Wesen der Funktion meist in den Bedingungen, nicht nur in der bloßen Änderungsfunktion, natürlich mit Anzeige von Fehlern. Aber irgendwie haben Sie einen seltsamen Ansatz. Ich bin noch nicht darauf gestoßen. Ich schaue und bin überrascht.
 
hoz:

Übrigens: Ihre Funktion ändert nur Aufträge. Und die Bedingungen sind bereits alle am Start. Und ich habe alle Bedingungen in der Funktion. Es stellt sich heraus, dass viele Bedingungen in den Start gesetzt werden und es wäre sehr unvernünftig, sie zu überladen, nicht wahr? Schließlich liegt das Wesen der Funktion meist in den Bedingungen, nicht nur in der bloßen Änderungsfunktion, natürlich mit Anzeige von Fehlern. Aber es ist ein seltsamer Ansatz. Ich habe noch nie einen solchen Ansatz gesehen. Ich sehe sie an und frage mich.
Jeder wählt das, was für ihn bequem ist! Ich habe den Vorteil, dass eine Funktion genau alle möglichen Modifikationen einer offenen und schwebenden Position erfüllt. Ich gebe alle erforderlichen Bedingungen in der Startzeile an, die sich je nach den Launen des Marktes häufig ändern können. Das gibt mir große Flexibilität bei meiner Arbeit. Im Gegensatz dazu müssen Sie viele Funktionen haben und trotzdem alle Bedingungen im Start und in den Funktionen vorschreiben. Sie werden allmählich zu Ihrer eigenen bequemen Art und Weise finden. Die Hauptsache ist jedoch, dass das Programm eine klare Logik und einen fehlerfreien Betrieb aufweist. Ich wünsche Ihnen viel Erfolg!
 
hoz:

Und warum? Denn die letzte Bestellung ist OrdersTotal() - 1, und die erste Bestellung hat den Index 0 . Warum dann nicht?

Für die letzte Bestellung gibt es eine Funktion bei Kim, wo er nach Zeit vergleicht, um Fehler zu vermeiden, und für die erste Bestellung.

Sie denken an alles auf einmal, aber der Computer denkt immer nur an eines, z. B. 0 oder 1, dann wieder 0 oder 1, und wieder 0 oder 1 usw.

Sie müssen sich also nach der Logik der Maschine richten, nicht nach unserer. Und die Belohnung ist ein fehlerfreies Programm! Viel Glück!

 
borilunad:
Verwenden Sie dieSRC-Schaltfläche oben, um den Code einzufügen! Niemand wird auf diese Weise herumstochern. Ich habe sie für Sie eingefügt. Sie können dies auch in Ihrem Beitrag tun.
Danke für die Hilfe, ich habe meinen Beitrag korrigiert und hoffe, er war richtig.
 
borilunad:

Ich habe eine Funktion für alle Modifikationen wie das Setzen von SL und TP, das Übertragen auf B/S, das Durchsuchen von Positionen und Aufträgen mit Versuchen und Fehlerprüfungen.

Ich muss nur die Positionswahl, die Bedingungen und die Warnungen am Anfang vorschreiben. Hier ist die Funktion:

void ModifyOrder(int ticket,double price,double stoploss,double takeprofit,datetime e,color arrow_color)
{
  int ModifyCnt = 0, err;
  while(ModifyCnt < 3)
  {
    if(OrderModify(ticket,NormalizeDouble(price,Digits),NormalizeDouble(stoploss,Digits),
    NormalizeDouble(takeprofit,Digits),0,arrow_color))
    ModifyCnt = 3;
    else err = GetLastError();
    if(err > 0)
    { 
      Print(ModifyCnt," #",ticket," Error modifing order: (", err , ") " , ErrorDescription(err));
      Sleep(5000); RefreshRates(); ModifyCnt++;
} } }

Der Kleine!


Boris. Warum haben Sie hier die Variable e?
 
hoz:

Boris. Warum haben Sie hier die Variable e?
Die Variable e ist die Variable (für order, siehe OrderModify() doc), die ich angeben muss, wenn ich arrow_color verwenden möchte, eine für bai und eine andere für sell, und ich kann die Farben für orderModify()) variieren. Schließlich geht das Programm nicht auf einmal auf solche Details ein, wie wir es tun, sondern nach und nach, indem es die Parameter durch ihren Ort der Präsentation in der Standardfunktion OrderModify() definiert.
 
borilunad:
Variable e ist ein Ablauf (für Aufträge, siehe Doc OrderModify()), die ich angeben muss, wenn ich arrow_color verwenden möchte, für bai eine, und für sell eine andere, und für Aufträge kann ich die Farbe diversifizieren). Schließlich geht das Programm nicht auf einmal auf solche Details ein, wie wir es tun, sondern nach und nach, indem es die Parameter durch ihren Ort der Präsentation in der Standardfunktion OrderModify() definiert.

Sie können ihn auf 0(Null) setzen, da der Ablauf normalerweise nicht erforderlich ist. Aber Sie haben es wahrscheinlich für den Notfall, damit Sie nicht zu diesem Punkt zurückkehren müssen.
 
Können Sie mir einen Rat geben: Gibt es eine frei verfügbare benutzerdefinierte Funktion, die bereits geschrieben wurde und die ein Array als Input nimmt und es nach Excel exportiert?
Grund der Beschwerde: