Fragen von einem "Dummy" - Seite 20

 

Ich grüße alle.

Frage - Ich möchte Methoden der CTrade-Klasse in meinem EA verwenden. Welche Befehle sollte ich dem Code dafür hinzufügen?

Ich habe viel mit #include, #import versucht... Nichts kommt dabei heraus :(

Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
axmed0207:

Ich grüße alle.

Frage - Ich möchte Methoden der CTrade-Klasse in meinem EA verwenden. Welche Befehle sollte ich dem Code dafür hinzufügen?

Ich habe viel mit #include, #import probiert... Nichts funktioniert bis jetzt :(


Das MACD Sample Expert Advisor Beispiel hilft Ihnen dabei.

Schließen Sie das Modul auf folgende Weise an

#include <Trade\Trade.mqh>

Deklarieren Sie eine Variable auf eine von zwei Arten (je nach Algorithmus und dem Bedarf an bestimmten Implementierungsfunktionen)

Dies kann als unabhängiges Objekt oder als Teil der Hauptklasse geschehen.

1. CTrade m_trade;  // trading object (автоматически создается и удаляется)
2. CTrade *m_trade; // trading object (указатель на динамический объект, требуется инициализация и деинициализация. В противном случая будут проблемы)

Ein Beispiel für die Schließung einer Position (im Detail im Code).

m_trade.PositionClose(Symbol())

Beispiel für das Ändern einer Position (siehe Einzelheiten im Code).

m_trade.PositionModify(Symbol(),sl,tp)

PS

Sie können auch die CExpert-Füllung im Detail studieren.

 
Vielen Dank für die ausführliche Antwort :)
 
2011.07.15 13:30:35 2011.07.08 00:00:01 Unendliche Schlafschleife beim Testen entdeckt.
Was bedeutet das?
 
dentraf:
2011.07.15 13:30:35 2011.07.08 00:00:01 Unendliche Schlafschleife beim Testen entdeckt.
Was bedeutet das?

Theoretisch ist dies ein Grund, einen Meisterschaftsteilnehmer zu disqualifizieren (zumindest Probleme beim automatischen Testen des EA), aber in der Tat ist es eine falsche Arbeit mit sleep().

Ich empfehle, diesen Artikel (und möglicherweise auch andere) eingehender zu lesen.

Zu Ihrer Frage: Hier ist das Zitat aus dem Artikel:

Sleep()-Funktion im Testgerät

Mit der Funktion Sleep() können Sie die Ausführung eines mql5-Programms während der Arbeit an einem Chart in einem Expert Advisor oder Skript für einige Zeit unterbrechen. Dies kann notwendig sein, wenn Daten angefordert werden, die zum Zeitpunkt der Anforderung noch nicht fertig sind, und Sie warten müssen, bis sie fertig sind. Ein ausführliches Beispiel für die Verwendung der Funktion Sleep() finden Sie im Abschnitt Organisation des Datenzugriffs.

Im Prüfprogramm verzögern die Aufrufe von Sleep() den Prüfvorgang nicht. Beim Aufruf von Sleep() werden die erzeugten Ticks innerhalb der angegebenen Verzögerung "abgespielt", wodurch schwebende Aufträge, Stops usw. ausgelöst werden können. Nach dem Aufruf von Sleep() wird die im Prüfgerät simulierte Zeit um das im Parameter der Funktion Sleep angegebene Intervall verlängert.

Wenn infolge der Ausführung von Sleep() die aktuelle Zeit im Prüfgerät das Ende des Prüfzeitraums überschreitet, wird ein Fehler "Endlosschleife in Sleep" empfangen. Tritt ein solcher Fehler auf, werden die Testergebnisse nicht verworfen, sondern alle Berechnungen abgeschlossen (Anzahl der Trades, Drawdown usw.) und die Ergebnisse an das Terminal weitergeleitet.

Die Funktion Sleep() funktioniert nicht in OnDeinit(), da nach ihrem Aufruf die Zeit des Testers garantiert außerhalb des Testintervalls liegt.

 

Genossinnen und Genossen!

Ich werde dem Expert Advisor eine Verlaufsanalyse hinzufügen. Können Sie mir sagen, wie ich die Datenausgabe organisieren kann?

Sagen wir, der längste Balken in einem Jahr der Geschichte. Wie der Wert ermittelt wird, ist klar, aber wo wird er ausgegeben? Es wäre bequemer, sie direkt in das Diagramm auszugeben. Oder über die Druckfunktion im Journal, aber ich weiß nicht, wie das funktionieren soll. Wird es kontinuierlich Werte nachdrucken? Müsste ich für den Druck eine schwierige Bedingung festlegen? Was wäre Ihre allgemeine Empfehlung?

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Общие функции / Print - Документация по MQL5
 
AUser:

Genossinnen und Genossen!

Ich werde dem Expert Advisor eine Verlaufsanalyse hinzufügen. Können Sie mir sagen, wie ich die Datenausgabe organisieren kann?

Sagen wir, der längste Balken in einem Jahr der Geschichte. Wie der Wert ermittelt wird, ist klar, aber wo wird er ausgegeben? Es wäre bequemer, sie direkt in das Diagramm auszugeben. Oder über die Druckfunktion im Journal, aber ich weiß nicht, wie das funktionieren soll. Wird es kontinuierlich Werte nachdrucken? Müsste ich für den Druck eine schwierige Bedingung festlegen? Was wäre Ihre allgemeine Empfehlung?


Versuchen Sie es mit der Funktion Comment(). Sie platziert den Text in der oberen linken Ecke des Diagramms.

Dort können Sie auch das Symbol "\n" verwenden, um zur nächsten Zeile zu gelangen. Leider funktioniert "\t" nicht.

 
voix_kas:

Versuchen Sie es mit der Funktion Comment(). Sie platziert den Text in der linken oberen Ecke des Diagramms.

Sie können auch "\n" verwenden, um zur nächsten Zeile zu gelangen. Leider funktioniert "\t" nicht.

Das war's, danke)
 

Können Sie mir sagen, wie viele Daten in einem Array untergebracht werden können? Array von MqlRates Struktur, ich werde alle die Geschichte der stündlichen Bars seit 2009 setzen, wird es passen?

p.s. Noch etwas mit dem Strategietester, er funktioniert am Wochenende nicht, weil der Server nicht verfügbar ist oder irgendetwas bei mir gepatzt hat? Am Freitag schien es richtig zu funktionieren))

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

1. Die ganze Sache scheint so zu sein. Wenn es eine Grenze gibt, liegt sie bei der Schwellenwertstufe int oder long. Der Computer verfügt nicht über so viel Arbeitsspeicher. =)

2. Beschreiben Sie das Problem, dass das Prüfgerät nicht funktioniert, genauer. Fehlercodes, Bildschirmfotos...

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