Automatisierte Handelssysteme können hiermit Skype verwenden, um Textnachrichten zu versenden. In diesem Fall wird Skype über die Bibliothek Skype4COM angesprochen, das ist eine ActiveX-Komponente, die Zugriff auf das Programm ermöglicht. Sie können Skype4COM von der offiziellen Website der Entwickler herunterladen: http://dev.skype.com/accessories/skype4com
Die Skype4COM.dll Datei muss installiert und registriert sein.
Für ein Betriebssystem X86:
Für ein Betriebssystem X64:
Die SkypeMQL.dll-Datei muss im Ordner: [terminal Verzeichnis] \MQL5\Libraries installiert werden
1. Sofortnachrichten senden
int SkypeSendInstantMessageW (Zeichenfolge Skype_name,String Message,Int Status); int SkypeSendInstantMessageA(string skype_name,string message,int status);// für MetaTrader 4
Vor dem Senden einer Nachricht werden einige Tests durchgeführt:
Die Liste der Netzwerk-Status-Konstanten:
| Name | Wert | Beschreibung |
|---|---|---|
| STATUS_OFFLINE | 1 | |
| STATUS_ONLINE | 2 | |
| STATUS_AWAY | 4 | |
| STATUS_DONT_DISTURB | 16 |
Um mehrere Status zu erlauben gibt es die bit-by-bit Addition, zum Beispiel: STATUS_ONLINE | STATUS_AWAY.
Die maximale Länge einer Sofortnachrichten ist ~8000 ANSI Symbole, ~4000 Unicode-Symbole.
Beispielcode:
string InpSkypeName = "echo123"; // Skype Name string InpTextMessage = "Hello :)"; // Text Nachricht string msg; ENUM_SKYPE_ERROR err=(ENUM_SKYPE_ERROR)SkypeSendInstantMessageW(InpSkypeName,InpTextMessage,STATUS_ONLINE|STATUS_AWAY); if(err==ERROR_NO_ERRORS) msg=StringFormat("Sent IM to %s, %s",InpSkypeName,InpTextMessage); else msg=StringFormat("Error sending IM to %s, error: %s",InpSkypeName,EnumToString(err)); Print(msg);
2. Senden von SMS-Nachrichten
Das Senden von SMS-Nachrichten ist kostenpflichtig im Moment!
int SkypeSendSmsMessageW(string phone_number, string message); int SkypeSendSmsMessageA(string phone_number, string message);// для MetaTrader 4
Vor dem Senden einer SMS werden einige Tests durchgeführt:
Das Senden einer SMS an eine nicht existierende Nummer ist kein Fehler. Die Kosten für diese Operation werden berechnet, aber nach kurzer Zeit wieder retourniert, wenn die SMS nicht zugestellt werden konnte.
Eine SMS ist begrenzt auf 116 ANSI Symbole oder 58 Unicode-Symbole.
Beispielcode:
input string InpPhoneNumber = "+380123456789"; // Telefonnummer input string InpTextMessage = "Hello :)"; // SMS string msg; ENUM_SKYPE_ERROR err==(ENUM_SKYPE_ERROR) SkypeSendSmsMessageW(InpPhoneNumber,InpTextMessage); if(err==ERROR_NO_ERRORS) msg=StringFormat("Sent SMS to %s, %s",InpPhoneNumber,InpTextMessage); else msg=StringFormat("Error sending SMS to %s, error: %s",InpPhoneNumber,EnumToString(err)); Print(msg);
Beide Funktionen geben einen Integer-Wert zurück, die analysiert werden können, wenn nötig.
| Name | Wert | Beschreibung |
|---|---|---|
| ERROR_UNKNOWN | -1 | Unbekannter Fehler |
| ERROR_NO_ERRORS | 0 | Die erfolgreiche Ausführung |
| ERROR_ATTACH | 1 | Keine Verbindung zu Skype |
| ERROR_AUTHORIZED | 2 | Der Benutzer existiert nicht in der Kontaktliste |
| ERROR_STATUS | 3 | Ungültige Benutzer-Status |
| ERROR_TIMEOUTS | 4 | Zeitüberschreitung |
| ERROR_RUNNING | 5 | Skype wurde nicht in den Speicher geladen |
| ERROR_SENDING | 6 | Fehler beim Senden |
| ERROR_VALUE | 7 | Fehler der übergebenen Parameter |
| ERROR_ACCESS | 8 | Zugriff auf Skype verweigert |
| ERROR_SKYPE4COM | 9 | für x86: Skype4COM.dll wurde nicht registriert für x64: COM-Objekt Fehler beim Anlegen |
4. Der erste Start
Bei der ersten Verbindungsaufnahme des MetaTrader 5 mit Skype erscheint ein Pop-Up-Fenster, durch das die Verbindung erlaubt werden kann.

Nach der Zugriffserlaubnis wird das Programm in die Liste der Programmeinstellungen eingetragen: Tools -> Options -> Advanced -> Manage other programs' access to Skype.

5. Ausführungsfehler
Aus unbekanntem Grund endete die Arbeit Bibliothek kompiliert für MetaTrader 5 x64 mit einem "Stack overflow" Fehler. Wenn es mit Skype4COM verbunden ist, müssen Sie auf eine neue Nachricht warten, die diesen Fehler behebt.
Die Anlage verfügt über ein Archiv mit der Quellcode-Bibliothek (ein Projekt für den Microsoft Visual C++ 2010) und ein Leistungstest-Skript.
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/en/code/11453
ALGLIB - Numerische Analyse Bibliothek
ALGLIB Math. Funktionen Bibliothek (v. 3.5.0) portiert auf MQL4.
Ideal ZigZag
Sehr schneller ZigZag. Keine abgehängten Spitzen. Keine falschen Spitzen. Zur Verwendung durch EAs. Optimierter Spitzen-Abruf