Fragen Sie! - Seite 99

 
Big Be:
WANN wollen Sie eine STATISCHE Variable verwenden - welche Probleme kann sie lösen?

WANN wollen Sie etwas in den INIT()-Abschnitt einfügen - welche Probleme werden dadurch gelöst?

Großes Be

Also, eine Antwort darauf, ist das anstelle von oder zusätzlich zu den Erklärungen in der MQ4-Dokumentation?

 

Wie behält man den Überblick über mehrere Aufträge?

Ich bin derzeit eine EA, die nur 1 offenen Handel zu einem Zeitpunkt hat.

Ich habe eine Menge von Variablen zu verfolgen, was während dieses Handels geschieht.

Wenn ich mehr offene Trades zur gleichen Zeit hatte, dachte ich, ich könnte Arrays für diese Variablen mit der Ticketnummer als Schlüssel verwenden. Aber so wie ich es verstehe, müssen die Schlüssel 0, 1, 2, 3 usw. sein, richtig? Das wäre also nicht möglich.

Stattdessen könnte ich ein mehrdimensionales Array wie dieses verwenden, ich hoffe Sie verstehen meine javascript/php ähnliche Beschreibung.

barsSinceOpen = array(

0 => array(0 => 123123, 1 => 63)

1 => array(0 => 552352, 1 => 5)

);

0 in der zweiten Dimension wäre die Ticketnummer, und 1 wäre die Anzahl der Bars, seit der Handel geöffnet wurde.

barSinceOpen ist nur ein Beispiel.. Ich weiß, dass ich das jedes Mal für jeden Handel ausrechnen könnte, aber das ist nicht der Punkt. Ich habe VIELE Dinge, die ich für einen Handel im Auge behalte.

Und um den richtigen Auftrag auszuwählen, müsste ich über das Array iterieren und das Array der zweiten Ebene mit dem richtigen Ticket auswählen.

Denken Sie, dass dies eine gute Idee ist? Wie würden Sie es tun?

 

Eine weitere Frage

Es scheint, als ob ich eine orderModify() ausführe, um zum Beispiel einen Take Profit zu setzen.

Und dann vor dem nächsten Tick oder wir könnten auch sagen, bevor ich die gleiche Reihenfolge wieder wählen ich eine andere orderModify() tun, um einen Stop-Loss zu setzen. Und dabei verwende ich OrderTakeProfit(), damit der Take-Profit nicht entfernt wird. Aber der Take-Profit wird trotzdem entfernt.

Muss ich auf den nächsten Tick warten oder die Order erneut auswählen, damit OrderTakeProfit() meinen neuen Take-Profit zurückgibt?

 
Big Be:
WANN willst du eine STATISCHE Variable verwenden - welche Probleme kann sie lösen?

WANN wollen Sie etwas in den INIT()-Abschnitt einfügen - welche Probleme werden dadurch gelöst?

Großes Be
ralph.ronnquist:
Also, eine Antwort darauf, ist das anstelle von oder zusätzlich zu den Erklärungen in der MQ4-Dokumentation?

Das käme noch hinzu.

(Ich versuche immer, zuerst meine Hausaufgaben zu machen.)

Vielleicht brauche ich eine Erklärung und ein Beispiel(e).

Großes Be

 
Big Be:
WANN wollen Sie eine STATISCHE Variable verwenden - welche Probleme kann sie lösen?

WANN wollen Sie etwas in den INIT()-Abschnitt einfügen - welche Probleme werden dadurch gelöst?

Großes Be

Eine statische Variable bleibt bei jedem Funktionsaufruf, in dem sie enthalten ist, gleich, es sei denn, sie wird in der Funktion geändert. Möglicherweise möchten Sie in dieser Funktion nur eine Ganzzahl haben, die Sie bei jedem Funktionsaufruf um 1 erhöhen möchten.

Sie könnten dafür aber auch globale Variablen verwenden.

Beispiel für init:

int init() {

TakeProfit=TakeProfit*Point;

StopLoss=StopLoss*Punkt;

TrailingStop=TrailingStop*Point;

breakEven=breakEven*Point;

return(0);

}

Dies sind externe Variablen, und Sie setzen takeprofit zum Beispiel auf 50, wenn Sie 50 Pips wollen. Aber damit dies im EA funktioniert, muss es mit dem Pip-Wert der Währung multipliziert werden, z. B. 0,001.

 
SimonF:
Eine statische Variable bleibt bei jedem Funktionsaufruf, in dem sie enthalten ist, gleich, es sei denn, sie wird in der Funktion geändert. Du möchtest vielleicht eine ganze Zahl in dieser Funktion haben, die du zum Beispiel bei jedem Funktionsaufruf um 1 erhöhen möchtest.

Sie könnten dafür aber auch globale Variablen verwenden.

...

Simon-

Danke! Bitte machen Sie es klarer:

Bedeutet dies, dass eine statische Variable den letzten ihr zugewiesenen Wert behält, obwohl sie nicht global ist?

Was init() betrifft, so sieht es so aus, als ob es als Setup-Funktion verwendet wird.

- Können Sie mir andere gute Beispiele für diese Funktion nennen?

- Müssen Sie sie mit deinit() abschließen?

Großes Be

 

Fragen Sie

codersguru:
Hallo Leute,

Ich habe eine Menge privater Nachrichten erhalten, in denen ich um Hilfe bei einigen Code-Stücken gebeten werde.

Hier können Sie Ihre Fragen zu MQL4 stellen, und ich werde mein Bestes tun, um sie zu beantworten.

Hallo,

Ich möchte mql direkt von Ihnen lernen, ich habe Ihr Tutorial gelesen und ich habe ein paar EA programmiert.

 

ma Farbe auf Basis der Schließung

HI,

gibt es eine ma-Indikator, dass die Farbe ändern, je nach der Schließung der candle.for Beispiel, wenn die Kerze schließen über SMA dann die Linie Farbe ist blau, aber wenn unter MA dann die Farbe ändern, um rot.

Ich weiß, es gibt einen Indikator, der genannt hat "ma_in_color.mq4" sorry, aber ich weiß nicht, wie man es zu posten, meine Frage ist, von es gibt jemand da draußen, wer könnte ein Sound-Alarm in diesem Indikator programmieren.

Vielen Dank

 

Was ist der einfachste Weg, um die Pufferwerte eines Indikators entweder als Kommentar anzuzeigen oder im Expertenordner auszudrucken, so dass ich die Änderung der Werte sehen kann? Ich habe 8 Puffer in diesem Indikator.

Dave

 

ctrl-D .

Grund der Beschwerde: