Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 515

 
Ihor Herasko:

Das ist eine sehr seltsame Frage. Das ist wie die Frage: "Wie dreht man einen Hocker mit einer Feile um?

Wollen wir schlau sein oder habe ich eine vollwertige Antwort, ich kann auch eine Mumie reproduzieren!

Was ist seltsam an der Frage, wie man die Indikatorvariable mit einem Skript ändern kann?

Wenn Sie nicht erklären können, wie man es macht, sagen Sie es einfach!

 
Игорь:

Werden wir schlau oder muss ich voll antworten, ich kann auch multiplizieren mumu!?

Was ist so seltsam an der Frage, wie Sie die Indikatorvariable mit einem Skript ändern können?

Wenn Sie nicht erklären können, wie man es macht, sagen Sie es einfach, und das war's!

Sie haben Einstellungen in Ihrem Indikator. Warum müssen Sie diese Einstellungen bei einem Waschvorgang ändern?

Ist das klarer, was Igor meinte?

 
Игорь:

Was ist seltsam an der Frage, wie man eine Indikatorvariable mit einem Skript ändern kann?

Das ist genau das, was daran seltsam ist. Um zu verstehen, was genau daran seltsam ist, habe ich das Ganze in eine Analogie übersetzt.

Das Drehbuch ist ein Programm. Der Indikator ist ein anderes Programm. Die Variable im Indikator ist eine Speicherzelle. Infolgedessen müssen Sie eine Speicherzelle (physisch) fälschen und durch eine andere ersetzen. Diese Formulierung der Frage ist natürlich verwirrend.

Anstatt genauer zu erklären, was Sie brauchen, lassen Sie sich schließlich auf ein Argument ein.

 
Игорь:

Bitte beraten Sie mich!

Wie kann ich das Skript verwenden, um die Einstellungen (eine bestimmte Variable) des Indikators im Diagramm zu ändern?

Wenn dies möglich ist, wäre ein Code wünschenswert!

Es gibt keine Standard-API dafür, aber wenn Sie es wirklich wollen, können Sie es tun :-)

Algorithmus ist in etwa so:

- durch alle Indikatoren des Diagramms (einschließlich der Unterfenster) blättern, um möglichst viele Informationen über den geänderten Indikator zu sammeln (Name / Seriennummer)

- die Diagrammvorlage speichern

- Erweitern Sie die Vorlage, um den gewünschten Indikator zu finden

- Ändern Sie den gewünschten Wert

- ChartApplyTemplate

- (Vergessen Sie nicht, dass alle Indikatoren und EAs neu geladen werden, und vielleicht auch Ihre, und Sie müssen die Dateien wahrscheinlich über WinAPI kopieren)

im Allgemeinen ist es ein echtes Chaos :-)

 
Игорь: Bitte beraten Sie mich!
Wie kann ich das Skript verwenden, um die Einstellungen (eine bestimmte Variable) des Indikators im Diagramm zu ändern?
Wenn dies möglich ist, wäre ein Code wünschenswert!!!

Es ist ganz einfach, ich mache es oft. Der Vorteil ist, dass dem Skript eine Taste zugewiesen werden kann. Zum Beispiel: Strg-z zum Entfernen von Zeilen, Alt-z zum Einblenden von Zeilen. Siehe beigefügte Funktionen GlobalVariableSet() und GlobalVariableGet(). Ich habe die Idee aus einer anderen Quelle (korrigiert durch den Moderator Artyom Trishkin).

Dateien:
xDEL.mq4  1 kb
 
STARIJ:

Das ist ganz einfach, ich mache das ständig. Der Vorteil ist, dass Sie dem Skript eine Taste zuweisen können. Zum Beispiel: Strg-z zum Entfernen von Zeilen, Alt-z zum Einblenden von Zeilen. Siehe beigefügte Funktionen GlobalVariableSet() und GlobalVariableGet(). Ich habe die Idee aus einer anderen Quelle (korrigiert durch den Moderator Artyom Trishkin).

Beim Löschen Ihres Links zu einer anderen Ressource ist aus irgendeinem Grund die Datei selbst verschwunden.

Können Sie es bitte noch einmal anhängen?

 
Artyom Trishkin: Während ich Ihren Link zu einer anderen Ressource löschte, verschwand die Datei selbst aus irgendeinem Grund.

Ist es verboten, auf andere Quellen zu verlinken? Ich habe viele solcher Links gesehen... Oder gibt es ein bestimmtes Kriterium?

 
Artyom Trishkin:

Während ich Ihren Link zu einer anderen Quelle löschte, verschwand aus irgendeinem Grund die Datei selbst.

Bitte erneut anhängen.

Normalerweise löschen sie Materialien, wenn sie Angst haben und sich unterlegen fühlen, weil sie Konkurrenten haben, die sie nicht überholen können.

Aber dieses Forum ist einfach außer Konkurrenz und es gibt keinen Grund, sich vor etwas zu fürchten.

 
Ihor Herasko:

Zunächst einmal wissen wir nicht, ob eine Bestellung eröffnet wurde - es gibt keine Kontrollen dafür. Daher macht es keinen Sinn zu prüfen, ob ein Stop-Loss oder Take-Profit bei einem noch nicht eröffneten Auftrag erreicht wurde.


Ich habe es versucht, aber es funktioniert nicht, ich muss etwas falsch machen (

              {
                    //Цена открытия ордера
                    price=High[1]+OrderPoint*Point;
                    //Стоп лосс
                    stoploss=Low[1]-Point;
                    //Тэйк профит
                    takeprofit=price+price-stoploss;
                    //Установка отложенного ордера (с присвоением magic номера 100, чтобы потом можно было их выбрать и удалить)
                    OrderSend(Symbol(),OP_BUYSTOP,1,price,3,stoploss,takeprofit,"PinBar Buy 1H",100,0,clrGreen);
                        //Проверяет открылись ли (0 - не открылись вроде) и сколько штук открыто (в данном случае не открылись), чтобы потом выбрать (уточнить) 
                        for (int i=0; i<OrdersTotal(); i++)
                        {
                        //Выбираем все неоткрытые отложенные ордера?
                        OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
                           //Если для выбранных ордеров с magic номером 100 текущая цена ушла ниже параметра стоплосса для этого отложенного ордера, то удаляем)
                           if ((OrderMagicNumber()==100)&&(Low[0]<stoploss)) 
                           {
                           OrderDelete(100);
                           }
                        }   
                 }
 
Ihor Herasko:

Das ist genau das, was daran seltsam ist. Um zu verstehen, was genau daran seltsam ist, habe ich das Ganze in eine Analogie übersetzt.

Ein Drehbuch ist ein Programm. Ein Indikator ist ein anderes Programm. Die Variable im Indikator ist eine Speicherzelle. Infolgedessen müssen Sie eine Speicherzelle (physisch) fälschen und durch eine andere ersetzen. Diese Formulierung der Frage ist natürlich verwirrend.

Anstatt genauer zu erklären, was Sie brauchen, lassen Sie sich schließlich auf ein Argument ein.

Danke und das war's

Grund der Beschwerde: