Fragen von Anfängern MQL4 MT4 MetaTrader 4 - Seite 123

 

Wie füge ich einen Wert, um die Kauf/Verkauf Bedingung, wenn der RVI-Indikator zum Beispiel: wenn zwei Linien kreuzen einander öffnet es einen Kauf/Verkauf Ordnung, aber ich will es nicht nur eine Kreuzung, aber wenn die Kreuzung über 0 Wert ist?

MM und MS sind RVI-Indikatorlinien

  if (MM > MS && MoM < MS && MoM < MM)
   {
    OrderSend(_Symbol, OP_BUY, Lot, Ask, 3, Ask-SL*Point, Ask+TP*Point, "", Magic, 0, Red);
   }
  if (MM < MS && MoM > MS && MoM > MM)
   {
    OrderSend(_Symbol, OP_SELL, Lot, Bid, 3, Bid+SL*Point, Bid-TP*Point, "", Magic, 0, Red);
   }


 

Hallo!

Können Sie mir sagen, wie ich das obj-Label verwenden kann, um eine Zeichenfolge mit mehr als 64 Zeichen anzuzeigen?

 
Игорь:

Hallo!

Können Sie mir sagen, wie ich das obj-Label verwenden kann, um eine Zeichenfolge mit mehr als 64 Zeichen anzuzeigen?

Zwei nebeneinander liegende obj-Etiketten. Die linke ist am rechten Rand, die rechte am linken Rand ausgerichtet

 
novichok2018:

Können Sie diese Zeile Ihres Codes erklären:OrderInfo arrstBuyOrderInfo[MAX_ORDERS_CNT], arrstSellOrderInfo[MAX_ORDERS_CNT]; Warum hatOrderInfo keine Klammern und keinen Typ?

OrderInfo ist ein Datentyp. Genau wie int, double, etc. In diesem Fall ist OrderInfo eine Struktur. Ich habe in meinem Beitragder Positionsschließung eingefügt werden? Wo? Und vielleicht sollte die Funktion zum Schließen von Positionen mit Arrays irgendwie anders aussehen? Es ist ein bisschen kompliziert für mich. Ich danke Ihnen.

Bisher haben wir nur die erste Aufgabe betrachtet - die Sammlung von Informationen über Arbeitsaufträge. Die Erzeugung von Handelssignalen und die Ausführung von Handelsaktionen sind Aufgabe 2 bzw. 3. Wir sind noch nicht zu ihnen vorgedrungen.

Die Idee der Informationsbeschaffung besteht darin, nicht bei jedem "Niesen" die gesamte Liste der Aufträge erneut durchgehen zu müssen. In einem korrekt geschriebenen EA wird diese Aktion nur einmal pro Iteration durchgeführt. Weiterhin arbeiten wir nur mit den erstellten Daten.

Вопросы от начинающих MQL4 MT4 MetaTrader 4
Вопросы от начинающих MQL4 MT4 MetaTrader 4
  • 2018.02.13
  • www.mql5.com
Если у Вас вопросы по MQL4, MT4, MetaTrader 4, пожалуйста пишите в этой теме. Особенно когда вопросы касаются торговых функций...
 
Aleksey Rodionov:

Wie füge ich einen Wert, um die Kauf/Verkauf Bedingung, wenn der RVI-Indikator zum Beispiel: wenn zwei Linien kreuzen einander öffnet es einen Kauf/Verkauf Ordnung, aber ich will es nicht nur eine Kreuzung, aber wenn die Kreuzung über 0 Wert ist?

MM und MS sind RVI-Indikatorlinien


Der Wert der beiden Zeilen sollte mit Null verglichen werden. Nicht wahr?

Und es ist nicht klar, was MoM ist.

 

es gibt diese Zeile von MQL5, MQL4 Compiler beschwert sich darüber, wie kann es umgeschrieben werden?

//--- set new color
   m_pixels[y*m_width+x]=(r<<16|g<<8|b<<0|255<<24) &0xffffffff;

//check operator precedence for possible error; use parentheses to clarify precedence   Canvas.mqh
 
Ihor Herasko:

OrderInfo ist ein Datentyp. Wie int, double, etc. In diesem Fall ist OrderInfo eine Struktur. Ich habe in meinem Beitraghttps://www.mql5.com/ru/forum/160587/page121#comment_6556328 ein Beispiel für eine solche Erklärung gegeben.

Ich verstehe Ihr Beispiel richtig: Die Richtlinie #define ersetzt die Zahl 500 überall dort, wo sie auf MAX_ORDERS_CNT ? Und warum sollte einer Zahl ein Typ zugewiesen werden?

Und warum können wir nicht einfach extern int cnt=500 angeben? Und dann gibt es OrderInfo arrstOrderInfo[cnt], arrstBuyOrderInfo[cnt], arrstSellOrderInfo[cnt]; ?


Außerdem: In Ihrem Beitrag auf Seite 122 ist mir nicht klar, was&arrstOrderInfo[],&nOrdersCnt und.n ist? Es tut mir leid, wenn meine Fragen dumm erscheinen - ich versuche gerade, selbst mehr herauszufinden, obwohl ich schlechte Erfahrungen gemacht habe.

 

Guten Tag

Bitte helfen Sie mir , meinen Indikator zu aktualisieren

Ich muss 2 Puffer hinzufügen, "native" Indikator zeichnet einen Pfeil (nach oben oder unten) bei der Identifizierung der Lücke und gibt ein Signal in Puffer 6 oder 7

Ich möchte einen Puffer 8 und 9 haben, wo in der Lücke Signal +1 (up) oder -1 (down) 0 in Abwesenheit von

Ich habe versucht, es selbst zu machen, aber nichts funktioniert, ich habe keine Programmierkenntnisse

 
novichok2018:

Verstehe ich Ihr Beispiel richtig? Die #define-Direktive ersetzt die Zahl 500 überall dort, wo MAX_ORDERS_CNT vorkommt ? Und warum sollte einer Zahl ein Typ zugewiesen werden?

Ja. Und beachten Sie, dass sie in der Kompilierungsphase und nicht während der Programmausführung ersetzt wird.

Und warum kann man nicht einfach extern int cnt=500 angeben? Und dann gibt es OrderInfo arrstOrderInfo[cnt], arrstBuyOrderInfo[cnt], arrstSellOrderInfo[cnt]; ?

Nein, denn int cnt ist die Deklaration einer Variablen. Und eine Variable kann ihren Wert ändern, während das Programm ausgeführt wird. Und der Speicher des statischen Arrays wird während der Ausführung des Programms nicht zugewiesen. Die Speichergröße sollte bereits bei der Kompilierung bekannt sein. Um die Größe des Arrays während der Ausführung des Programms zu ändern, müssen Sie ein dynamisches Array verwenden. Das wird später gemacht, wenn Sie sich an statische Arrays gewöhnt haben.

Außerdem: In Ihrem Beitrag auf Seite 122 ist mir nicht klar, was&arrstOrderInfo[],&nOrdersCnt und.n ist? Entschuldigen Sie, wenn meine Fragen albern erscheinen - ich versuche selbst, sie zu verstehen, aber ich bin nicht sehr gut darin.

Ich werde die Antwort ein wenig vereinfachen, um Verwirrung zu vermeiden. Das (&)-Zeichen zeigt an, dass das Funktionsargument seinen Wert zur Laufzeit ändern kann und mit einem anderen Wert an die Stelle zurückkehrt, von der aus die Funktion aufgerufen wurde. Im vorliegenden Fall kann die Funktion SaveOrder den Inhalt der Arrays g_arrstBuyOrderInfo und g_arrstSellOrderInfo sowie die Variablen g_nBuyOrdersCnt und g_nSellOrdersCnt ändern.

 

Hallo!

Können Sie mir sagen, wie man die Balken neu malen, ohne Vorlagen in mt4 !??

Oder wie wendet man ein Farbschema an?