
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Basta guardare nelle impostazioni - tutto è disabilitato (le DLL sono disabilitate di default):
Se uno vuole usare DLL esterne, basta attivare il pulsante "Confirm each DLL function call" e vedere cosa viene chiamato. Anche questa è una protezione. Proprio come proteggere tutte le operazioni sui file incorporati con accesso solo alle directory /history e /files.
libreria MetaDLL;
usa
SysUtils,
Classi,
finestre;
{$R *.res}
{-----Initialize-------------------------------------------------------------}
procedura InitDllData(CurrencyName: PChar); stdcall;
iniziare
// fare qualcosa
fine;
{-----Finalize---------------------------------------------------------------}
procedura FreeDllData; stdcall;
iniziare
// fare qualcosa
fine;
{-----Process tick-----------------------------------------------------------}
procedura ProcessTick(CurrencyName: PChar; bid, ask: double; time: integer); stdcall;
var
f: file;
DateTime: TDateTime;
iniziare
prova
AssignFile(f, WorkDir + CurrencyName + '.tik');
prova
reset(f, 1);
tranne
riscrivere(f, 1);
fine;
prova
DateTime := MTTimeToNormal(time);
seek(f, FileSize(f));
BlockWrite(f, DateTime, sizeof(DateTime));
BlockWrite(f, bid, sizeof(bid));
finalmente
CloseFile(f);
fine;
tranne
//
fine;
fine;
esportazioni
ProcessTick, InitDllData, FreeDllData;
fine.
Non dimenticate di impostare tutte le vostre funzioni come stdcall, usate solo tipi standard di Windows (stringhe solo come PChar), inoltre non dimenticate di specificare nella direttiva export tutte le vostre funzioni esportate e sarete felici.
Sì, e guarda anche l'immagine postata da Renat su come permettere l'uso di dll in EA.
#importare "MetaDLL.dll"
void ProcessTick(string CurrencyName, double aBid, double aAsk, int aTime);
void InitDllData(string CurrencyName);
void FreeDllData();
e poi si può chiamare qualsiasi funzione
libreria MetaDLL;
usa
SysUtils,
Classi,
finestre;
...
Scusa per un'altra domanda stupida: è possibile usare VCL in questa DLL (per essere più precisi, è stato possibile per te)? Perché quando collego il "modulo" al ddl, MetaTrader si blocca ancora con "errore" all'avvio (o quando collego un Expert Advisor corrispondente).
In realtà sono interessato solo a TDatabase, TDataSource, TQuery
Sono molto interessato al tuo emulatore, che si può praticare sulla storia. Purtroppo, per quanto ne so, MT non ce la farà. Da quanto ho capito non vuoi davvero venderlo perché guadagni bene sul Forex. Ma ho cercato a lungo qualcosa di simile sul web, finora senza successo. Sarei felice se mi permettessi di usare il tuo sviluppo. Posso offrirti MTS, potrebbe essere l'unica cosa che ti interessa.
Spero nella tua collaborazione, Alexander. f1-forum@mail.ru