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

 
Seric29:
Leute, die bei dieser Frage helfen können. Ich möchte eine globale Variable von undefiniertem oder beliebigem Typ deklarieren. Diese Variable wird dann in Funktionen verwendet, in denen Vorlagen angewendet werden. Mit anderen Worten, ich rufe eine Funktion auf und nehme ein Array beliebigen Typs, dann werden die Berechnungen durchgeführt und das Ergebnis wird von der Funktion zurückgegeben und auch dieser Variablen zugewiesen. Ich möchte das Ergebnis der Berechnung dieser Parameter in einer Variablen speichern, damit ich die Funktion nicht zweimal aufrufen muss. Wie kann ich eine universelle Lösung mit den wenigsten Prüfungen finden, kann ich den Variablentyp umwandeln oder ihn als Variable mit Makro deklarieren, was kann ich tun?

Wenn ich das richtig verstehe, dann

https://www.mql5.com/ru/docs/basis/oop/templates

Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
  • www.mql5.com
Перегруженные функции обычно используются для выполнения похожих операций над различными типами данных. Простой пример такой функции в MQL5 - ArraySize(), которая возвращает размер массива любого типа. На самом деле эта системная функция является перегруженной, и вся реализация такой перегрузки спрятана от разработчика программ на MQL5: То есть...
 
leonerd:

Ich verstehe diesen Kommentar nicht wirklich. Sie können eine Sperrposition (gegenüber der offenen Position) mit einer freien Marge eröffnen, die niedriger ist als die Marge für den neu eröffneten Auftrag (nicht in der Sperre). Und wo sind die 100 %?

Beispiel:

Währung USDJPY, Hebelwirkung 1:100. Los 0,1, die Marge beträgt 100

Gemäß der Spezifikation beträgt die abgesicherte Marge 50000, d.h. 50%.

Um eine Sperrposition zu eröffnen, müssen 100 weitere Mittel auf dem Konto verfügbar sein. Andernfalls wird ein Fehler angezeigt ... Ich erinnere mich nicht an die Zahl, im Allgemeinen nicht genug Mittel.

Und erst nach der Eröffnung einer Position wird die tatsächliche Marge entsprechend den in der Spezifikation angegebenen Werten korrigiert.

Wenn jedoch nur 50 Guthaben auf dem Konto vorhanden sind, können Sie das Konto zweimal für 0,05

 
Alekseu Fedotov:

Wenn ich das richtig verstanden habe, dann

https://www.mql5.com/ru/docs/basis/oop/templates

Ich weiß bereits über die Verwendung der Schablonentechnologie Bescheid. Mit dieser Methode können Sie den Typ einer Variablen zurückgeben, aber nicht den Typ einer Variablen in eine andere umwandeln. Das ist vielleicht nicht möglich.

 
Alexey Viktorov:

Beispiel:

Währung USDJPY, Hebelwirkung 1:100. Los 0,1, die Marge beträgt 100

Gemäß der Spezifikation beträgt die abgesicherte Marge 50.000, also 50 %.

Um eine Sperrposition zu eröffnen, müssen 100 weitere Mittel auf dem Konto verfügbar sein. Andernfalls wird ein Fehler angezeigt ... Ich erinnere mich nicht an die Zahl, im Allgemeinen nicht genug Mittel.

Und erst nach der Eröffnung einer Position wird die tatsächliche Marge entsprechend den Werten in der Spezifikation korrigiert.

Wenn aber nur 50 freie Mittel auf dem Konto sind, können Sie zweimal für 0,05 Euro eröffnen.

Ok, vielleicht ist das so. Wir sollten uns das ansehen.

Wir sollten den Preis für eine Bestellung überprüfen. Was ist dann mit der MQL5-Funktionhttps://www.mql5.com/ru/docs/trading/ordercalcmargin?

Der Preis für den offenen Auftrag steht im Parameter. Wie funktioniert das mit den Kreuzen? Wie funktioniert das mit den Quersätzen? Kann der MT5 Preise vorhersagen?

Документация по MQL5: Торговые функции / OrderCalcMargin
Документация по MQL5: Торговые функции / OrderCalcMargin
  • www.mql5.com
Вычисляет размер маржи, необходимой для указанного типа ордера на текущем счете и при текущем рыночном окружении без учета текущих отложенных ордеров и открытых позиций. Позволяет оценить размер маржи для планируемой торговой операции. Значение возвращается в валюте счета. [out]  Переменная, в которую...
 
ich heruntergeladen freeNumFractals Indikator für mt5, aber Fraktale nicht auf dem Diagramm zu aktualisieren. FreeNumFractals
 
Pavel5554:
Ich habe bereits mt5 und diesen Indikator neu installiert, aber es hat keine Wirkung.

FreeNumFractals

Was ist der Indikator? Ich habe keine Wirkung. Wo ist der Link dazu?

 
leonerd:

In Ordnung, vielleicht ist das alles. Das müssen wir uns ansehen.

Über den Preis der Bestellung. Was ist mit der MQL5-Funktionhttps://www.mql5.com/ru/docs/trading/ordercalcmargin?

Der Preis für den offenen Auftrag steht im Parameter. Wie funktioniert das mit den Kreuzen? Wie funktioniert das mit den Quersätzen? Kann MT5 Preise vorhersagen?

Nun, man muss alles genau lesen. Zitat aus der Dokumentation:

Die Berechnung erfolgt so, als gäbe es keine ausstehenden Aufträge und offenen Positionen auf dem laufenden Konto. Der Wert der Marge hängt von vielen Faktoren ab und kann sich ändern, wenn sich das Marktumfeld ändert.

Die Berechnung wird durchgeführt... d.h. der ermittelte Wert wird ohne Berücksichtigung der offenen Position ermittelt und erst dann entsprechend der Spezifikation korrigiert, wenn die gegenüberliegende Position geöffnet wird. Das ist es, was ich meinte.

Margenwert... für schwebende Aufträge wird "im Hintergrund" berechnet und entspricht möglicherweise nicht dem tatsächlichen Wert.

 
Sergey Voytsekhovsky:

Tolle Ratschläge und eine tolle Wissenschaft für die Zukunft!!! Er ging sogar noch ein wenig weiter als das. Nachstehend das Ergebnis.

So war es auch:

So wurde es, die Wirksamkeit des Ansatzes ist offensichtlich!!! Ich danke Ihnen.

Vielen Dank an Sergei und Alexey für den farbigen Stochastik-Indikator. Sie sind sehr gut. Respekt!

 
Wie kann ich erreichen, dass mein Indikator im Hauptfenster und nicht im Hauptdiagramm erscheint (mein Indikator ist in Form von Balken aufgebaut)?

Damit meine Indikatordaten die Diagrammdaten ersetzen.

Und dass alle Standardindikatoren des Client-Terminals auf diesen neuen Chart geworfen werden können. Und damit diese Indikatoren mit den Daten meines Indikators und nicht mit den Preisbalken arbeiten.
 

Es gibt eine Frage wie diese. Es gibt also eine Schleife

     for(...........)              
     {if(.........){ что-то делаем}else
      if(.........){ break}else{ break;}} 

Die ersteUnterbrechung befindet sich nicht in der ersten Klammer der Schleife, sondern in darin verschachtelten Klammern. Die zweiteUnterbrechung ist noch tiefer in inneren Klammern verschachtelt.Um die Wahrheit zu sagen, habe ich nicht verstanden, ob es funktioniert hat oder nicht, aber das Programm hat sich aufgehängt und unnötige Iterationen gemacht. Um eine Schleife mit vielen Bedingungen zu beenden, habe ich ein Exit-Flag in die Schleife eingefügt. Vielleicht habe ich den Eindruck, dass es nicht funktioniert, aber wer denkt schon über dieses Thema nach?