![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Basta olhar nas configurações - tudo está desabilitado (as DLLs estão desabilitadas por padrão):
Se alguém quiser usar DLLs externas, basta ativar o botão "Confirmar cada chamada de função DLL" e ver o que está sendo chamado. Isto também é proteção. Assim como proteger todas as operações de arquivos embutidos com acesso apenas aos diretórios /histórico e /arquivos.
biblioteca MetaDLL;
utiliza
SysUtils,
Aulas,
janelas;
{$R *.res}
{-----Initialize-------------------------------------------------------------}
procedimento InitDllData(CurrencyName: PChar); stdcall;
começar
// fazer algo
fim;
{-----Finalize---------------------------------------------------------------}
procedimento FreeDllData; stdcall;
começar
// fazer algo
fim;
{-----Process tick-----------------------------------------------------------}
procedimento ProcessTick(CurrencyName: PChar; lance, perguntar: duplo; tempo: inteiro); stdcall;
var
f: arquivo;
Data/Hora: TDateTime;
começar
tente
AssignFile(f, WorkDir + CurrencyName + '.tik');
tente
reset(f, 1);
exceto
reescrever(f, 1);
fim;
tente
DateTime := MTTimeToNormal(hora);
seek(f, FileSize(f)));
BlockWrite(f, DateTime, sizeof(DateTime));
BlockWrite(f, bid, sizeof(bid));
finalmente
CloseFile(f);
fim;
exceto
//
fim;
fim;
exportações
ProcessTick, InitDllData, FreeDllData;
fim.
Não se esqueça de definir todas as suas funções como stdcall, use apenas tipos de Windows padrão (strings apenas como PChar), também não se esqueça de especificar na diretiva de exportação todas as suas funções exportadas e você ficará feliz.
Sim, e veja também a foto publicada pela Renat sobre como permitir o uso da dll na EA.
#importar "MetaDLL.dll"
nulo ProcessTick(string CurrencyName, double aBid, double aAsk, int aTime);
dados initDll(string CurrencyName) nulos;
FreeDllData() vazio;
e então você pode chamar qualquer função
biblioteca MetaDLL;
utiliza
SysUtils,
Aulas,
janelas;
...
Desculpe por outra pergunta tola: é possível utilizar a VCL nesta DLL (para ser mais preciso, foi possível para você)? Porque quando eu conecto "forma" à ddl, o MetaTrader ainda trava com "erro" na inicialização (ou quando conecto um Expert Advisor correspondente).
Na verdade só estou interessado em TDatabase, TDataSource, TQuery
Estou muito interessado em seu emulador, que você pode praticar na história. Infelizmente, tanto quanto sei, a MT não vai conseguir. Como eu entendo, você não quer realmente vendê-lo porque faz bom dinheiro no Forex. Mas eu tenho procurado algo semelhante na web por muito tempo, até agora sem sucesso. Eu ficaria feliz se você me deixasse usar seu desenvolvimento. Da minha parte posso oferecer-lhe MTS, talvez seja a única coisa que possa lhe interessar.
Espero por sua cooperação, Alexander. f1-forum@mail.ru