Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 943

 

Wer weiß, wie man das herausfindet

longchart_id, // Diagramm-ID. 0 bedeutet aktuelle Karte.

wenn die Karte nicht aktuell ist?

 
Leo59:

Wer weiß, wie man das herausfindet

longchart_id, // Diagramm-ID. 0 bedeutet die aktuelle Karte.

wenn die Karte nicht die aktuelle ist?

Dann muss der erste ChartFirst ausgewählt werden, um zu prüfen, ob er der richtige ist, nach Symbol und Periode, wenn nicht, muss der nächste ausgewählt werden und so weiter bis zum richtigen und die ChartID definieren
 
AlexeyVik:
Dann müssen Sie das erste ChartFirst auswählen, um zu prüfen, ob es das richtige ist, nach Symbol und Periode, wenn nicht, wählen Sie das nächste und so weiter bis zum richtigen und definieren Sie ChartID
Ich danke Ihnen!
 

Hallo zusammen. Umgang mit Funktionsbibliotheken, Importfunktionen (#import) und Include-Dateien (#include). Ich bin mir nicht ganz sicher, wer wen "einschließt"? Also.

Die Bibliotheken befinden sich im Ordner "Libraries". Dieser Ordner kann 5 (nicht ausgeschlossene) Arten von Dateien enthalten: 1- .dll (Bibliothek von Windows-Funktionen, bereits für MT4 mit dem Modifikator #defineMT4_EXPFUNC int __stdcall ... geändert),

2- . ex4 (scheint das Ergebnis der Kompilierung von .mq4 oder .mqh zu sein), 3- .dat (ich habe nichts darüber gelesen), 4- .mqh (wahrscheinlich eine Datei, die aktiviert werden muss, weil die#property-Bibliothek deaktiviert ist, aber Igor Kim hat sie,

als Bibliothek mit zusätzlichen Funktionen), 5-.mq4 (eine Bibliothek mit benutzerdefinierten Funktionen und Include-Dateien, die benutzerdefinierte Funktionen, Include-Dateien, .dll-Bibliotheken und anderes enthalten können.

Die Include-Dateien befinden sich im Include-Ordner und können andere Include-Dateien, benutzerdefinierte Funktionen, .dll-Bibliotheken und andere Dinge enthalten. Auch im Ordner Include --> Controls --> res icons (Bilder) .bmp.

Wie konnte ich ein Skript erstellen, das nicht funktioniert (reagiert nicht auf Maus- und Tastaturklicks). Vielleicht, weil der Ordner Bibliotheken keine user32.dll (obwohl esWinUser32.mqh verwendetund es kann nicht irgendwo nicht sein).

Können Sie mir sagen, wo etwas falsch ist? Vielen Dank im Voraus, die Fragen fangen gerade erst an.

#property copyright "Copyright 2015"
#property link      "http://"
#property version   "1.00"
//#property strict
#include <WinUser32.mqh>

#import  "IdleLib.dll"
int      GetLastKeyWP();
int      GetLastMouseWP();
int      IdleLibInit();
int      IdleLibUnInit();
string   GetActiveWndName();
#import 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
      Alert("Начало.");
      IdleLibInit();//инициализируем Dll для перехвата событий.
      while(IsStopped()==false)
         {
            int    lastkey=GetLastKeyWP();         //Опрашиваем код посл. клавиши
            int    lastmouse=GetLastMouseWP();     //Опрашиваем код мыши.
            string lastwnd=GetActiveWndName();     //Имя окна Metatrader где произошло событие.
            if ((lastkey!=0) && (lastwnd!=""))
               {
                  Alert("Код нажатой клавиши=",lastkey," из окна ",lastwnd);
               }
            if ((lastmouse!=0) && (lastwnd!="") && (lastmouse!=512)) //отражаем все события кроме движения мыши.
               {
                  Alert("Код мыши=",lastmouse," из окна ",lastwnd);
               }
            Sleep(200);
         }  //while
      IdleLibUnInit();
      Alert("Завершение.");
  }
 
kosmos0975:

Hallo zusammen. Umgang mit Funktionsbibliotheken, Importfunktionen (#import) und Include-Dateien (#include). Ich bin mir nicht ganz sicher, wer wen "einschließt"? Also.

Die Bibliotheken befinden sich im Ordner "Libraries". Dieser Ordner kann 5 (nicht ausgeschlossene) Arten von Dateien enthalten: 1- .dll (Bibliothek von Windows-Funktionen, bereits für MT4 mit dem Modifikator #defineMT4_EXPFUNC int __stdcall ... geändert),

2- . ex4 (scheint das Ergebnis der Kompilierung von .mq4 oder .mqh zu sein), 3- .dat (ich habe nichts darüber gelesen), 4- .mqh (wahrscheinlich eine Datei, die aktiviert werden muss, weil die #property-Bibliothek deaktiviert ist, aber Igor Kim hat sie,

als Bibliothek mit zusätzlichen Funktionen), 5-.mq4 (eine Bibliothek mit benutzerdefinierten Funktionen und Include-Dateien, die benutzerdefinierte Funktionen, Include-Dateien, .dll-Bibliotheken und anderes enthalten können.

Die Include-Dateien befinden sich im Include-Ordner und können andere Include-Dateien, benutzerdefinierte Funktionen, .dll-Bibliotheken und andere Dinge enthalten. Auch im Ordner Include --> Controls --> res icons (Bilder) .bmp.

Wie konnte ich ein Skript erstellen, das nicht funktioniert (reagiert nicht auf Maus- und Tastaturklicks). Vielleicht, weil der Ordner Bibliotheken keine user32.dll (obwohl esWinUser32.mqh verwendetund es kann nicht irgendwo nicht sein).

Können Sie mir sagen, wo etwas falsch ist? Vielen Dank im Voraus, die Fragen fangen gerade erst an.

Der Ordner "Libraries" enthält:

1) selbst geschriebene *.dll;

2) *.ex4 - Ergebnis von kompilierten Bibliotheken mit #property library;

3) *.mq4 (nicht obligatorisch), aus der *.ex4 aus Punkt 2 kompiliert wird.

 

Ich danke Ihnen für Ihre Antwort. Zur Verdeutlichung: 1) selbst geschriebene *.dll - Bibliothek von Windows-Funktionen oder Ihr Code, bereits an MT4 angepasst. 2) *.mq4(Quelle) wird zusammen mit der Hauptdatei oder ihrer *.ex4(bereits kompiliert) kompiliert

(bereits kompiliert) wird während der Kompilierung in die Hauptdatei aufgenommen (hinzugefügt). Für die Bearbeitung der Bibliothek ist es bequemer, die Quelldatei zu haben. 3) Die Deregulierung #import nur für *.dll. Sie liegt im Ordner "Libraries", da die Bibliothek, obwohl sie eine externe

Funktionen. 4) *.mqh - Dateien zur Aufnahme, nicht kompiliert (immer Quelltext).

Ich habe gelesen, dass alte Bibliotheken möglicherweise nicht mehr funktionieren, weil Unicode jetzt. Was ist an dem obigen Beispiel falsch?

 
kosmos0975:

Ich danke Ihnen für Ihre Antwort. Zur Verdeutlichung: 1) selbst geschriebene *.dll - Bibliothek von Windows-Funktionen oder Ihr Code, bereits an MT4 angepasst. 2) *.mq4(Quelle) wird zusammen mit der Hauptdatei oder ihrer *.ex4(bereits kompiliert) kompiliert

(bereits kompiliert) wird während der Kompilierung in die Hauptdatei aufgenommen (hinzugefügt). Für die Bearbeitung der Bibliothek ist es bequemer, die Quelldatei zu haben. 3) Die Deregulierung #import nur für *.dll. Sie liegt im Ordner "Libraries", da die Bibliothek, obwohl sie eine externe

Funktionen. 4) *.mqh - Dateien zur Aufnahme, nicht kompiliert (immer Quelltext).

Ich habe gelesen, dass alte Bibliotheken möglicherweise nicht mehr funktionieren, weil Unicode jetzt. Was ist an dem obigen Beispiel falsch?

Zur Klarstellung:

1) Windows-Bibliotheken müssen nicht in der Terminal-Sandbox abgelegt werden;

2) *.mq4 (Quelle) mit der Bibliotheksdirektive #property (nach dem Kompilieren erhalten Sie eine *.ex4-Datei). Ohne diese Richtlinie wird die Datei nicht kompiliert;

Die #import-Direktive wird nicht nur für *.dll-Bibliotheken verwendet. Sehen Sie sich eine beliebige *.mqh-Datei im Ordner Include an. Dort sollten sich übrigens auch die *.mqh (Header)-Dateien befinden. Sie werden nicht kompiliert.

Über "alte" Bibliotheken und Unicode - es handelt sich um selbst geschriebene *.dll.

 

Ich habe herausgefunden, wo alles ist. Zur Struktur des obigen Skripts. #include< WinUser32.mqh> enthält das #import "user32.dll"-Diktiv und eine Liste der angepassten externen Funktionen. Außerdem #define(Zuweisung von mnemonischen Namen) zu einigen

numerische Werte. Warum wird das gemacht (Zuweisung) und ist es überhaupt notwendig, die Datei #include< WinUser32.mqh> einzubinden, denn die externen Funktionen, die weiter verwendet werden, gehören zu #import "IdelLib.dll".

Die Liste der Funktionen "user32.dll" scheint eine eigene für Maus- und Tastatur-Hijacking zu haben, aber es wurde keine Beschreibung gefunden. Ich möchte wissen, wie man es (Skript) zu machen, um richtig funktionieren (funktioniert die gleichen interaktiven Panels in der Strategie-Tester trotz seiner

hartnäckige Fehler seitens der Entwickler) und es gibt sachkundige Leute. Ich habe mir ein paar Threads über *.dll-Bibliotheken angesehen. Sie beginnen zügig und sprechen dann über das Leben. Doch aus irgendeinem Grund, sehr wenig Informationen (Arbeits-Bibliotheken mit Beschreibungen und Beispiele).

 
kosmos0975:

Ich habe herausgefunden, wo alles ist. Zur Struktur des obigen Skripts. #include< WinUser32.mqh> enthält das #import "user32.dll"-Diktiv und eine Liste der angepassten externen Funktionen. Außerdem #define (Zuweisung von mnemonischen Namen) zu einigen

numerische Werte. Warum wird das gemacht (Zuweisung) und ist es überhaupt notwendig, die Datei #include< WinUser32.mqh> einzubinden, denn die externen Funktionen, die weiter verwendet werden, gehören zu #import "IdelLib.dll".

Die Liste der Funktionen "user32.dll" scheint eine eigene für Maus- und Tastatur-Hijacking zu haben, aber es wurde keine Beschreibung gefunden. Ich würde gerne wissen, wie man es (Skript), um richtig zu arbeiten (arbeitet die gleichen interaktiven Panels in der Strategy Tester trotz seiner

hartnäckige Fehler seitens der Entwickler) und es gibt sachkundige Leute. Ich habe mir ein paar Threads über *.dll-Bibliotheken angesehen. Sie beginnen zügig und sprechen dann über das Leben. Aus irgendeinem Grund gibt es jedoch nur sehr wenige Informationen (Arbeitsbibliotheken mit Beschreibungen und Beispielen).

Schauen Sie sich um, vielleicht finden Sie etwas Interessantes.
 
Wer hat einen normalen iMA technischen Indikatorcode mit APPLIED_PRICE auswählbar ? Bitte senden!