Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Schauen Sie einfach in die Einstellungen - alles ist deaktiviert (DLLs sind standardmäßig deaktiviert):
Wenn man externe DLLs verwenden möchte, aktiviert man einfach die Schaltfläche "Jeden DLL-Funktionsaufruf bestätigen" und sieht, was aufgerufen wird. Auch das ist ein Schutz. Genauso wie der Schutz aller eingebetteten Dateioperationen mit Zugriff nur auf die Verzeichnisse /history und /files.
Bibliothek MetaDLL;
verwendet
SysUtils,
Klassen,
Fenster;
{$R *.res}
{-----Initialize-------------------------------------------------------------}
procedure InitDllData(Währungsname: PChar); stdcall;
beginnen
// etwas tun
Ende;
{-----Finalize---------------------------------------------------------------}
procedure FreeDllData; stdcall;
beginnen
// etwas tun
Ende;
{-----Process tick-----------------------------------------------------------}
procedure ProcessTick(Währungsname: PChar; bid, ask: double; time: integer); stdcall;
var
f: Datei;
DateTime: TDateTime;
beginnen
Versuchen Sie
AssignFile(f, WorkDir + CurrencyName + '.tik');
Versuchen Sie
zurücksetzen(f, 1);
außer
rewrite(f, 1);
Ende;
Versuchen Sie
DateTime := MTTimeToNormal(time);
seek(f, FileSize(f));
BlockWrite(f, DateTime, sizeof(DateTime));
BlockWrite(f, bid, sizeof(bid));
schließlich
CloseFile(f);
Ende;
außer
//
Ende;
Ende;
Ausfuhren
ProcessTick, InitDllData, FreeDllData;
Ende.
Vergessen Sie nicht, alle Ihre Funktionen als stdcall einzustellen, verwenden Sie nur Standard-Windows-Typen (Strings nur als PChar), vergessen Sie auch nicht, in der Export-Direktive alle Ihre exportierten Funktionen anzugeben und Sie werden zufrieden sein.
Ja, und sehen Sie sich auch das von Renat gepostete Bild an, wie man die Verwendung von dll in EA erlaubt.
#import "MetaDLL.dll"
void ProcessTick(string CurrencyName, double aBid, double aAsk, int aTime);
void InitDllData(string CurrencyName);
void FreeDllData();
und dann können Sie jede Funktion aufrufen
Bibliothek MetaDLL;
verwendet
SysUtils,
Klassen,
Fenster;
...
Sorry für eine weitere dumme Frage: Ist es möglich, VCL in dieser DLL zu verwenden (um genauer zu sein, war es möglich für Sie)? Denn wenn ich "form" mit ddl verbinde, stürzt MetaTrader immer noch mit "error" beim Start ab (oder wenn ich einen entsprechenden Expert Advisor verbinde).
Ich bin eigentlich nur daran interessiert, TDatabase, TDataSource, TQuery
Ich bin sehr an Ihrem Emulator interessiert, den Sie an der Geschichte üben können. Soweit ich weiß, wird MT es leider nicht schaffen. Wie ich verstanden habe, wollen Sie es nicht wirklich verkaufen, weil Sie gutes Geld mit Forex verdienen. Aber ich habe schon lange im Internet nach etwas Ähnlichem gesucht, bisher ohne Erfolg. Ich würde mich freuen, wenn Sie mir Ihre Entwicklung zur Verfügung stellen. Ich kann Ihnen MTS anbieten, das ist vielleicht das einzige, was Sie interessiert.
Ich hoffe auf Ihre Mitarbeit, Alexander. f1-forum@mail.ru