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

 

Hallo zusammen! Frage zu MQL5.

Ich würde gerne Kommentare in die Funktion zum Schließen einer Position in einem Ticket einfügen.

Bislang habe ich die CTrade-Klasse verwendet, aber sie bietet keine solche Möglichkeit.

D.h. ich muss OrderSend verwenden, richtig?

Hier verstehe ich nicht: https://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions#trade_action_deal im Beispiel ist die Funktion OnStart geschrieben. Oder kann ich alles in eine benutzerdefinierte Funktion schreiben und diese bei Bedarf aufrufen?

Ist es notwendig, etwas zu OnInit hinzuzufügen?

Und wird es nicht zu Konflikten kommen, wenn ich den Abschluss über OrderSend schreibe und die Eröffnung und Änderungen auf der Grundlage der CTrade-Klasse belasse?

Ich danke Ihnen!

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:

Grob gesagt - lesen Sie sorgfältig, was ich Ihnen geschrieben habe, und lassen Sie die Endlosschleife aus Ihrem Code.

Sind Sie sicher, dass es die richtige Lösung ist, den Expert Advisor in eine Endlosschleife zu setzen?

Zunächst einmal ist dies keine Lösung, sondern ein Beispiel, um das Wesentliche dessen, worüber ich spreche, zu verdeutlichen.

Zweitens handelt es sich nicht um eine Endlosschleife, sie wird korrekt und sicher beendet, wenn das Programm endet.

Und drittens schreiben Sie mir, um eine ganz andere Sache zu lösen, für die ich mir eine Million Möglichkeiten vorstellen kann.

Sie halten meine Schleife also für einen Stolperstein in meiner Situation? Wirklich?

Wie auch immer, ich habe es verstanden. Ich hatte einen schlechten Trip in diesen Thread...

Aber trotzdem vielen Dank!

 
Marat Sultanov:

Erstens ist dies keine Lösung, sondern ein Beispiel, um zu zeigen, worum es mir geht.

Zweitens handelt es sich nicht um eine Endlosschleife, sie wird korrekt und sicher beendet, wenn das Programm endet.

Und drittens schreiben Sie mir, um eine ganz andere Sache zu lösen, für die mir eine Million Möglichkeiten einfallen.

Sie halten meine Schleife also für einen Stolperstein in meiner Situation? Wirklich?

Wie auch immer, ich habe es verstanden. Ich hatte einen schlechten Trip in diesen Thread...

Aber trotzdem vielen Dank!

Am Ende des Programms, ja, das wird es.

Führen Sie dann eine wirklich umfangreiche Berechnung durch, und versuchen Sie, diese zu unterbrechen, wenn das Einstellungsfenster aufgerufen wird.

Ich habe mir angesehen, wie Ihr Code funktioniert - er reagiert nicht auf eine Änderung der Variablen in den Einstellungen - er wird durch eine Endlosschleife verhindert, die nur durch das Entfernen des EA unterbrochen werden kann, und er wird nicht wieder starten - Sie haben ihn aus dem Chart gelöscht...

Versuchen Sie, die schwere Berechnung mit Hilfe eines Timers im Auge zu behalten. Ich bin mir allerdings nicht sicher, ob der Timer zum Zeitpunkt der Berechnung aufgerufen wird.

Aber in jedem Fall ist eine Schleife zur Emulation einer langen Berechnung keine gute Lösung.

 
Hallo. Können Sie mir bitte sagen, wie ich ein Array in die Eingabeparameter einer Funktion einfügen kann?
double test[];


double Test(.....)
{

}
 
Fresto:
Hallo. Können Sie mir bitte sagen, wie ich ein Array in die Eingabeparameter einer Funktion einfügen kann?

Ein Array an eine Funktion übergeben?

Es geht ungefähr so:

//+------------------------------------------------------------------+
double test[];
ArrayResize(test,2);
ArrayInitialize(test,256);

Print(Test(test));
//+------------------------------------------------------------------+
double Test(double &array[])
{
   if(ArraySize(array)==0) return(WRONG_VALUE);
   array[0]+=array[1];
   return(array[0]);
}
//+------------------------------------------------------------------+

Nun ... Variationen des Themas ...

 
Artyom Trishkin:

Wenn Sie das Programm beenden, ist das der Fall.

Dann machen Sie eine wirklich schwere Berechnung und versuchen Sie, diese zu unterbrechen, wenn das Einstellungsfenster aufgerufen wird.

Ich habe mir angeschaut, wie Ihr Code funktioniert - er reagiert nicht auf variable Änderungen in den Einstellungen - das ist durch die Endlosschleife nicht erlaubt, die nur durch das Entfernen des EA unterbrochen werden kann, und er wird nicht wieder starten - Sie haben ihn aus dem Chart gelöscht...

Versuchen Sie, eine schwere Berechnung mit einem Timer zu verfolgen. Ich bin mir allerdings nicht sicher, ob der Timer zum Zeitpunkt der Berechnung aufgerufen wird.

Aber in jedem Fall ist eine Schleife zur Emulation einer langen Berechnung keine gute Lösung.

Danke!

Verstanden. Aber leider gibt es einen vernünftigen Bedarf.

Aber in jedem Fall ist eine Schleife zur Emulation einer langen Berechnung keine gute Lösung.

Es gibt Situationen, in denen es zum Beispiel notwendig ist, in eine große Datei zu schreiben oder aus einer großen Datei zu lesen oder alles zusammen. Wenn man seine Fantasie ausreizt, kann man eine Menge verrückter Sachen machen, und der Schmerz wird quadriert, wenn man es umsetzt :)

Ich finde es seltsam, dass es die Möglichkeit gibt, einen Interrupt mit _StopFlag zu verfolgen, aber es gibt keine Änderung der Eingabeparameter :(

 
Hallo, Frage: ist es möglich, den Winkel zu ändern, in dem der Kommentar in der Grafik angezeigt wird?????
 
Dmitry Melnichenko:
Hallo, ich habe eine Frage. ist es möglich, den Winkel des Kommentars auf der Karte zu ändern?????

Nein.

Es sei denn, Sie erstellen selbst ein grafisches Etikett OBJ_LABEL und ändern dessen Eigenschaft

OBJPROP_ANGLE


mit der Funktion:ObjectSetDouble
 
Leute, Hilfe mit dem Indikator
Dateien:
llassiff.mq5  17 kb
 
Rafael Sahibgareev:
Leute, helft mir, den Indikator herauszufinden
Es gibt da ein Stück Code, das ich nicht verstehe. Sie müssen es selbst korrigieren.
Dateien:
llassiff.mq5  18 kb