Sostituzione delle funzioni dei file MT4. - pagina 4

 
tworkman:
Inoltre, non sono un esperto, ma da quel poco che ho imparato su winsock, le funzioni di ascolto sono funzioni bloccanti, il che significa (credo) che l'applicazione (mt4) deve essere multi thread. Dovrebbe passare avanti e indietro tra l'ascolto di un messaggio in arrivo, e fare il proprio lavoro. per quello che vale...

mt4 è già multi thread. Ogni grafico ha il proprio thread. Per utilizzare le funzioni winsock bloccanti, si vorrebbe allegare uno script ad un grafico con un ciclo continuo. Lo script può quindi impostare/disabilitare alcune variabili globali, che d'altra parte possono essere utilizzate da qualsiasi EA.

 
 

MT4 nel server SQL - come trasferire i dati?

Beluck:
ben fatto , ma le funzioni di file (così come molte altre) possono essere utilizzate direttamente da windows API dlls.

esempio di funzione di copia di file import:

#importare "Kernel32.dll"

bool CopyFileA (string source_file, string destination_file, bool if_exist);

Con le DLL si possono fare un sacco di cose, come l'accesso al database SQL e così via.

Ottenere le registrazioni e le quotazioni di MT4 in un database SQL sarebbe fantastico.

Ma non so come farlo funzionare.

Qualcuno potrebbe spiegare passo dopo passo con esempi di codice come trasferire automaticamente questi dati nel server SQL?

 

codersguru,

Pensi ancora che queste funzioni basate su socket siano una buona idea? Mi piacerebbe sapere se ci hai guardato dentro? Per favore fatemi sapere se non avete avuto tempo, o se avete semplicemente rinunciato all'idea.

Grazie.

 
tworkman:
codersguru,

Pensi ancora che queste funzioni basate su socket siano una buona idea? Mi piacerebbe sapere se ci avete dato un'occhiata? Per favore fatemi sapere se non avete avuto tempo, o se avete semplicemente rinunciato all'idea.

grazie.

tworkman,

Il mio problema è il tempo, non ho rinunciato all'idea.

Ti informerò con l'aggiornamento non appena avrò il tempo.

 

Ciao di nuovo,

Ho lavorato con un amico per scrivere una dll in c++ che fa questa roba netcomm, ma non riesco a superare il problema sopra menzionato: impossibile chiamare la funzione functionname dalla dll ' dllname.dll'

Se e quando il tuo tempo lo permette, saresti disposto a dare un'occhiata al sorgente e fammi sapere se riesci a vedere cosa c'è di sbagliato? In realtà abbiamo provato a compilare con due diversi compilatori c++, e otteniamo ancora lo stesso errore. Abbiamo anche preso il codice sorgente di esempio che mt4 fornisce, e otteniamo lo stesso errore quando proviamo a chiamare quelle funzioni. Sembra che debba essere un problema di compilazione.

Per favore fatemi sapere.

Grazie.

 
tworkman:
Ciao di nuovo,

Ho lavorato con un amico per scrivere una dll in c++ che faccia questa roba netcomm, ma non riesco a superare il problema menzionato sopra: impossibile chiamare functionname dalla dll ' dllname.dll

Se e quando il tuo tempo lo permette, saresti disposto a dare un'occhiata al sorgente e fammi sapere se riesci a vedere cosa c'è di sbagliato? In realtà abbiamo provato a compilare con due diversi compilatori c++, e otteniamo ancora lo stesso errore. Abbiamo anche preso il codice sorgente di esempio che mt4 fornisce, e otteniamo lo stesso errore quando proviamo a chiamare quelle funzioni. Sembra che debba essere un problema di compilazione.

Per favore fatemi sapere.

grazie.

tworkman,

Hai provato il codice sorgente della mia DLL? È scritto in VC++.

Per favore prova a compilare il mio codice sorgente e dimmi cosa ottieni.

 
tworkman:
Abbiamo anche preso il codice sorgente di esempio che mt4 fornisce, e otteniamo lo stesso errore quando proviamo a chiamare quelle funzioni. Sembra che debba essere un problema di compilazione.

Per favore, fatemelo sapere.

Grazie.

Questo non va bene. Non ho problemi con la compilazione. Forse è troppo semplice, ma hai abilitato la chiamata delle funzioni DLL da MT4?

 
michal:
Questo non va bene. Non ho problemi con la compilazione. Forse è troppo semplice, ma hai abilitato la chiamata di funzioni DLL da MT4?

Certo, devi abilitare "Allow DLL Import".

 

Sì, ho spuntato la casella Allow DLL Imports.

Quando provo ad aprire il file dsw del tuo codice, ottengo un avviso che il progetto deve essere convertito nel formato corrente di VC++. Sto usando la versione .Net. Potrebbe essere questo il problema? So molto poco di C++, quindi non ho provato ad andare oltre. L'amico che mi stava aiutando non è stato disponibile ultimamente.