Nein, die Funktion funktioniert richtig, warum ist der Rückgabewert nicht 1 und14 Aufträge, sondern 2?
Ist es ein Prüfgerät?
Bei mir funktioniert es einwandfrei.
Sie müssen nach dem Preis sortieren, da Sie nicht nach der Größe suchen können. Das Raster kann gemischt sein, und Sie werden entweder das größte oder das kleinste finden, aber nicht das erste und nicht das letzte
Dazu müssen Sie aber zuerst das Ticket der letzten Bestellung herausfinden 14
Der Auftrag muss also immer noch zuerst durchsucht werden, wie in der ersten Funktion?
Oder einfachSELECT_BY_POS durchSELECT_BY_TICKET ersetzen
Das hängt davon ab, was Sie überprüfen müssen. In der Tat können wir hier alles herausfinden, die Bestellung nach Preis auswählen und dann die erforderlichen Parameter dafür schreiben und alles zurückgeben.
Schleifen ein weiteres Mal zu verwenden ist keine gute Idee, daher ist es besser, alles in einer Schleife zu realisieren; im realen Handel fällt das nicht auf, aber die Tests im Tester laufen sehr lange. Es hängt jedoch alles von der Aufgabe ab, jemand schreibt Programme für den Prüfer und jemand für den Handel, so dass Sie mehr als einen Zyklus verwenden können.
P.S. Wenn der Expert Advisor ein Pipsqueak ist, ist es natürlich besser, keinen einzelnen Zyklus zu verwenden.)
Danke, aus irgendeinem Grund funktioniert das mit dem Los nicht so.
double r=-1;
if (sy=="0") sy=Symbol();
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()>1 && OrderType()<6) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (r>OrderLots() || r==-1) {
r=OrderLots();
}}}}}}}
return(r);
}
Wie gebe ich das Lot des vierzehnten Verkaufsstopps auf dem Snapshot Lot= 0,03 zurück?
Danke, aus irgendeinem Grund funktioniert das mit dem Los nicht so.
if (sy=="0") sy=Symbol();
double r=MarketInfo(sy, MODE_MINLOT);
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()>1 && OrderType()<6) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (r>OrderLots()) {
r=OrderLots();
}}}}}}}
return(r);
}
Hier suchen wir das Los, das am weitesten vom Preis entfernt ist
datetime t=0;
double r=-1,l=0;
if (sy=="0") sy=Symbol();
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()>1 && OrderType()<6) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (r>OrderOpenPrice() || r==-1) {
r=OrderOpenPrice();
l=OrderLots();
}}}}}}}
return(l);
}
Danke, aus irgendeinem Grund funktioniert das mit dem Los nicht so.
double r=-1;
if (sy=="0") sy=Symbol();
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()>1 && OrderType()<6) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (r>OrderLots() || r==-1) {
r=OrderLots();
}}}}}}}
return(r);
}
Wie kann ich das Lot des vierzehnten Verkaufsstopps im Snapshot Lot= 0,03 zurückgeben?
Nein, die Funktion funktioniert richtig, warum ist der Rückgabewert nicht 1 und14 Aufträge, sondern 2?
Ist es ein Prüfgerät?
Bei mir funktioniert es einwandfrei.
Hier suchen wir das Los, das am weitesten vom Preis entfernt ist
Vielen Dank, das macht Sinn. Gefunden, jetzt können Sie alles darüber herausfinden )
Nein, die Funktion funktioniert richtig, warum ist der Rückgabewert nicht 1 und14 Aufträge, sondern 2?
Ist es ein Prüfgerät?
Bei mir funktioniert es einwandfrei.
Vielen Dank, das macht Sinn. Gefunden, jetzt erfahren Sie alles, was Sie darüber wissen müssen )
Um alle Informationen über einen Auftrag oder eine Position zu erhalten, ist es besser, ein Ticket zu verwenden
// всё что угодно
}
...warum ist der Rückgabewert nicht 1 und14 Aufträge, sondern 2?
Denn ich nenne es so
Um die vollständigen Details eines Auftrags oder einer Position zu erfahren, ist es besser, dies über das Ticket zu tun
// всё что угодно
}
Dazu müssen wir aber zunächst das Ticket der letzten Bestellung kennen 14
Der Auftrag muss also immer noch zuerst durchsucht werden, wie in der ersten Funktion?
Oder einfach SELECT_BY_POS durch SELECT_BY_TICKET ersetzen
Dazu müssen Sie aber zuerst das Ticket der letzten Bestellung herausfinden 14
Der Auftrag muss also immer noch zuerst durchsucht werden, wie in der ersten Funktion?
Oder einfach SELECT_BY_POS durch SELECT_BY_TICKET ersetzen
Das hängt davon ab, was Sie überprüfen müssen. In der Tat können wir hier alles herausfinden, die Bestellung nach Preis auswählen und dann die erforderlichen Parameter dafür schreiben und alles zurückgeben.
Schleifen ein weiteres Mal zu verwenden ist keine gute Idee, daher ist es besser, alles in einer Schleife zu realisieren; im realen Handel fällt das nicht auf, aber die Tests im Tester laufen sehr lange. Es hängt jedoch alles von der Aufgabe ab, jemand schreibt Programme für den Prüfer und jemand für den Handel, so dass Sie mehr als einen Zyklus verwenden können.
P.S. Wenn der Expert Advisor ein Pipsqueak ist, ist es natürlich besser, keinen einzelnen Zyklus zu verwenden.)