Schließung von Positionen. Anzeigesignal. - Seite 4

 
Ich danke Ihnen. Ich werde es ausprobieren...
 
granit77:
Wenn man Komposter und Vinin Glauben schenkt, dann eher nicht:
for (int v=0; v<OrdersTotal(); v++)

schreiben:
for (int v=OrdersTotal()-1; v>0; v--)

Das funktioniert bei mir.
Irrtum ;) Damit werden alle Aufträge außer dem ersten abgeschlossen.
Dies ist die richtige Variante:
for ( int z = OrdersTotal() - 1; z >= 0; z -- )
{
 
}
 

Ich werde es mir ansehen.

granit77 und Vinin ! Funktioniert es bei Ihnen und werden alle offenen Positionen geschlossen? Ich habe dieses Stück aus irgendeinem Grund.

то вместо:
for (int v=0; v<OrdersTotal(); v++) 
 
написать:
for (int v=OrdersTotal()-1; v>0; v--)
Es wurde damit begonnen, die letzte offene Position zu schließen, anstatt die früheste offene Position. Aber alle anderen bewegen sich weiter...
 
komposter:
granit77:
Wenn man Komposter und Vinin Glauben schenkt, dann eher nicht:
for (int v=0; v<OrdersTotal(); v++)

schreiben:
for (int v=OrdersTotal()-1; v>0; v--)

Das funktioniert bei mir.
Irrtum ;) Damit werden alle Aufträge außer dem ersten abgeschlossen.
Dies ist die richtige Variante:
for ( int z = OrdersTotal() - 1; z >= 0; z -- )
{
 
}


Ich danke Ihnen! Ich werde Ihre Empfehlung jetzt ausprobieren!
 

Das Ergebnis ist immer noch dasselbe! Mit der letzten Option wird nur die letzte offene Position geschlossen!

Lasst uns versuchen, es herauszufinden!

int z = AufträgeSumme() - 1

-Hier ist "z" gleich der Gesamtzahl der offenen Aufträge minus eins! Gleichzeitig setzen wir z >=0.

Offensichtlich bedeutet z-- wahrscheinlich, dass wir (OrderSelect) die offenen Aufträge ab dem jüngsten Auftrag durchsuchen ?

Und es ist klar, dass die letzte Bestellung abgeschlossen werden wird. Da es das erste war, das in den Vertrieb einstieg". Aber zu diesem Zeitpunkt wird die Ausführung der Schließung der anderen Aufträge gestoppt! Und dieser Algorithmus wartet auf das nächste Indikatorsignal zum Schließen. Ich denke, hier sollte etwas hinzugefügt werden. Ich weiß nicht, was ich hinzufügen soll....

Und warum - z = OrdersTotal() - 1; ?

 
rid:

Das Ergebnis ist immer noch dasselbe! Bei der letzten Option wird nur die letzte offene Position geschlossen!

Entfernen Sie nun return nach OrderClose, und beobachten Sie das Ergebnis ;)
 
rid:

Warum eigentlich - z = OrdersTotal() - 1; ?

Da die Anzahl der Aufträge OrdersTotal() ist, hat der erste Auftrag den Index 0 und der letzte dementsprechend OrdersTotal()-1.
Lernen Sie die Grundlagen ;)
 
rid:

Das Ergebnis ist immer noch dasselbe! Mit der letzten Option wird nur die letzte offene Position geschlossen!

Lasst uns versuchen, es herauszufinden!

Es ist sogar gut für das Gehirn und für die Erfahrung.

Alle Fahrräder und Motorräder wurden bereits vor uns erfunden (durchgestrichen) - packen Sie alle Bestellungen in Ihr eigenes Array (vielleicht auch mehrere) und machen Sie damit, was Sie wollen. Sie können sie nach beliebigen Kriterien sortieren, löschen (das Ticket ist Ihr Freund) oder ändern (es ist einfach, Änderungen an Stoplosses/Takeprofits vorzunehmen oder neue Aufträge zu erstellen).

ps (noch eine Sache). Wenn Sie sich entschließen, Ihre Kreation ernst zu nehmen, denken Sie daran, dass die Verbindung mit Ihrem Maklerunternehmen jede Sekunde (Millisekunde) unterbrochen werden kann. Die ideale Lösung besteht darin, den Expert Advisor in die Lage zu versetzen, die Notwendigkeit der Schließung bestimmter Aufträge (in diesem Fall) nach einem Notstopp/einer Abschaltung zu erkennen und diese zu schließen.

Allerdings sind die meisten der öffentlich verkauften "Grals" in Form von P.C. - sind ähnlich spielzeugartig...

 
Shu:

Wenn Sie jedoch kompliziertere Algorithmen implementieren und die Migräne loswerden wollen, sollten Sie es einfach halten.
...
Legen Sie alle Aufträge in Ihr Array (vielleicht auch mehr als einen) und nehmen Sie an diesem Array alle Manipulationen vor, die Sie wünschen.

Darf ich fragen, warum? ;)
Natürlich, wenn es eine komplexe Logik oder mehrere Algorithmen in einem gibt, können wir uns damit beschäftigen, aber für einen einfachen Reverse Expert Advisor, warum?
 
komposter:
Shu:

Wenn Sie jedoch kompliziertere Algorithmen implementieren und die Migräne loswerden wollen, sollten Sie es einfach halten.
...
Legen Sie alle Aufträge in Ihr Array (vielleicht nicht nur einen) und verwenden Sie es, um beliebige Manipulationen vorzunehmen.

Darf ich fragen, warum? ;)
Ich verstehe, wenn es eine komplizierte Logik oder mehrere Algorithmen in einem gibt, kann man sich die Mühe machen, aber für einen einfachen Flipping-Experten, warum?


Das ist richtig - für komplexe Logik. Aber wenn er einmal Honig gekostet hatte, konnte Winnie ihn nicht mehr vergessen. :-)

Wenn es mehr als eine Bestellung gibt, verwende ich sie fast immer. :-)

Grund der Beschwerde: