Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1074

 
Artyom Trishkin:

Und Sie drucken die numerischen Werte der Flaggen aus. Die Gesamtflagge sollte alle Werte der gewünschten Flaggen enthalten. Und was bedeutet OBJ_PERIOD_H3-1? Wenn die Summe aller Flaggen es ergibt, dann ja, aber wenn nicht, dann gibt es irgendwo einen Fehler.

Nein... Ich habe neulich in einem Thread über Flaggen gesprochen und mit Zeilen wie dieser experimentiert

Print("summa_flag = ", 1 | 2 | 4);

das ergibt 7

а

Print("summa_flag = ", 1 | 2 | 3);

es gibt nur 3.


Hinzugefügt:

Schau, Flagge 4... die Summe davor ist 3.

Flagge 16... die Summe davor ist 15.

Und so weiter.

 
Alexey Viktorov:

Nein... Ich habe neulich in einem Thread über Flaggen gesprochen und mit Zeilen wie dieser experimentiert

das ergibt 7

а

gibt nur 3

Natürlich. Das ist genau dort.

Jedes nachfolgende Kennzeichen muss einen doppelt so hohen Wert haben wie das vorhergehende.

Und durch die Eingabe von 3 statt 4 haben Sie die ersten beiden Flaggen 1 und 2 dupliziert.
 
Alexey Viktorov:
Natürlich ist sie das. Nur eine kurze Zeile. Sie müssen nur feststellen, welches die älteste TF in der Liste der Flaggen ist.

Das funktioniert bei uns! Eine großartige Lösung!

 
Anzhela Sityaeva:

Das funktioniert bei uns! Tolle Lösung!

Dies gilt nur, wenn Sie wollen, dass alles VOR dem höchsten Zeitrahmen sichtbar ist. Sobald Sie eine davon vor der ältesten entfernen wollen, wird es mit einem solchen Entwurf nicht funktionieren.

ZS, entschuldigen Sie, ist "Sie", "wir", "unsere Majestät"?

 
Artyom Trishkin:

Dies ist nur dann der Fall, wenn Sie wollen, dass alles VOR dem höchsten Zeitrahmen sichtbar ist. Sobald Sie einen von denen, die vor dem ältesten sind, entfernen wollen, wird nichts mit einer solchen Konstruktion funktionieren.

Artem, alles wird gut werden.

Sie müssen z.B. alle unteren Werte außer M15 anzeigen...

Dann wird es so sein.

ObjectSetInteger(ch_id, name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H3-1-OBJ_PERIOD_M15);
 
Alexey Viktorov:

Artem, alles wird gut werden.

Sie müssen z.B. alle unteren Werte außer M15 anzeigen...

Das wäre...

Also... was ich damit sagen will, ist...

Fahren Sie fort - und zeigen Sie, was passiert, wenn Sie alle Höchstwerte bis einschließlich W1 und einen Tiefstwert anzeigen müssen...

 
Artyom Trishkin:

ZS, entschuldigen Sie, heißt es 'Sie', 'wir', 'unsere Majestät'?

YES. Es gibt zwei von uns.))

 
Alexey Viktorov:

YES. Wir sind ja schließlich zu zweit.))

Sie verwechseln Ihr zweites "wir" - Sie haben einen Weg aufgezeigt, der nur in einer einzigen Situation funktioniert - nur dann, wenn Sie ALLES anzeigen müssen: von, und bis..., und nicht mehr.

Und dann gibt es einen Verlust an Flexibilität, und wieder müssen Sie auflisten, aber schon unnötige Fahnen

 
Artyom Trishkin:

Dies gilt nur, wenn Sie möchten, dass alles VOR dem ältesten Zeitrahmen sichtbar ist. Wenn Sie eine davon vor der ältesten entfernen wollen, dann wird nichts mit einem solchen Entwurf funktionieren.

ZS, entschuldige, ist "du", "wir" unsere Majestät?

Nein, natürlich nicht, es ist nur so, dass ich nicht der Einzige hier bin, und der Großteil der Kommunikation geht auf mich... Partner sind keine Fans von Chatrooms etc....

 
Artyom Trishkin:

Also... was ich meine, ist...

Fahren Sie fort - und zeigen Sie, was passiert, wenn wir alle hohen Werte bis einschließlich W1 und einen niedrigen Wert anzeigen müssen...

Klären. Ich verstehe das nicht ganz.

Artem, ich habe die Flaggen auf Ihre Anregung hin bearbeitet. Und ich habe sie alle neu berechnet, nicht nur per Software, sondern auch mit einem Taschenrechner. Ich versichere Ihnen, dass alles funktionieren wird. Sie müssen nur wissen, wie viel Sie von welcher Flagge abziehen müssen, damit nur die gewünschten Flaggen übrig bleiben.

Nun, rechne mal aus, wie viel du von 32 abziehen musst, damit die Summe der Flaggen 1|2|8 übrig bleibt

Der Merker 32 selbst enthält keinen der aufgeführten Merker. Zieht man jedoch 1 ab, ergibt sich die Summe der Flaggen: 1|2|4|8|16 = 31

Wenn wir also ein Flag 32 haben, das nicht benötigt wird, ziehen wir 1 davon ab und subtrahieren die Summe von 4|16 von 31 und wir haben nur 1|2|8

Grund der Beschwerde: