Analyse de plusieurs paires de devises par devise, votre avis, cela peut-il être utilisé ? - page 4

 
elritmo:
L'EA a des limites, bien sûr, mais vous pouvez gagner beaucoup de temps sans avoir à programmer le rendu.
Pour l'instant, je suis satisfait de ce que fournit MT, bien qu'il y ait quelques moments désagréables - MT4 se bloque si l'on change d'horizon temporel lorsque l'EA est en cours d'exécution. Il se bloque lorsque j'essaie d'appeler les fonctions de ma dll.
J'ai le sentiment que les pointeurs vers les fonctions de la bibliothèque chargée pointent au mauvais endroit lors de la désinitialisation de l'EA et de sa nouvelle initialisation. Je vais décrire ce problème à l'aide d'un exemple simple avec une fonction vide dans la dll, pour éviter les attaques que je fais quelque chose de mal dans la Dll, nous ne sommes pas responsables de cela.


La plupart de ces bogues sont facilement prévisibles, tous ceux qui ont pu causer le crash, il n'y en a que deux que j'ai trouvés et je comprends pourquoi ils se sont produits, cela ne dépend pas de metaqvotes, de plus metaqvotes ne devrait pas et ne dépendra pas du support dll dans ce que je comprends, même si quelque chose comme l'hébergement .NET intégré ne dépendra pas de lui non plus, si seulement à l'intersection. Toutes les erreurs sont très probablement des erreurs de conception, bien que je puisse me tromper, mais je n'ai rien rencontré d'exceptionnel en utilisant purement le C++.

Lors du changement de tf etc. EA et les autres éléments du graphique sont désinitialisés, s'il y a quelque chose qui utilise de la mémoire réallouée dans la collection MQL musser cela va bien sûr conduire à un crash, vice versa d'autant plus si on lui passe une chaîne de caractères, ou une deuxième fonction de libération et de mise à zéro, mais il vaut mieux utiliser un tampon. Rien ne doit traverser avant l'initialisation ou après l'achèvement, la mémoire globale est déchargée si le thread du module de la bibliothèque n'est pas ouvert lors de la désinitialisation de tous les éléments qui l'utilisent, je me souviens de bugs qui ne montrent en aucune façon, lorsque la bibliothèque n'est pas déchargée et laissée en suspens, mais ce n'est pas si important et je pense que cela dépend de l'adresse du module, qui peut changer.
 
En passant, en fait sur la base de ces graphiques à mon avis aussi à la mode de faire un système de gestion des commandes visuelle, en tout cas je sais comment faire, il s'est avéré dans les expériences, mais le tableau n'était pas :) Je prendrai en compte la possibilité d'un défilement illimité dans n'importe quelle direction et j'essaierai d'implémenter certains des objets du graphique en même temps, mais je pense que ce n'est pas tout de suite. Au moins j'ai quelques EAs et leur absence dans les sessions, donc la commande ne passera pas pour d'autres EAs sur la même paire de devises dans une autre fenêtre. Comme on dit, ce sont juste des pensées qui apparaissent pendant que je fais une pause dans l'écriture, j'aimerais pouvoir m'en débarrasser, car le programme se développe dans mon esprit plus vite que dans le vrai : )))).

Et en général, j'avais besoin de graphiques pour la raison que mes pensées ne convergeaient pas, il me manquait quelque chose de visuel pour comprendre pleinement les données, que j'ai en grande quantité, pourtant au stade visuel c'est beaucoup plus harmonieux et je ne suis pas perdu en conjectures, quoi et comment utiliser.
 

Graphique en tic-tac émulé, l'émulateur fonctionne jusqu'à présent, purement aléatoire et seulement sur un instrument, mais pour le débogage plus que cela, également beaucoup plus rapide, puisque les mêmes tics aléatoires viennent dans la gamme d'une milliseconde à une seconde. L'émulateur remplace essentiellement le terminal, un petit programme qui permet un débogage complet de toutes les sections du programme, notamment dans les bibliothèques.


Je ne me suis pas encore préoccupé de la qualité, mais j'y vais doucement, le principal étant que le graphique ne clignote pas, il passe par le tampon, qui est rendu. Pour le reste, je travaille avec la souris pour visualiser l'historique et le dessin de plusieurs paires dans un graphique avec l'étirement des ticks entre les paires.

J'allais oublier, le code de l'Expert Advisor :

#import "mttermex.dll"
    bool ClasterInitialize( string iContext, string iSimbol, int iDigits, int iSpread, double iPoint );
    bool ClasterFinalize( string iContext );
    bool ClasterUpdate( string iContext, double iBid, datetime itime );
#import
 
string Context = "                                                                                                                                 ";
 
int init() {
    ClasterInitialize( Context, Symbol(), MarketInfo( Symbol(), MODE_DIGITS ), MarketInfo( Symbol(), MODE_SPREAD ), MarketInfo( Symbol(), MODE_POINT ) );
    return(0);
}
 
int deinit() {
    ClasterFinalize( Context ); 
    return(0);
}
 
int start() {
    ClasterUpdate( Context, MarketInfo( Symbol(), MODE_BID ), MarketInfo( Symbol(), MODE_TIME ) );
    return(0);
}



Dossiers :
mtterm12.zip  522 kb
 
À propos de la mise en grappe et de la multidevise.
Je fais ça depuis presque un an. Au cours des six derniers mois, j'ai écrit et complété un tel programme 24 heures sur 24.
Il s'est avéré être un très bon outil. Semyon Semyonych n'est même pas proche. Je ne posterai pas le code. Je ne peux mettre en page *.ex4 que si vous me le demandez.
J'ai trop d'idées sur la façon de développer ce sujet. Il me faudrait deux ans pour mettre en œuvre ces idées par moi-même.
Anatoly, si cela vous plaît et si vous voulez coopérer au développement du programme, je partagerai tout ce que j'ai sur ce sujet.
 
Vadim, mon nom est Mikhail, si vous vous adressez à moi :)

Oui, j'aimerais le regarder, si Semen Semenych ne se tenait pas à côté :) EX4 suffira, parce que je ne regarde même pas le code source de toute façon, si ce n'est pas quelque chose qui devrait être vraiment visible, concernant les indicateurs. Cependant, j'ai pris en considération l'indicateur de Semen Semenych, bien que je n'y ai rien vu d'extraordinaire, je suis d'accord pour dire que même faire cela est un exploit, sans parler de quelque chose de plus. Si vous êtes gêné de partager sur le forum, envoyez-moi sur xnsnet _AT_ cln _DOT_ ru, je serai heureux de regarder l'anonymat du programme garanti.

Bien que, honnêtement, je suis toujours arrivé à la conclusion que pas un seul indicateur n'est capable de montrer ce qui peut être montré et utilisé avec un programme comme le mien, je pense que je ne suis pas le premier et pas le dernier, donc je diffuse le code source, qui après l'achèvement de l'idée, je vais commenter et adapter au maximum pour l'utilisation dans d'autres bibliothèques. Et sur cette base, vous pouvez faire ce que vous voulez. Pour être honnête, je ne vois rien de précieux dans un tel programme, que l'on pourrait vendre, c'est juste un outil, le même que le méta-trader lui-même, de plus, c'est une extension de celui-ci et rien de plus. Ce serait bien de voir dans les futures versions tout ce à quoi j'ai pensé, et en attendant, j'écris et je fais quelque chose pour que les développeurs puissent y réfléchir, en répondant à plusieurs besoins en un seul programme. Si quelqu'un aime beaucoup le résultat, je ne refuserai pas les dons, même les plus modestes, en remerciement du développement, mais tant qu'il n'y a pas de résultat, il n'y a rien à dire. J'écris pour mes propres besoins, seul, je ne pense même pas à de l'aide, même si je suis bien conscient que pour la réalisation conjointe, j'ai besoin d'un autre niveau de définition des tâches, jusqu'à présent il n'y a pas de tâche en tant que telle, il n'y a que des idées et de l'enthousiasme pour la réalisation :)
 
Je ne suis pas gêné. C'est pour des raisons de sécurité.
*.ex4 est mis en ligne pour que tout le monde puisse le voir. L'utilisation est limitée dans le temps. Fonctionnera jusqu'au 15.05.2007.
Étudiez le fichier texte. Le programme est complexe et il y a beaucoup de paramètres. Il s'agit essentiellement d'un outil d'étude de marché à multiples facettes.
===========
Ne touchez pas l'interrupteur ALERT, laissez-le en position fausse.
Cette fonction est en cours de création et ne fonctionne pas. Sinon, il y aura une boucle.
Dossiers :
 

Très intéressant, je vais analyser son travail, peut-être dans une semaine environ, mais à première vue, il semble impressionnant. Je ne suis pas contre la question de la coopération, la question est de savoir quel but vous y voyez ou plutôt y poursuivez.

 
xnsnet:

Très intéressant, je vais analyser son travail, peut-être dans une semaine environ, mais à première vue, il semble impressionnant. Je ne suis pas contre la question de la coopération, la question est de savoir quel but vous y voyez ou plutôt y poursuivez.

Nous avons un seul objectif. Construire une machine le plus rapidement possible. Avec une grande fiabilité des signaux d'entrée et de sortie.
Et nous pouvons faire du commerce avec ces programmes. Il n'y a aucune honte à entrer sur le marché avec ces produits.
 
À court terme, pour ce programme, je vois que nous devons supprimer les indicateurs tampons. Faites en sorte qu'il soit multicanal. Autant que vous en avez besoin.
Prochaine étape. Passez en 3D. Ce sera misérable dans MT4, mais il sera possible de voir quelque chose.
Puis, mettez tout en œuvre sur la base d'un moteur de jeu 3D. Réaliser un programme analytique en 3D.
 

Pour le rendu des objets 3D, vous n'avez pas besoin d'un moteur de jeu, par exemple dans .NET 3.0 il y a une sortie tridimensionnelle sans interférence directe. Toutefois, vous pouvez également utiliser le périphérique DirectX, mais je considère qu'il est inutile et ne voit pas la nécessité de le faire, quand je vois alors je vais penser :)