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

 
Karlson:

(Bitte archivieren Sie dies, aber bitte))) Ich dachte wirklich, ich könnte es nicht tun, aber es kam etwas dazwischen. Nochmals, ich gebe nicht vor, Recht zu haben. Dies ist nicht mein Brot )))

Wenn etwas nicht klar ist, dann präzisieren Sie es. Ich weiß nicht , wie man Zickzack zählen, dass neu berechnet, so dass Marken haben eine Chance zu verschwinden, als auch redundant erscheinen. auf Spitzen, aber es Zickzack nicht mehr.

Danke :) Ich werde versuchen, es herauszufinden.

Weder weiß ich :) das Schema ist einfach: Ich kopiere aus dem Griff ein Zickzack Farbe und 2 bafer mit bereit Werte von Extrema, Hochs und Tiefs, und ein separates Array mit Bars offen Zeit. Ich arbeite mit diesen Arrays. (Bei einem einfachen Zickzack gibt es nur einen Puffer, in dem Hai und Lowe's nacheinander angeordnet sind).

Es stellt sich heraus, dasses einen Zickzackkurs gibt, der ein paar Fibowers bildet.

Ab zum Graben :)

 
Bitte beachten Sie: Die Strategie bestimmt den Einstiegspunkt, TP und SL. Das nächste Signal kann vor dem Abschluss des vorherigen Auftrags erscheinen. Wenn der Roboter einen neuen Handel im MT5 eröffnet, führt dies zu einem Fehler - SL und TP des nicht beendeten Handels werden überschrieben, und das Gesamtlot entspricht nicht dem neuen SL und TP der beiden Handelsgeschäfte.

Vielleicht sollte ich Anhänger anstelle von SL/TP verwenden - darf ich den Quellcode der Lösung weitergeben? Oder gibt es vielleicht andere Varianten?
 

Hallo, ich kann keine Informationen im Forum finden, bitte helfen Sie mir. Ich muss eine Funktion erstellen, die einen Indikatorwert zurückgibt.

In mql4 könnte man das zum Beispiel so machen:

double Fast_MA(int Sdvig)
{
return(iMA(NULL, TF, FastMA, 0, MODE_SMA, PRICE_CLOSE, Sdvig))
}

und dann in der Signalverarbeitung einfach verwenden

if ( Fast_MA(1) > Fast_MA(2), usw.)

Wie man es in mql5 richtig macht, bitte mit mir teilen, wenn es Ihnen nichts ausmacht. Ich danke Ihnen.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
BALDEYU_OT_MT5:

Hallo, ich kann keine Informationen im Forum finden, bitte helfen Sie mir. Ich muss eine Funktion erstellen, die einen Indikatorwert zurückgibt.

In mql4 könnte man das zum Beispiel so machen:

double Fast_MA(int Sdvig)
{
return(iMA(NULL, TF, FastMA, 0, MODE_SMA, PRICE_CLOSE, Sdvig))
}

und dann in der Signalverarbeitung einfach verwenden

wenn ( Fast_MA(1) > Fast_MA(2) usw.)

Wie man es in mql5 richtig macht, bitte mit mir teilen, wenn es Ihnen nichts ausmacht. Ich danke Ihnen.

Sie müssen den Indikator über iMA oder eine andere Funktion dieser Indikatoren aufrufen. Die Funktionen geben die Handles zurück, die Sie sich merken müssen.

Dies geschieht in der Regel bei OnInit, denn auch nach dem Entfernen des Indikators verbleibt dieser noch einige Zeit (5-15 Minuten) in laufenden Prozessen.

Und dann mit CopyBuffer(handle,...) erhalten Sie die notwendigen Werte für den Indikator.

Technische Indikatoren

Zugang zu Zeitreihen und Indikatoren

Die Beispiele in der Dokumentation sind überladen, um alle möglichen Wege aufzuzeigen. In einfachen Worten sieht das so aus:

// тут получаем хендл индюка, объявления переменных я опустил чтоб не нагромождать
handle=iMA(symbol,period,ma_period,ma_shift,ma_method,applied_price);
// тут получаем нужные данные
CopyBuffer(handle,0,1,to_copy,MABuffer);
// данные индикатора из буффера 0, будут скопированы в MABuffer[], от первого значения, в количестве to_copy

Lesen Sie fast die Dokumentation, die Funktionen haben Überladungen.

 
Urain:

Dazu müssen Sie den Indikator zunächst über iMA oder andere Funktionen dieser Indikatoren aufrufen. Die Funktionen geben die Handles zurück, die Sie sich merken müssen.

Dies geschieht in der Regel bei OnInit, denn auch nach dem Entfernen eines Indikators verbleibt dieser noch eine Weile in laufenden Prozessen (5-15 Minuten).

Und dann mit dem CopyBuffer(handle,...) erhalten Sie die notwendigen Werte des Indikators.

Technische Indikatoren

Zugang zu Zeitreihen und Indikatoren

Die Beispiele in der Dokumentation sind überladen, um alle möglichen Wege aufzuzeigen. In einfachen Worten sieht das so aus:

Lesen Sie die Dokumentation, Funktionen haben Überladungen.

Was meinen Sie damit, dass Funktionen Überlastungen haben? Scheint einfacher zu sein als in der Dokumentation beschrieben, nichts, woran man sich gewöhnen könnte.
 
BALDEYU_OT_MT5:
Was meinen Sie mit "Funktionen haben Überlastungen"? Scheint einfacher zu sein als in der Dokumentation beschrieben, nichts, an das man sich gewöhnen könnte.

Das bedeutet, dass es unter einem Namen mehrere Funktionen mit unterschiedlichen Parametern und entsprechend (wenn auch ähnlichen) aber unterschiedlichen Aktionen gibt.

Im Fall von CopyBuffer ist dies der Fall:

Die Aufrufe unterscheiden sich nur in der Art und Weise, wie die Daten nach Index oder nach Datum durchsucht werden.

Обращение по начальной позиции и количеству требуемых элементов

int  CopyBuffer(
   int       indicator_handle,     // handle индикатора
   int       buffer_num,           // номер буфера индикатора
   int       start_pos,            // откуда начнем 
   int       count,                // сколько копируем
   double    buffer[]              // массив, куда будут скопированы данные
   );

Обращение по начальной дате и количеству требуемых элементов

int  CopyBuffer(
   int       indicator_handle,     // handle индикатора
   int       buffer_num,           // номер буфера индикатора
   datetime  start_time,           // с какой даты
   int       count,                // сколько копируем
   double    buffer[]              // массив, куда будут скопированы данные
   );

Обращение по начальной и конечной датам требуемого интервала времени

int  CopyBuffer(
   int       indicator_handle,     // handle индикатора
   int       buffer_num,           // номер буфера индикатора
   datetime  start_time,           // с какой даты
   datetime  stop_time,            // по какую дату
   double    buffer[]              // массив, куда будут скопированы данные
   );
 

Liebe Kollegen, können Sie mir sagen, wer Bescheid weiß? Ich möchte ein Spread-Chart zwischen zwei Währungspaaren erstellen. Ich habe es als ein Indikator in einem separaten Fenster, aber wie kann ich ein neues leeres Chart-Fenster, wo es keine Währung Kurse und nur mein Spread? ist es überhaupt möglich?

Ich danke Ihnen für Ihre Aufmerksamkeit.

 

Hallo.

Bitte beraten Sie mich, wie ich das richtig mache? Ich habe einen einfachen Expert Advisor. Es besteht aus zwei Dateien, einer ausführbaren Datei und einer Include-Datei mit einer Klasse. Es wird kompiliert und ausgeführt. Ich möchte alles in eine ausführbare Datei packen. Wie kopiert man die Include-Datei richtig und platziert sie in die Hauptdatei? Vor OnInit() oder nach OnTick()? Ich verstehe, dass es kein Problem ist, dieses oder jenes zu machen und zu überprüfen, aber ich möchte nicht, dass ich am Ende einen Fehler bekomme und mir der Kopf explodiert vor lauter "was ist daran falsch". Ich bin daran interessiert, wie man das korrekt nach den Sprachstandards macht, so dass ich nicht nach Fehlern in der Dateistruktur suchen muss. Ich weiß nur nicht, wie man es richtig macht.

Ich danke Ihnen im Voraus.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
RedFish:

Hallo.

Bitte beraten Sie mich, wie ich das richtig mache? Ich habe einen einfachen Expert Advisor. Es besteht aus zwei Dateien, einer ausführbaren Datei und einer Include-Datei mit einer Klasse. Es wird kompiliert und ausgeführt. Ich möchte alles in eine ausführbare Datei packen. Wie kopiert man die Include-Datei richtig und platziert sie in die Hauptdatei? Vor OnInit() oder nach OnTick()? Ich verstehe, dass es kein Problem ist, dieses oder jenes zu machen und zu überprüfen, aber ich möchte nicht, dass ich am Ende einen Fehler bekomme und mir der Kopf explodiert vor lauter "was ist daran falsch". Ich bin daran interessiert, wie man es nach den Standards der Sprache richtig macht, so dass ich später nicht nach Fehlern in der Architektur der Datei suchen muss. Ich weiß nur nicht, wie man es richtig macht.

Ich danke Ihnen im Voraus.

Kopieren Sie die Inline und fügen Sie sie anstelle der Richtlinie in die mq5-Datei ein.
 
Urain:
Kopieren Sie die Inline und fügen Sie sie anstelle der Richtlinie in die mq5-Datei ein.
Ich hab's. Ich danke Ihnen.