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
Ciao Alexander,
grazie per aver reso disponibili queste librerie. In qualche modo, ho provato a installarle e a far funzionare alcuni dei tuoi esempi, ma ho riscontrato sempre lo stesso problema. Quando provo a eseguire uno degli script, ricevo il messaggio di errore:
2011.03.11 09:06:22 1 Inserting a record (GBPUSD,H1) Impossibile aprire 'C:\Program Files\MetaTrader 5\MQL5\Libraries\AdoSuite.dll' (14001)
AdoSuite.dll si trova nella directory corretta, il framework .NET 2.0 è installato, ho seguito tutte le vostre istruzioni, ma ho sempre riscontrato questo errore, anche con lo script più semplice in cui faccio solo un'inclusione della vostra libreria.
Avete idea da dove possa derivare? (tra l'altro il problema non è dovuto al fatto che ADOSuite.dll non è nella directory: se rimuovo la dll dalla directory l'errore è diverso: "Impossibile aprire AdoSuite.dll'(126)").
Neil.
PS: anche uno script semplice come quello sottostante fallisce con lo stesso errore 14001. Potrebbe essere che la vostra DLL abbia bisogno di "vedere" altre DLL?
//+------------------------------------------------------------------+
//| TestADO.mq5 |
//| Copyright 2011, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
#include <Ado\Providers\OleDb.mqh>
void OnStart()
{
Comment("Test");
}
//+------------------------------------------------------------------+
Salve,
Probabilmente si tratta di un problema legato alla directory dei dati del terminale. Ci sono 3 posizioni utilizzate da MT5:
Ciao Alessandro,
Ho copiato tutti i file correttamente, ma ricevo l'errore:
'CAdoRecord::Values' - cannot call protected member function DbDataAdapter.mqh 108 23
quando includo uno di questi include:
#include <Ado\Providers\OleDb.mqh>
#include <Ado\Providers\Odbc.mqh>
#include <Indicators\BsvSqlServer.mqh>
Se rendo pubblico 'CAdoRecord::Values, ottengo l'inizializzazione fallita durante l'esecuzione del mio script EA.
Potete aiutarmi?
Grazie
Ok, ho risolto. Ho copmilato con 64bot e si avvia senza errori.
Potete dirmi quale può essere il problema?
In fase di compilazione genera un avviso:
differito dal qualificatore const, la funzione CAdoRecord::Compare sovrascrive CObject::Compare AdoRecord.mqh 61 54
e l'errore:
'=' - impossibile convertire da puntatore const a puntatore non const AdoRecord.mqh 80 19
Potete dirmi quale può essere il problema?
In fase di compilazione genera un avviso:
differito dal qualificatore const, la funzione CAdoRecord::Compare sovrascrive CObject::Compare AdoRecord.mqh 61 54
e l'errore:
'=' - impossibile convertire da puntatore const a puntatore non-const AdoRecord.mqh 80 19
nelle righe 62 e 82 del file AdoRecord.mqh, occorre rimuovere "const" dalla dichiarazione e dall'implementazione del metodo CAdoRecord::Compare.
I codici sono stati aggiornati.Potreste dirmi come risolvere il seguente problema: AdoSuite.dll' non è la versione a 64 bit. E non vuole funzionare....
Grazie in anticipo!
Potreste dirmi come risolvere il seguente problema: AdoSuite.dll' non è la versione a 64 bit. E non vuole funzionare....
Grazie in anticipo!
Ricompilare il progetto per la piattaforma a 64 bit. Ma ci sono altri problemi, quando si lancia un qualsiasi esempio scrive: invalid EX5 file (8)
Nel caso in cui possa essere utile a qualcuno, pubblicherò qui il link:
Ponte MT4-ODBC
https://github.com/onagano/mt4-odbc-bridge
Si tratta di una libreria per il popolare terminale di trading MetaTrader4 (MT4), che consente di accedere a un database relazionale tramite l'interfaccia ODBC. Le caratteristiche principali sono le seguenti.
MT4 ha un proprio linguaggio di programmazione, MQL4, per il trading algoritmico. Sebbene sia facile da imparare, la sua espressività è molto limitata. Chi vuole eseguire algoritmi più sofisticati tende a ricorrere all'esterno della MT4, in genere utilizzando le DLL. Ma la programmazione nativa delle DLL è limitata alla piattaforma Windows, che non è familiare ai programmatori mainstream del recente movimento open source.
MT4-ODBC Bridge (MOB in breve) fornisce un'area di buffer su un RDBMS come MySQL, PostgreSQL, SQLite, ecc. Tale database è abbastanza generale per la maggior parte dei programmatori open source. È possibile accedere al database con il proprio linguaggio familiare, o forse direttamente con SQL.
Si tratta di un ponte fatto in casa tramite DLL tra il terminale MT4 e il driver ODBC di qualsiasi database. Il database può anche essere in-memory come H2, il che consente di scambiare dati tra EA e indicatore, raccogliere tick, altri dati, controllare EA o indicatore. E tutto il resto.