[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 449

 
artmedia70:

1. Finden Sie das Fraktal, das dem Null-Balken am nächsten liegt, und merken Sie sich dessen Zeit und Preisniveau in den Variablen int und double

2. Suchen Sie bei jedem Tick nach dem Fraktal, das dem Nullbalken am nächsten liegt. Wenn die Zeit nicht gleich der fraktalen Zeit ist, die in Schritt 1 ermittelt wurde, dann...

2.1 Überprüfen Sie das Preisniveau.

2.1.1 Liegt sie unterhalb der fraktalen Ebene in p1, dann ... eine Aktion

2.1.2 Liegt sie über der fraktalen Ebene in p1, .... weitere Aktion

2.2 Schreibe die Zeit dieses Fraktals und sein Niveau in die Variablen aus Schritt 1(int und double)

3. Rückkehr zu Punkt 2


Ist das in meinem Code nicht auch so?
 
DOCTORS:

Ist das in meinem Code nicht auch so?
Das ist es nicht.
 
artmedia70:
es ist nicht so


Ich stimme zu, dass dies nicht eine fraktale Bedingung, aber auf die Tatsache, der Rest?

1. Ich stelle anhand des Zählers fest, dass dies das erste Fraktal ist (z=0), und weise die Variable dem Extremwert der Bedingung (Fraktal) zu (f1= iLow(Null,0,3)).

2. Im anderen Fall (wenn z=1, also nicht das erste "Fraktal" ist, vergleichen wir es mit dem vorherigen (f1 > iLow(NULL,0,3) )

2.1. Wenn der Wert des vorherigen Wertes größer ist, weise ich der Variablen einen neuen Wert zu (f1= iLow(NULL,0,3) und setze den Zähler auf Null (z=0)

2.1 Wenn der vorherige Wert kleiner ist als der neue (f1 < iLow(NULL,0,3) ), schließe ich die Position.

Ist es nicht so?

 
DOCTORS:


Ich stimme zu, dass dies nicht eine fraktale Bedingung, aber auf die Tatsache, der Rest?

1. Ich stelle anhand des Zählers fest, dass dies das erste Fraktal ist (z=0), und weise die Variable dem Extremwert der Bedingung (Fraktal) zu (f1= iLow(Null,0,3)).

2. Im anderen Fall (wenn z=1, also nicht das erste "Fraktal" ist, vergleichen wir es mit dem vorherigen (f1 > iLow(NULL,0,3) )

2.1. Wenn der Wert des vorherigen Wertes größer ist, weise ich der Variablen einen neuen Wert zu (f1= iLow(NULL,0,3) und setze den Zähler auf Null (z=0)

2.1 Wenn der vorherige Wert kleiner ist als der neue (f1 < iLow(NULL,0,3) ), schließe ich die Position.

Ist es nicht so?

Wo ist der Zeitvergleich zwischen dem ersten und dem zweiten Fraktal?
 
artmedia70:
Wo ist der Zeitvergleich zwischen dem ersten und dem zweiten Fraktal?


Und wozu? Natürlich kann ich das, aber ist in meinem Fall die Suche nach einem "Fraktal" durch eine Bedingung definiert (5 Balken mit niedrigem Mi)? Und nicht nach der Zeit ...

Auch hier ist der "z"-Zähler der eigentliche Blocker, so dass die Definition von "fraktal" in meinem Fall nicht in einer Schleife verläuft.

 

Hilfe, bitte. Ich möchte eine Locking-Position eröffnen, wenn das Stop-Loss-Niveau erreicht ist, und sie beibehalten, wenn sich der Preis weiter in eine ungünstige Richtung bewegt. Das Problem besteht darin, dass ich mehrere Aufträge statt eines einzigen eröffnen möchte.

Hier ist die Bedingung:

if (OrderType == OP_SELL && LRMA > OrderOpenPrice() + StopLoss*Point) 
 {
  OrderSend(NULL, OP_BUY, Lot, Ask, 2, 0, 0, 0, 111, 0, Green);
 }

Der Zähler funktioniert aus irgendeinem Grund nicht. Ich habe alles versucht.

 
Hallo, ich prüfe die Historie, bevor ich eine Order öffne (Funktion isLossLastPos von Kim), aber sie öffnet sich nicht immer rechtzeitig, d.h. die Order wird zuerst geöffnet und nach ein paar Ticks funktioniert die Funktion, aber die Order ist bereits geöffnet.
 
chuvee:

Hilfe, bitte. Ich möchte eine Locking-Position eröffnen, wenn das Stop-Loss-Niveau erreicht ist, und sie beibehalten, wenn sich der Preis weiter in eine ungünstige Richtung bewegt. Das Problem besteht darin, dass ich mehrere Aufträge statt eines einzigen eröffnen möchte.

Hier ist die Bedingung:

Der Zähler funktioniert aus irgendeinem Grund nicht. Ich habe alles versucht.

Prüfen Sie vor dem Öffnen eines Schließfachs, ob es nicht verriegelt ist, und öffnen Sie es.
 
T-G:
Hallo, ich überprüfe die Historie, bevor ich eine Order öffne (Funktion isLossLastPos von Kim), aber es passiert manchmal, dass die Order nicht rechtzeitig geöffnet wird, d.h. die Order wird zuerst geöffnet und dann nach ein paar Ticks wird die Funktion wirksam, aber die Order ist bereits geöffnet. Wie kann ich das beheben?

Die Funktion prüft die letzte geschlossene Position, nicht irgendeine Position in der Historie. Wenn die letzte geschlossene Position ein Verlust ist, dann gibt diese Funktion true zurück, andernfalls false

Prüfen Sie also, ob Sie eine Position eröffnen wollen, wenn die letzte Position mit einem Verlust geschlossen wurde:

   if (isLossLastPos(Symbol(), OP_BUY, Magic)) {
      // Код открытия позиции, если последняя закрытая позиция Buy с магиком Magic убыточна
      }

oder

   if (!isLossLastPos(Symbol(), OP_SELL, Magic)) {
      // Код открытия позиции, если последняя закрытая позиция Sell с магиком Magic закрыта с прибылью или в ноль
      }

Etwa so ... wenn ich mich recht erinnere.

 
artmedia70:

Die Funktion prüft die letzte geschlossene Position, nicht irgendeine Position in der Historie. Wenn die letzte geschlossene Position ein Verlust ist, dann gibt diese Funktion true zurück, andernfalls false

Prüfen Sie also, ob Sie eine Position eröffnen wollen, wenn die letzte Position mit einem Verlust geschlossen wurde:

oder

Etwa so ... wenn ich mich recht erinnere

Die Funktion hat keine Zeit, ihn anzuzeigen. Die Order wird zuerst geöffnet, ein paar Ticks vergehen und erst dann zeigt die Funktion den letzten Verlust an, obwohl die Order bereits geöffnet wurde.

Wenn die Bewegung sehr stark ist, können auf eine Kerze 8 Aufträge eröffnet werden