Erreurs, bugs, questions - page 2313
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Presque trois millions de ticks et seulement 16K OrderSend. Mais ces ordres commerciaux prennent un tiers du temps. Et à chaque tick, il y a des calculs dans l'Expert Advisor.
D'où ma question. Pourriez-vous exécuter le code de OrderSend dans le profiler ? À quel endroit y a-t-il un tel problème ?
Je suppose que si vous remplacez la fonction standard par la vôtre, elle fonctionnera plus rapidement. Probablement, il y a quelques contrôles et gestes coûteux dans OrderSend. Par exemple, s'il n'y a pas de fonctions d'historique et de OnTrade* dans le conseiller expert (+ indicateurs), la création des enregistrements/événements appropriés est une perte de temps.
Je comprends que pour certaines personnes, une course dure plusieurs minutes. Mais il existe des cas comme celui-ci - des unités de quelques secondes, si vous prêtez attention à la vitesse d'exécution. Et là, il s'avère que je lance Optimize pendant trois heures, dont une heure pour OrderSend, dont le temps d'exécution moyen est de 69 µs (voir capture d'écran) :
Salut,
Avez-vous obtenu une réponse utile de Metaquotes ?
J'ai un client qui souhaite utiliser le testeur de stratégie MT5 pour améliorer ses performances. La stratégie EA peut facilement utiliser le mode "Prix disponibles uniquement". Cependant, le backtest, qui prend 1,5 seconde avec MT4, est réalisé en 5 secondes avec MT5 !
La stratégie utilise un stop suiveur et semble utiliser OrderSend () pendant 90% du temps de backtest :
Salut,
Avez-vous obtenu une réponse utile de Metaquotes ?
J'ai un client qui souhaite utiliser le testeur de stratégie MT5 pour améliorer ses performances. La stratégie EA peut facilement utiliser le mode "Prix disponibles uniquement". Cependant, le backtest, qui prend 1,5 seconde avec MT4, est réalisé en 5 secondes avec MT5 !
La stratégie utilise un stop suiveur et semble utiliser OrderSend () pendant 90% du temps de backtest :
Toutes les réponses ont été données dans ce fil uniquement. On dirait que quelque chose a été fait.
Je l'ai résolu moi-même grâce à Virtual.
ZZY Montrez votre EA.
On dirait que quelque chose a été fait
1930
Virtual
La différence est trois fois supérieure à ce qu'elle était en 1881. Il a probablement été modifié ailleurs. Mais le sujet OrderSend n'a probablement pas été touché.
Toutes les réponses ont été données uniquement dans ce fil. On dirait que quelque chose a été fait.
Je l'ai résolu moi-même grâce à Virtual.
L'optimisation génère des paquets de 128 travaux pour chaque agent. Est-il possible de former des paquets d'une taille différente ?
Voici la situation
Tous les agents, sauf un, ont terminé leur tâche. Et nous devons attendre que l'optimisation soit terminée à cause d'un agent. Mais il a été possible de parvenir à une cessation quasi simultanée du travail de tous les agents.
Considérons, par exemple, comme sur la capture d'écran, 8 Agents et 5376 tâches. 5376 / 8 = 672 tâches. Vous pouvez donc former des paquets de taille 336 (=672/2), 168 (672/4) ou 84 (672/8) emplois chacun. Et tous les agents atteindraient la ligne d'arrivée en même temps.
La valeur de 128, en revanche, ne tient pas compte de cette multiplicité. Il en résulte des temps d'optimisation plus longs si plusieurs cœurs sont utilisés.
Je voulais mettre une note sur le KB et ça n'a pas marché. Et à en juger par le fait que les publications récentes n'ont pas de classement du tout, il semble que je ne sois pas le seul à avoir ce problème.
Et en même temps, je veux bien admettre que le système de notation(simple moyenne arithmétique ) donne envie d'en avoir plus. Après tout, un code récemment publié avec une note de 5 étoiles sera plus élevé qu'un code qui est en BE depuis plusieurs années et qui a 49 notes de 5 étoiles et une note de 4 étoiles. Est-ce juste ?
À mon avis, cette formule serait au moins beaucoup plus équitable :
Où :
R- la note que vous recherchez
Score moyen - moyenne arithmétique
N- nombre d'évaluations.
L'optimisation génère des paquets de 128 travaux pour chaque agent. Est-il possible de former des paquets d'une taille différente ?
Voici la situation
Tous les agents, sauf un, ont terminé leur tâche. Et nous devons attendre que l'optimisation soit terminée à cause d'un agent. Mais il a été possible de parvenir à une cessation quasi simultanée du travail de tous les agents.
Considérons, par exemple, comme sur la capture d'écran, 8 Agents et 5376 tâches. 5376 / 8 = 672 tâches. Vous pouvez donc former des paquets de taille 336 (=672/2), 168 (672/4) ou 84 (672/8) emplois chacun. Et tous les agents atteindraient la ligne d'arrivée en même temps.
La valeur de 128, en revanche, ne tient pas compte de cette multiplicité. Cela entraîne une augmentation du temps d'optimisation si plusieurs cœurs sont utilisés.
Dans l'ensemble, je suis d'accord, mais je pense qu'il serait plus correct d'activer l'annulation automatique des tâches pour les agents (déjà mis en œuvre en appuyant sur le bouton pour désactiver l'activité de l'agent), s'il y a des agents libres et 5 fois plus de tâches et de redistribuer les tâches à nouveau à tous les agents, y compris les agents distants.
Bonjour à tous ! Désolé pour la question stupide. Les gars, pourriez-vous me dire comment faire pour que la propriété Pressed d'un bouton soit vraie quand on clique sur le bouton gauche et fausse quand on clique sur le bouton gauche. Maintenant la situation est telle, que rien ne se passe en appuyant dessus, et en relâchant Pressed change sa valeur en son contraire.
Je comprends que je dois remplacer les gestionnaires d'événements CButton::OnMouseUp et CButton::OnMouseDown, mais je n'ai aucune idée de l'endroit où le faire. Un indice s'il vous plaît. Merci d'avance !
Camarades développeurs !
Dans MT4, un clic sur l'objet graphique sélectionné déclenche l'événement"CHARTEVENT_OBJECT_DRAG". Il s'agit d'une véritable erreur.
Dans mt5, ce problème n'existe pas.