Sviluppatori! Testate anche quello che create? - pagina 17

 
Non so se è una novità o se questo argomento è già stato trattato da qualche parte, ma quando si testa un EA con e senza visualizzazione, i risultati sono completamente diversi
 
Un anno o più fa volevo creare e agganciare una libreria sotto forma di un file ex5. Ci ho passato molto tempo, ma non ha funzionato. Non ho trovato alcun esempio. Ora ho deciso di provare di nuovo. Ho fatto una semplice funzione nella libreria af_Num
#property library
//********************************************************************
int Test()
{
   return 1;
}
//********************************************************************
Fatto uno script chiamante as_Test_Num_Lib
//********************************************************************
#import "af_Num.ex5"
   int Test();
#import
//********************************************************************
void OnStart()
{
   Comment("");
   
   int x=Test();
   
   Comment("x=",x);
   
   return;
}
//********************************************************************
Dopo l'esecuzione - 2014.02.01 20:08:13.129 as_Test_Num_Lib (EURAUD,M5) Impossibile trovare 'Test' in 'af_Num.ex5'
2014.02.01 20:08:13.129 as_Test_Num_Lib (EURAUD,M5) chiamata di funzione import non risolta
E non importa cosa faccio dopo, è silenzioso come un carro armato. E non riesco a trovare un esempio da nessuna parte - questa merda funziona almeno per qualcuno. Tutti usano solo #include. Tutte queste migliaia di programmatori sono degli stronzi totali? O sono un idiota e sto facendo qualcosa di sbagliato?
Mi scuso per lo stile grossolano, ma ho i nervi a fior di pelle.

 

Funziona nella nuova versione di MT4, quindi dovrebbe funzionare anche per voi.

Il problema è più probabile nella funzione non abilitata del permesso di lavorare con le librerie (non sono riuscito a capirlo io stesso per 40 minuti), o nella directory errata per la posizione delle librerie.


#import"sendmail.dll"
int Sendmail(string, string, string, string, string, string, string);
#import

 
alexivanov9911:

Funziona nella nuova versione di MT4, quindi dovrebbe funzionare anche nella tua versione.

Il problema è più probabile nella funzione non abilitata del permesso di lavorare con le librerie (io stesso non sono riuscito a capirlo per 40 minuti), o nella directory errata per la posizione delle librerie.


#import"sendmail.dll"
int Sendmail(string, string, string, string, string, string, string);
#import

Sì, ma la dll messa nella stessa cartella di ex5 funziona bene. Quindi c'è il sospetto che le librerie ex5 non funzionino. E l'ho notato come ho scritto prima, molto tempo fa. Allora non ho fatto casino con le librerie e ho tradotto tutto nell'inlude. Potete farlo anche ora, ma lo scrivo per sicurezza.
 
Hai dimenticato di mettere l'esportazione nella funzione. Solo le funzioni dichiarate esplicitamente diventano esportabili. Leggete la documentazione.
 
Renat:
Hai dimenticato di mettere l'esportazione nella funzione. Solo le funzioni dichiarate esplicitamente diventano esportabili. Leggete la documentazione.
Grazie mille Renat per il suggerimento. Ha funzionato. Non ho trovato questa funzione nella documentazione la prima volta, quindi ho usato gli analoghi di MT4.
 
Tra i software di intermediazione, MT è il migliore che ci sia. Il supporto CUDA è qualcosa che non tutti gli sviluppatori fanno. Strano che MT4 e MT5 non abbiano API, ma nel complesso la piattaforma è ok - non è difficile connettersi a MT da altri software, e quasi tutti i broker forex hanno MT. Non c'è una chat room su questo forum, e ridisegnare l'intera chat room con l'aggiunta di questa o quella comoda caratteristica non interferisce al 100%.
 
arbitrageur:
Il supporto CUDA è qualcosa che non tutti gli sviluppatori fanno.
CUDA fa schifo :) OpenCL è la nostra cosa.
 
TheXpert:
CUDA fa schifo :) OpenCL è la nostra cosa.

Ciao.

Sì, poiché la doppia precisione non è bloccata nelle schede video ATI, solo il software che supporta OpenCL è minimo rispetto a CUDA che è supportato da pochissimi sviluppatori. Le schede video ATI a 1 terraflop costano 2000 rubli su avito.ru (usate), tra l'altro non so perché i giocatori aggiornano le loro schede video ATI e le sostituiscono con Nvidia, - come non guardare nemmeno la potenza effettiva prima di sostituire. :)

 
papaklass:

Come si può fare un prodotto del genere? Hai una coscienza? Ma creano un ecosistema. E forse tornare a scuola in prima elementare!

Come ci si può fidare dei risultati di un tale tester. Kick-ass......

Allega il rapporto zippato, per favore.
Motivazione: