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

 
MrBrooklin:

Guten Abend zusammen!

In meinem hohen Alter versuche ich, die Grundlagen von MQL5 zu beherrschen. Meine Neugierde bringt mich um - ich frage mich, ob ich das Programmieren nicht auch mit 60 noch beherrschen kann. Obwohl ich mich mit einfachem HTML angefreundet habe, habe ich sogar meine eigenen Websites damit erstellt. Eigentlich ganz einfach, aber trotzdem... Wenn meine Fragen zu Irritationen führen, dann sagen Sie es mir sofort, dann werde ich keine naiven Fragen mehr stellen und die Leute nicht irritieren.

Ich öffnete also den ersten Code, den ich sah. Ich habe die Bedeutung einer Zeile dieses Codes mit Google Translator und MQL5 Reference auskommentiert. Was verlange ich von der Gemeinschaft? Schauen Sie sich die Kommentare an, und wenn sie nicht wahr sind, korrigieren Sie bitte mein Denken:

Für manche ist es ein offenes Buch, aber für mich sieht es aus wie die gleichen chinesischen Schriftzeichen. Bitte lachen Sie nicht zu viel.

Warum tue ich das? Ich versuche also nur, selbst herauszufinden, wie hoffnungslos ich im Programmieren bin.

Mit freundlichen Grüßen, Vladimir.

Ich empfehle, die ME-Hilfe zu verwenden - sie beschreibt den Zweck aller Operatoren und Sprachfunktionen.

https://www.mql5.com/ru/docs/trading/positionselect

Документация по MQL5: Торговые функции / PositionSelect
Документация по MQL5: Торговые функции / PositionSelect
  • www.mql5.com
Выбирает открытую позицию для дальнейшей работы с ней. Возвращает true при успешном завершении функции. Возвращает false при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно...
 
MrBrooklin:

Guten Abend zusammen!

In meinem hohen Alter versuche ich, die Grundlagen von MQL5 zu beherrschen. Meine Neugierde bringt mich um - ich frage mich, ob ich das Programmieren nicht auch mit 60 noch beherrschen kann. Obwohl ich mich mit einfachem HTML angefreundet habe, habe ich sogar meine eigenen Websites damit erstellt. Eigentlich ganz einfach, aber trotzdem... Wenn meine Fragen zu Irritationen führen, dann sagen Sie es mir sofort, dann werde ich keine naiven Fragen stellen und die Leute nicht nervös machen.

Ich öffnete also den ersten Code, den ich sah. Ich habe die Bedeutung einer Zeile dieses Codes mit Google Translator und MQL5 Reference auskommentiert. Was verlange ich von der Gemeinschaft? Schauen Sie sich die Kommentare an, und wenn sie nicht wahr sind, korrigieren Sie bitte mein Denken:

Für manche ist es ein offenes Buch, aber für mich sieht es aus wie die gleichen chinesischen Schriftzeichen. Bitte lachen Sie nicht zu viel.

Warum tue ich das? Ich versuche also nur, selbst herauszufinden, wie hoffnungslos ich im Programmieren bin.

Mit freundlichen Grüßen, Vladimir.

Wenn Sie den Willen dazu haben, ist das besser für Ihr Gehirn als Kreuzworträtsel zu lösen. Versuchen Sie einfach, gleich zu verstehen, dass Hadge-Konten anders geschrieben werden als Netting-Konten. Diese Zeile des Codes

if(PositionSelect(_Symbol)) // если выбираем открытую позицию на графике текущего символа

wird für Netting verwendet, kann aber zu Fehlern in Hadge-Konten führen, wenn mehr als eine Position offen ist.

 
Aleksey Vyazmikin:

Ich empfehle die Verwendung der ME-Hilfe - der Zweck aller Operatoren und Sprachfunktionen ist dort beschrieben.

https://www.mql5.com/ru/docs/trading/positionselect

Hallo Alexey!

Wir danken Ihnen für Ihr Feedback. Ich verwende die Hilfe in MetaEditor. Im Moment besteht das Hauptproblem darin, den Zweck von Operatoren und Funktionen zu verstehen und herauszufinden, warum ich einen bestimmten Operator oder eine Funktion an einer bestimmten Stelle im Programmcode benötige. Es ist irgendwie alles in der FAQ beschrieben, aber so wie ich es verstehe, sind diese Informationen nicht für diejenigen, die von Grund auf in die Details einsteigen wollen, sondern für diejenigen, die bereits einige Erfahrung in der Programmierung in anderen Sprachen haben.

Mit freundlichen Grüßen, Vladimir.

 
Alexey Viktorov:

Wenn Sie das wollen, ist das besser für Ihr Gehirn als Kreuzworträtsel zu lösen. Versuchen Sie einfach, sofort zu verstehen, dass Hadge-Konten nicht auf dieselbe Weise geschrieben werden wie Netting-Konten. Diese Codezeile

Diese Codezeile wird für das Netting verwendet, kann aber in Hadge-Konten zu Fehlern führen, wenn mehr als eine Position eröffnet wird.

Hallo Alexey!

Vielen Dank für den Hinweis auf die Konten von Hadge und Netting sowie für die Unterstützung.

Ich habe es so verstanden, dass, wenn es keine Korrektur in den Kommentaren zu einer Codezeile gibt, diese bereits gut ist. Das bedeutet, dass ich das Wesentliche dieser Codezeile so gut wie möglich verstanden habe. Ich werde die MQL5-Programmierung weiter studieren und gelegentlich meine Kommentare posten. Vielleicht werde ich irgendwann im Selbststudium in der Lage sein, einen einfachen Expert Advisor-Code selbst zu entwickeln.

Mit freundlichen Grüßen, Vladimir.

Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
  • www.mql5.com
MetaQuotes Language 5 (MQL5) - язык программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках. MQL5 является современным языком высокого уровня и разработан MetaQuotes Software Corp. для собственной торгово-информационной платформы. Синтаксис языка максимально близок...
 

Hallo zusammen!

Ich lerne weiterhin MQL5 und hier ist eine neue Code zeile, die auch nach der Arbeit mit ihr über die Hilfe und Google Translate nicht klar ist.

FileSeek(FileHandle,0,SEEK_SET); // перемещаем положение указателеля в файле с уникальным указателем на "0" байт в начале файла

Die Bemerkung stammt von mir, aber ihre Bedeutung ist nicht ganz klar. Ich habe kaum herausgefunden, was FileHandle ist. Teilen Sie es in die beiden Wörter File und Handle auf. Google übersetzte es als Dateideskriptor. Was ist ein Deskriptor und was bewirkt er? Es ist gut, dass der Autor des Artikels hier erklärt https://www.mql5.com/ru/articles/496, dass Handle ist ein eindeutiger Zeiger auf etwas (eine Datei, ein Indikator, etc.) auf Russisch.

Nun gilt es, die Bedeutung des gesamten Codes zu verstehen. Ich bitte die Community um Hilfe, ich habe so viel Zeit mit diesem Code bis 3 Uhr morgens verbracht, und mein Kopf ist völlig unbeholfen.

Mit freundlichen Grüßen, Vladimir.

Быстрый старт или краткий курс для начинающих
Быстрый старт или краткий курс для начинающих
  • www.mql5.com
Здравствуй дорогой читатель. В данной статье я попробую рассказать и покажу как можно просто и быстро освоить принципы построения торговых советников, работу с индикаторами и т.д. Эта статья ориентирована на новичков, в ней не будет сложных и трудных для понимания примеров. Скорей всего, она не будет интересной и познавательной для тех, кто уже...
 
MrBrooklin:

Hallo zusammen!

Ich lerne weiterhin MQL5 und hier ist eine neue Code zeile, die auch nach der Arbeit mit ihr über die Hilfe und Google Translate nicht klar ist.

Die Bemerkung stammt von mir, aber ihre Bedeutung ist nicht ganz klar. Ich habe kaum herausgefunden, was FileHandle ist. Teilen Sie es in die beiden Wörter File und Handle auf. Google übersetzte es als Dateideskriptor. Was ist ein Deskriptor und was bewirkt er? Es ist gut, dass der Autor des Artikels hier erklärt https://www.mql5.com/ru/articles/496, dass Handle ist ein eindeutiger Zeiger auf etwas (eine Datei, ein Indikator, etc.) auf Russisch.

Nun gilt es, die Bedeutung des gesamten Codes zu verstehen. Ich bitte die Community um Hilfe, ich habe so viel Zeit mit diesem Code bis 3 Uhr morgens verbracht, und mein Kopf ist völlig unbeholfen.

Mit freundlichen Grüßen, Vladimir.

Aber warum sollte man etwas in Google übersetzen, wenn in der Dokumentation alles auf Russisch steht?

Verschiebt die Position des Dateizeigers um die angegebene Anzahl von Bytes relativ zur angegebenen Position.

Und ich würde Ihren Kommentar wie folgt übersetzen: "Verschiebt den Dateizeiger vom Anfang um 0 Bytes. Mit anderen Worten: bis zum Anfang der Datei."

Referenzpunkt für den Offset. Kann einen der Werte von ENUM_FILE_POSITION annehmen

Kennung

Beschreibung

SEEK_SET

Anfang der Datei

SEEK_CUR

Aktuelle Dateiposition des Dateizeigers

SEEK_END

Ende der Datei

Документация по MQL5: Файловые операции / FileSeek
Документация по MQL5: Файловые операции / FileSeek
  • www.mql5.com
//|                                                Demo_FileSeek.mq5 | //|                        Copyright 2013, MetaQuotes Software Corp. | //|                                              https://www.mql5.com | //| Script program start function                                    |...
 
Alexey Viktorov:

Und warum etwas mit Google übersetzen, wenn in der Dokumentation alles auf Russisch steht?

Und ich würde Ihren Kommentar wie folgt übersetzen: "Verschiebt den Dateizeiger vom Anfang auf 0 Bytes. Mit anderen Worten: bis zum Anfang der Datei."

Kennung

Beschreibung

SEEK_SET

Anfang der Datei

SEEK_CUR

Aktuelle Dateiposition des Dateizeigers

SEEK_END

Ende der Datei

Hallo Alexey!

Ich habe die Bedeutung der Wortkombination FileHandle gegoogelt. Ich wollte verstehen, was es ist und woher es kommt. Die Hilfe hat mir nicht geholfen, also musste ich googeln. Als ich es herausfand, stellte sich heraus, dass der Autor des Codes selbst eine Variable zum Speichern der Datei mit einem eindeutigen Zeiger erstellt hatte. In Bezug auf FileSeek und SEEK_SET hat mir die Hilfe geholfen, aber die Bedeutung der Zeichenfolge war nicht klar. Jetzt, mit Hilfe Ihres Tipps, ist mir klar geworden, wozu er in einer Datei mit einem eindeutigen Zeiger dient.

Herzlichen Dank für Ihre Hilfe!

Mit freundlichen Grüßen, Vladimir.

Документация по MQL5: Константы, перечисления и структуры / Константы ввода/вывода / Позиционирование внутри файла
Документация по MQL5: Константы, перечисления и структуры / Константы ввода/вывода / Позиционирование внутри файла
  • www.mql5.com
Большая часть файловых функций связана с операциями чтения/записи информации. При этом с помощью функции FileSeek() можно указывать положение файлового указателя на позицию внутри файла, с которой будет...
 
MrBrooklin:

Hallo Alexey!

Ich habe die Bedeutung des Begriffs FileHandle gegoogelt. Ich wollte verstehen, was es ist und woher es kommt. Die Hilfe war nicht hilfreich, also musste ich Google bemühen. Der Hilfetext für FileSeek und SEEK_SET war sehr hilfreich, aber die Bedeutung des Strings war nicht klar. Jetzt, mit Hilfe Ihres Tipps, wurde klar, wofür die Datei mit dem eindeutigen Zeiger gedacht ist.

Herzlichen Dank für Ihre Hilfe!

Mit freundlichen Grüßen, Vladimir.

Der Zeiger ist nicht eindeutig, er ist nur die Startposition eines Schreib- oder Lesevorgangs. So ähnlich, wie wir eine Erklärung schreiben. Die Kopfzeile beginnt in der zweiten Hälfte der Seite, der Rest des Textes am linken Seitenrand. Oder wir beginnen einen neuen Absatz etwas weiter hinten am Zeilenrand. Dies ist der Anfang der Zeile und dies ist der Zeiger. Wir können den Anfang einer Zeile an eine beliebige Stelle im vorhandenen Text verschieben und an dieser Stelle schreiben oder lesen.

Der Dateihandle ist eindeutig. Er kann auch als Identifikator bezeichnet werden. In der Tat handelt es sich um eine übliche Variable. Sie können es abrakadabra nennen und ihm ein Dateihandle zuweisen.

 
Sergey:

Guten Tag!

Ich versuche, den Code des Indikators herauszufinden. An einer Leitung hängengeblieben.

Was bedeutet die letzte Zeile und wie kann sie einfacher (klarer) umformuliert werden?

Sie ist viel einfacher geschrieben als jede andere Konstruktion. Er heißt: ternärer Operator

cancl[i] = (acD==1 && aoD==1) ? 0 : (acD==2 && aoD==2) ? 1 : (acD==1 && aoD==2)? 2 : 3;
cancl[i] = if(acD==1 && aoD==1) { 0 } else { if(acD==2 && aoD==2) { 1 else { (acD==1 && aoD==2)? 2 : 3;
Ich habe den Code konventionell dargestellt, so dass Sie hoffentlich den Dreh herausbekommen
Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
  • www.mql5.com
В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void. Результатом...
 
Sergey:

Guten Tag!

Ich analysiere den Code des Indikators. Ich bin bei einer Zeile hängen geblieben.

Was bedeutet die letzte Zeile und wie kann sie einfacher (klarer) umformuliert werden?

// cancl[i] = (acD==1 && aoD==1) ? 0 : (acD==2 && aoD==2) ? 1 : (acD==1 && aoD==2)? 2 : 3;

if      (acD==1 && aoD==1)   { cancl[i]=0; }
else if (acD==2 && aoD==2)   { cancl[i]=1; }
else if (acD==1 && aoD==2)   { cancl[i]=2; }
else                         { cancl[i]=3; }

aber es ist meiner Meinung nach nicht einfacher oder klarer. Es ist fast im Stil von MT :-) Um stilvoll zu sein, sollten es mehr Saiten sein und sie sollten im Stil einer "Treppe" verlaufen :-)