![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Il suffit de regarder dans les paramètres - tout est désactivé (les DLL sont désactivées par défaut) :
Si l'on veut utiliser des DLL externes, il suffit d'activer le bouton "Confirmer chaque appel de fonction DLL" et de voir ce qui est appelé. C'est aussi une protection. Tout comme la protection de toutes les opérations sur les fichiers intégrés avec un accès uniquement aux répertoires /history et /files.
la bibliothèque MetaDLL ;
utilise
SysUtils,
Cours,
fenêtres ;
{$R *.res}
{-----Initialize-------------------------------------------------------------}
procédure InitDllData(CurrencyName : PChar) ; stdcall ;
commencer
// faire quelque chose
fin ;
{-----Finalize---------------------------------------------------------------}
procédure FreeDllData ; stdcall ;
commencer
// faire quelque chose
fin ;
{-----Process tick-----------------------------------------------------------}
procédure ProcessTick(CurrencyName : PChar ; bid, ask : double ; time : integer) ; stdcall ;
var
f : fichier ;
DateTime : TDateTime ;
commencer
essayez
AssignFile(f, WorkDir + CurrencyName + '.tik') ;
essayez
reset(f, 1) ;
sauf
réécriture(f, 1) ;
fin ;
essayez
DateTime := MTTimeToNormal(time) ;
seek(f, FileSize(f)) ;
BlockWrite(f, DateTime, sizeof(DateTime)) ;
BlockWrite(f, bid, sizeof(bid)) ;
enfin
CloseFile(f) ;
fin ;
sauf
//
fin ;
fin ;
exportations
ProcessTick, InitDllData, FreeDllData ;
fin.
N'oubliez pas de définir toutes vos fonctions en tant que stdcall, d'utiliser uniquement les types standard de Windows (chaînes de caractères uniquement en tant que PChar), n'oubliez pas non plus de spécifier dans la directive export toutes vos fonctions exportées et vous serez satisfait.
Oui, et regardez aussi l'image postée par Renat sur la façon d'autoriser l'utilisation de la dll dans l'EA.
#import "MetaDLL.dll"
void ProcessTick(string CurrencyName, double aBid, double aAsk, int aTime) ;
void InitDllData(string CurrencyName) ;
void FreeDllData() ;
et ensuite vous pouvez appeler n'importe quelle fonction
la bibliothèque MetaDLL ;
utilise
SysUtils,
Cours,
fenêtres ;
...
Désolé pour une autre question stupide : est-il possible d'utiliser VCL dans cette DLL (pour être plus précis, est-ce possible pour vous) ? Car lorsque je connecte "form" à ddl, MetaTrader se bloque toujours avec "error" au démarrage (ou lorsque je connecte un Expert Advisor correspondant).
En fait, je ne m'intéresse qu'à TDatabase, TDataSource et TQuery.
Je suis très intéressé par votre émulateur, que vous pouvez pratiquer sur l'histoire. Malheureusement, d'après ce que je sais, MT n'y arrivera pas. Si je comprends bien, vous ne voulez pas vraiment le vendre parce que vous gagnez bien votre vie sur le Forex. Mais cela fait longtemps que je cherche quelque chose de similaire sur le web, sans succès jusqu'à présent. Je serais heureux si vous me laissiez utiliser votre développement. Je peux vous proposer MTS, c'est peut-être la seule chose qui vous intéressera.
J'espère votre coopération, Alexander. f1-forum@mail.ru