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

 
DhP:

Wie kann ich diesen Zyklus "einfacher" gestalten? Es dauert sehr lange zu zählen.
 if(iHigh(NULL,60,i)>LOWprice && LOWprice>iLow(NULL,60,i)) if(LOWprice> bid) CountH++ else CountL++; 
 
Sagen Sie mir, warum brauchen Sie Balken "über ein Jahr"? Warum brauchen Sie Balken "über ein Jahr", wenn Sie wirklich nur Daten "über ein bestimmtes Gebiet" benötigen? Suchen Sie ein Werkzeug, das "Plotgröße" definiert, und verwenden Sie dann die Anzahl der Balken, die der "Plotgröße" entspricht.
 
splxgf:
Ja, es ist "bunter" und korrekter.
 
DDFedor:
Sagen Sie mir, warum brauchen Sie Balken "über ein Jahr"? Warum brauchen Sie Balken "über ein Jahr", wenn Sie wirklich nur Daten "über ein bestimmtes Gebiet" benötigen? Suchen Sie ein Werkzeug, das "Plotgröße" definiert, und verwenden Sie dann die Anzahl der Balken, die der "Plotgröße" entspricht.
Ich versteh das nicht...
 
Ich weiß nicht, ob das schön und korrekt ist, aber es beseitigt den doppelten Aufruf von iHigh,iLow... Ich bin zu faul, um jetzt darüber nachzudenken. Wenn Sie die Logik des Codes verstehen, gibt es vielleicht andere Möglichkeiten.
 
splxgf:
Ich weiß nicht, ob das schön und korrekt ist, aber es beseitigt den doppelten Aufruf von iHigh,iLow... Ich bin zu faul, um jetzt darüber nachzudenken. Wenn Sie die Logik des Codes verstehen, gibt es vielleicht andere Möglichkeiten.


hier:

          if(LOWprice> bid)if(iHigh(NULL,60,i)>LOWprice && LOWprice>iLow(NULL,60,i))CountH++;  
          if(LOWprice<=bid)if(iHigh(NULL,60,i)>LOWprice && LOWprice>iLow(NULL,60,i))CountL++;

kein iHigh,iLow Doppelaufruf- es gibt eine zusätzliche Prüfung if(LOWprice<=bid) - wir sollten else verwenden

 
splxgf:
Ich weiß nicht, ob das schön und korrekt ist, aber es hilft, doppelte iHigh,iLow zu vermeiden... Ich bin zu faul, um jetzt darüber nachzudenken, aber wenn ich die Logik des Codes verstehe, gibt es vielleicht andere Möglichkeiten.

Für den frischen Kopf von morgen:

Eine doppelte Schleife (while und for) wählt Preise über und unter dem Bid aus und zählt, wie oft der Preis im Laufe des Jahres in die Stundenbalken "eindringt".

Der Preis, der die meisten Balken durchdrungen hat, ist der stärkste Widerstand.

Wir haben also 2 starke Niveaus im Bereich von 600 Punkten. Über und unter dem Gebot.

 

Andernfalls würde ich ein großes Array (60 Kilobytes sind nicht zu viel und können der Geschwindigkeit zuliebe geopfert werden) mit Preisniveaus erstellen und es mit der Anzahl der Überschreitungen der Stundenbalken füllen. Es würde einmal in init aufgerufen werden und bei Erscheinen eines neuen Stundenbalkens würden die notwendigen Levels inkrementiert werden, und in allen anderen Fällen würde das Array für den benötigten Preis mit einem einfachen Zyklus ausgewählt werden.

 
abolk:


wenn programmgesteuert - beim Öffnen eines Auftrags - eine Magie und ein Kommentar vorhanden sind - können Sie die Informationen über die spezifische Bedingung, unter der der Auftrag geöffnet wird, in der Magie oder im Kommentar verschlüsseln

Im Allgemeinen wird der Stop nicht durch eine Bedingung ausgelöst, sondern wenn der Preis ein bestimmtes Niveau erreicht - der Auftrag kann durch eine Bedingung geschlossen werden

Und wie soll man nach n Takten zu einem bereits geschriebenen Kommentar zurückkehren?


Wie kann ich generell Informationen über den letzten abgeschlossenen Auftrag erhalten?

 
Xaoss1990:

Wie kann ich zu einem bereits geschriebenen Kommentar zurückkehren, nachdem ich ihn geschrieben habe?

Wie kann ich generell Informationen über den letzten abgeschlossenen Auftrag erhalten?


Wählen Sie den Auftrag https://docs.mql4.com/ru/trading/OrderSelect - Suche in einer Schleife oder Auswahl nach Ticket

dann wird mit der Funktion Order*() der entsprechende Order-Parameter nachgeschlagen

Grund der Beschwerde: