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

 
BillionerClub:

Wie konvertiere ich die Mausposition in Zeit, aber ohne zu werfen?

Es muss zumindest eine Art von Veranstaltung geben. Würde es funktionieren, die Maus zu bewegen?
 
Alexey Viktorov:
Nun, es muss irgendeine Art von Ereignis geben. Vielleicht würde eine Mausbewegung funktionieren?

Nein, nur das Ablesen der Koordinaten und die Umrechnung während der Kerze.

 
Alexey Viktorov:
Nun, zumindest muss es ein Ereignis geben. Vielleicht würde es funktionieren, wenn Sie die Maus bewegen?

Ja, danke, Sie haben recht, es ist dasselbe. Obwohl man natürlich zuerst die Maus bewegen und dann den Hotkey drücken würde.

 
Es hat sich herausgestellt, dass es unmöglich ist, Funktionen von benutzerdefinierten Ereignissen in Skripten zu verwenden. Jetzt muss ich den Indikator ausführen und ihn zur Ausführung des Skripts verwenden. Im Prinzip macht es keinen Unterschied, wenn Sie nicht Drag & Drop, sondern Hotkeys verwenden.
 
BillionerClub:
Es stellt sich heraus, dass benutzerdefinierte Ereignisfunktionen nicht in Skripten verwendet werden können. Jetzt muss ich den Indikator ausführen und das Skript durchlaufen lassen. Welchen Unterschied macht es im Prinzip, wenn ich nicht Drag & Drop, sondern Hotkeys verwende?

Wahrscheinlich hätte ich in der Dokumentation genauer schreiben sollen, dass OnChartEvent nicht in Skripten funktioniert, aber eine solche Zeile ist in der Dokumentation

Die Funktion kann in Expert Advisors und Indikatoren aufgerufen werden, sie sollte vom Typ void sein und 4 Parameter haben:

Und benutzerdefinierte Ereignisse haben damit nichts zu tun.

 
BillionerClub:

Wie konvertiert man eine Mausposition rechtzeitig, aber ohne sie zu werfen?

Manche Menschen schreiben ohne Satzzeichen, andere stochern im Text herum... Sie denken, weil sie eine Frage stellen, sollte jeder wissen, wovon sie reden...

Sind Sie zur Schule gegangen? War es schwer? Glauben Sie, dass es hier einfach sein wird? Würden Sie nicht lieber wieder zur Schule gehen?

 
Alexey Viktorov:

Nun, hier ist der Text.

Setzen Sie einfach eine Zahl anstelle einer Formel ein und ...

Ich tue dies, aber das Ergebnis ist Null. Diese Funktion im Indikator"A_D1", ich setze seinen Wert in den Puffer, dann rufe ich den Indikator vom Skript aus auf und gebe den Wert auf dem Drucker aus

  Lot= iCustom(NULL,0,"A_D1",0,1);
  Print("Lot ",DoubleToStr(Lot,2));

Wenn die Funktion im Indikator mit der Zeichenfolge

RiskMony = floor(FreeMargin*risk/100);

wird eine Zahl von 0,07 ausgegeben, aber wenn

RiskMony =1.5;//

es wird 0,00 gedruckt

 

Vielen Dank für Ihre Hilfe und Kritik, ich wünsche Ihnen allen einen schönen Tag. Ich habe das gesamte Skript über CHARTEVENT_CLICK als Funktion in den Indikator eingefügt. Alles hat geklappt, der Komfort zu bestimmten Zeiten und die Geschwindigkeit.


#include <Keys.mqh>
CKeys ckeys;

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//--- нажатие кнопки на клавиатуре 
   if(id==CHARTEVENT_CLICK)
     {

      if(ckeys.KeyCtrlState())
        {
        Запустить();        
        }

     }

  }



 
macleta:

Ich tue dies, aber es wird nichts angezeigt. Diese Funktion im Indikator"A_D1", ich setze seinen Wert in den Puffer, dann rufe ich den Indikator aus dem Skript, Ausgabe des Wertes auf dem Drucker

Wenn die Funktion im Indikator mit der Zeichenfolge

wird die Zahl 0,07 gedruckt, aber wenn

wird 0,00 gedruckt.

Int scheint zu gehen, um binäre Rundung, Trunkierung, und ist nicht kompatibel mit anderen Datentypen, kein Verlust.

 
macleta:

Ich tue dies, aber es wird nichts angezeigt. Diese Funktion im Indikator"A_D1", ich setze seinen Wert in den Puffer, dann rufe ich den Indikator aus dem Skript, Ausgabe des Wertes auf dem Drucker

Wenn die Funktion im Indikator mit der Zeichenfolge

wird die Zahl 0,07 gedruckt, aber wenn

es wird 0,00 gedruckt

Wie wäre es mit 15 oder 20 anstelle von 1,5? Vielleicht wollen Sie mit einem zu langen TP nur wenig Gewinn machen?
Grund der Beschwerde: