[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 377

 
Chiripaha:

Par exemple, pour répondre à la question d'Arles, si un EA a comptabilisé les ordres et fait une "sieste" pendant un moment, à ce moment-là un autre EA n'a pas dépassé la limite des fonds alloués (supposons 80% du dépôt - les deux EA auront cette taille) et placera un ordre (entrer une transaction sur le marché). Et quand le 1er reprend le travail (et que le terminal de money management a déjà été calculé la veille), il pourra aussi ouvrir une transaction dépassant les limites fixées par le Conseiller Expert ?

Si ce système (hypothétiquement) est multiplié par plusieurs Expert Advisors, alors peut-il y en avoir un où la gestion du risque sera dans un système critique ?

Est-ce que je comprends bien ce multithreading ? - Si c'est le cas, alors c'est certainement un gâchis du point de vue financier. Mais comme la probabilité est faible pour les petits comptes, ce n'est qu'une hypothèse. Et pour les comptes plus importants, ils écriront probablement eux-mêmes quelque chose. Mais quand même, est-ce que cela s'avère être le cas ?

Et j'ai une question : est-ce la position officielle ou s'agit-il seulement de spéculations et d'expériences comme les miennes ?

Vous vous y connaissez en synchronisation ?

MQL4 dispose d'une fonction de synchronisation au niveau atomique.

 
Zhunko:

Vous connaissez la synchronisation ?

MQL4 dispose d'une fonction de synchronisation au niveau atomique.


Vadim, tu as essayé ? Il ne synchronise rien. J'ai joué avec elle récemment. Vous devez construire la file d'attente vous-même. Malheureusement, cela ne fait que réduire le code de trois lignes. Ou peut-être que je ne le comprends pas.
 
C'est-à-dire que la simple application de cette fonction garantit qu'un seul EA est en cours d'exécution à la fois, mais la file d'attente n'est pas alignée, un EA peut être inactif et l'autre peut être appelé deux fois.
 
Zhunko:

Vous connaissez la synchronisation ?

MQL4 possède une fonction de synchronisation au niveau atomique.

Merci pour le lien - maintenant j'ai une idée pour organiser ce multithreading plus efficacement. Bien que ce ne soit qu'une supposition, je ne vois pas de solution jusqu'à présent (dans le sens de la résolution du problème actuel). Et ajoute la position d'Igor sur le "sémaphore".

Néanmoins - c'est vous qui avez réalisé un autre modèle. Où ces processus sont alignés, prétendument (j'ai des doutes), de manière cohérente.

Et j'essaie de répondre à la question d'Arles et maintenant à la mienne - dans ce modèle que j'ai décrit ci-dessus. Après tout, vous avez évité de répondre à ma question. Dans ce modèle, il y a un décalage entre la gestion du risque et la gestion de l'entreprise.

Je ne sais pas pour la synchronisation. Je suis nouveau dans la programmation. Mais, d'un autre côté, je sais compter l'argent, c'est-à-dire que je suis doué pour les finances. : ))

Et mes compétences financières me disent que "la musique peut s'arrêter de jouer..." (de Margin Call) avec cette approche. : ))
 
Integer:

Vadim, avez-vous essayé de l'appliquer ? Ça ne synchronise rien. J'ai joué avec récemment. Vous devez construire la file d'attente vous-même. Malheureusement, cela ne fait que réduire le code de trois lignes. Ou peut-être que je ne le comprends pas.
Juste en ligne avec mes doutes...
 

Je vais vous le dire (sous cette forme) comme ceci ! (Je vous demande de le prendre comme une blague).

Mes expériences, en dépit de toutes les suggestions pour vérifier le multithreading, montrent que tant que je ne permute pas les blocs dans les tableaux, cela ne fonctionne pas du tout. Dès que je les ai changés tous en même temps, toutes les questions ont disparu.

Je vais donc poursuivre mes créations sur la base de ce postulat pour l'instant.

Et le fait que le Risk-Management puisse "faire faillite" sans que je le veuille - merci, Vadim, de l'avoir montré et d'avoir attiré l'attention sur ce point. Cela permettra d'éviter une telle situation. Eh bien, pour ceux qui le savent.

 

Bonne journée ! La ligne e est ok, pouvez-vous me dire comment faire ?

//Comment("OrdersProfit  ",OrdersProfit(),"AccountBalance  ",AccountBalance(),"Equity  ",AccountEquity());
 
Dimka-novitsek:

Bonne journée ! La ligne e est ok, pouvez-vous me dire comment faire ?


Comment("OrdersProfit ",OrdersProfit(), "AccountBalance ",AccountBalance(), "Equity ",AccountEquity()) ;

De telles erreurs sont facilement visibles dans l'éditeur lors de la compilation.

 
Merci !!!!!! Il faisait référence à une fonction en général... Je ne sais pas comment je l'ai écrit de cette façon !
 
Dimka-novitsek:
Je voulais afficher les données dans le test de visualisation pendant les tests. Je commence un test d'un conseiller expert. Je fais glisser un autre EA sur le même graphique qu'il est en train de tester. Je ne vois aucun commentaire ! Le conseiller expert est souriant...


Cela ne fonctionnera pas comme ça. Un EA glissé sur un graphique de test visuel ne montrera rien du tout ou bien il montrera ce qui est dans le compte, pas dans le testeur (je ne sais pas exactement, j'ai en quelque sorte manqué de créativité pour créer une telle chose :)