Développeurs ! Est-ce que vous testez au moins ce que vous créez ? - page 17

 
Je ne sais pas si c'est une nouvelle ou si ce sujet a déjà été abordé quelque part, mais lorsque l'on teste un EA avec et sans visualisation, les résultats sont complètement différents.
 
Il y a un an ou plus, je voulais créer et connecter une bibliothèque sous la forme d'un fichier ex5. J'ai passé beaucoup de temps dessus, mais ça n'a pas marché. Je n'ai pas trouvé d'exemples. Maintenant, j'ai décidé de réessayer. J'ai créé une fonction simple dans la bibliothèque af_Num.
#property library
//********************************************************************
int Test()
{
   return 1;
}
//********************************************************************
Création d'un script d'appel as_Test_Num_Lib
//********************************************************************
#import "af_Num.ex5"
   int Test();
#import
//********************************************************************
void OnStart()
{
   Comment("");
   
   int x=Test();
   
   Comment("x=",x);
   
   return;
}
//********************************************************************
Après exécution - 2014.02.01 20:08:13.129 as_Test_Num_Lib (EURAUD,M5) Cannot find 'Test' in 'af_Num.ex5'
2014.02.01 20:08:13.129 as_Test_Num_Lib (EURAUD,M5) appel de fonction d' importation non résolu
Et peu importe ce que je fais ensuite, c'est aussi silencieux qu'un tank. Et je ne trouve aucun exemple nulle part - est-ce que cette merde fonctionne même pour quelqu'un. N'utiliser que #include. Ces milliers de programmeurs sont-ils tous des connards ? Ou est-ce que je suis un crétin et que je fais quelque chose de mal ?
Je m'excuse pour le style grossier, mais mes nerfs sont à fleur de peau.

 

Il fonctionne dans la nouvelle version de MT4, il devrait donc fonctionner pour vous aussi.

Le problème est plus probablement dans la fonction non activée de la permission de travailler avec les bibliothèques (je n'ai pas pu le comprendre moi-même pendant 40 minutes), ou dans le répertoire incorrect pour l'emplacement des bibliothèques.


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

 
alexivanov9911:

Il fonctionne dans la nouvelle version de MT4, il devrait donc fonctionner dans votre version également.

Le problème est plus probablement dans la fonction non activée de la permission de travailler avec les bibliothèques (je n'ai pas pu le comprendre moi-même pendant 40 minutes), ou dans le répertoire incorrect pour l'emplacement des bibliothèques.


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

Oui, mais la dll placée dans le même dossier que ex5 fonctionne bien. Il y a donc un soupçon que les bibliothèques ex5 ne fonctionnent pas. Et je l'ai remarqué comme je l'ai écrit plus tôt, il y a longtemps. Je n'ai pas joué avec les bibliothèques à l'époque, et j'ai tout traduit dans l'inlude. Vous pouvez aussi le faire maintenant, mais je l'écris juste au cas où.
 
Vous avez oublié de mettre l'exportation dans la fonction. Seules les fonctions explicitement déclarées deviennent exportables. Lisez la documentation.
 
Renat:
Vous avez oublié de mettre l'exportation dans la fonction. Seules les fonctions explicitement déclarées deviennent exportables. Lisez la documentation.
Merci beaucoup Renat pour le conseil. Cela a fonctionné. Je n'ai pas trouvé cette fonctionnalité dans la documentation la première fois, j'ai donc utilisé les analogues de MT4.
 
Parmi les logiciels de courtage, MT est le meilleur qui soit. La prise en charge de CUDA n'est pas le fait de tous les développeurs. Il est étrange que MT4 et MT5 n'aient pas d'API, mais dans l'ensemble la plateforme est correcte - il n'est pas difficile de se connecter à MT à partir d'un autre logiciel, et presque tous les courtiers en devises ont MT. Il n'y a pas de salon de discussion sur ce forum, et le fait de redessiner l'ensemble du salon de discussion avec l'ajout de telle ou telle fonctionnalité pratique n'interfère pas à 100%.
 
arbitrageur:
La prise en charge de CUDA n'est pas le fait de tous les développeurs.
CUDA, ça craint :) OpenCL est notre truc.
 
TheXpert:
CUDA, ça craint :) OpenCL est notre truc.

Salut.

Oui, comme la double précision n'est pas bloquée dans les cartes vidéo ATI, seuls les logiciels qui supportent OpenCL sont minimes par rapport à CUDA qui est supporté par très peu de développeurs. Les cartes vidéo ATIish à 1 terraflop coûtent 2000 roubles sur avito.ru (d'occasion), d'ailleurs je ne sais pas pourquoi les joueurs mettent à jour leurs cartes vidéo ATIish et les remplacent par des Nvidia, - comme si on ne regardait même pas la puissance réelle avant de remplacer. :)

 
papaklass:

Comment pouvez-vous fabriquer un tel produit ? Avez-vous une conscience ? Mais ils créent un éco-système. Et peut-être la rentrée des classes en CP !

Comment pouvez-vous croire les résultats, d'un tel testeur. Kick-ass......

Joignez le rapport zippé, s'il vous plaît.