Marché : pas d'opérations de trading - page 5

 
Alexey Viktorov:

Ai-je raté quelque chose ou personne n'a précisé ce que vous entendez par EA multi-devises ?

Est-il possible d'appeler un EA qui ne peut négocier que sur la paire de devises sur laquelle il est placé multidevise, même s'il peut négocier sur différentes paires ?

Comment parler de multidevises dans le testeur MT4 ?

Eh bien, j'ai un EA multi-devises qui est placé sur un graphique et trade plusieurs symboles, le code est le même pour les deux plateformes. Mais si je l'exécute dans le testeur mt4, il négocie une paire et si je l'exécute en ligne, il négocie toutes les paires. Les conditions sont écrites là.

 
Vitaly Muzichenko:

Eh bien ma multidevise est la chose qui est mise sur un graphique et négocie plusieurs symboles, le code est le même pour les deux plateformes. Mais si vous l'exécutez dans le testeur mt4, il négocie une paire, et si vous l'exécutez en ligne, il négocie toutes les paires. Les conditions y sont prescrites.


Il ne devrait donc pas y avoir de problème.

Je n'ai pas de problème avec cela, c'est la même multidevise, elle passe le test.

Et aucune activité commerciale ne peut être dans l'humeur du testeur :-) - Je ne sais pas s'il est de bonne humeur (c'est-à-dire s'il est en train de se rafraîchir, de dormir, d'avoir un jour de congé), mais il peut ne pas effectuer d'opération.

Il suffit d'essayer une autre pâte à tartiner ou d'attendre un jour et tout saute à nouveau dans l'humeur.

 
Vladislav Andruschenko:


Eh bien, il ne devrait pas y avoir de problème avec ça alors.

la même multidevise, passe le test.

Et aucune opération commerciale ne peut être le fait de l'humeur du testeur :-) - Je ne sais pas s'il est de mauvaise humeur (c'est-à-dire qu'il se rafraîchit, dort, a un jour de congé) et qu'il ne fait aucun échange.

J'essaie un autre étalement ou j'attends un jour et tout saute à nouveau dans l'humeur.

Je fais ma 10ème tentative, en réduisant les contrôles dans le code. Jusqu'à présent sans résultat, bien sûr il y a beaucoup de contrôles - je pense les avoir tous désactivés.

 
Vitaly Muzichenko:

Il s'agit de la 10ème tentative, réduisant les contrôles dans le code. Jusqu'à présent, aucun résultat, bien sûr, il y a beaucoup de contrôles - je pense les avoir tous désactivés.

Avez-vous essayé de changer l'écart et la paire ?

des contrôles à partir de l'article sur le site web ?
 
Vladislav Andruschenko:

Avez-vous essayé de changer l'écart et la paire ?

Comment puis-je vérifier les contrôles de l'article sur le site web ?

Jusqu'à présent c'est tout, rien n'est parti, j'ai prescrit le lot directement dans OrderSend(...)

Je ferai un fichier séparé avec une fonctionnalité minimale et j'essaierai de l'ajouter, ce qui me permettra de trouver la zone problématique, sinon je casserai une EA qui fonctionne en coupant des morceaux).

 
Vitaly Muzichenko:

Pour l'instant c'est tout, rien n'a fonctionné, j'ai écrit le lot directement dans OrderSend(...)

Je ferai un fichier séparé avec une fonctionnalité minimale et j'essaierai de l'ajouter, ce qui me permettra de trouver la zone problématique, sinon je casserai une EA qui fonctionne en coupant des morceaux).

Ici. Ici. J'ai déjà fait la même chose. Découpez les morceaux. Je l'ai cassé et j'ai oublié ce que j'avais fait. Et il s'est avéré que le testeur n'était tout simplement pas d'humeur. )))
 
Vitaly Muzichenko:

Eh bien ma multidevise est la chose qui est mise sur un graphique et négocie plusieurs symboles, le code est le même pour les deux plateformes. Mais si vous l'exécutez dans le testeur mt4, il négocie une paire, et si vous l'exécutez en ligne, il négocie toutes les paires. Les conditions y sont prescrites.

Je demandais à propos de l'EA de Maxim's.

Je pense que dans un avenir proche, cette question devrait être posée à chaque fois que le mot "multidevise" sera prononcé... Parce que beaucoup de gens pensent que l'EA multidevise peut être placé sur n'importe quelle paire de devises et qu'il négociera...

 
Evgeny Belyaev:

Si le lot est inférieur au minimum autorisé, nous l'assimilerons au minimum autorisé. Respectivement, s'il est plus grand, EA négociera avec un lot plus grand.

Aucun contrôle du testeur n'est nécessaire.

Et n'oubliez pas tous les autres contrôles. Marge, normalisation...

Vitaliy a signalé votre erreur il y a longtemps, mais au lieu de trouver l'erreur, vous vous contentez de fulminer.

Si vous prenez l'EA simple sur l'ouverture de position, il peut claquer un ordre sur chaque tick. Vous n'avez besoin d'aucune autre logique de négociation. Vérifiez toutes vos fonctions de contrôle. S'il passe la vérification, tout est ok, s'il échoue, vérifiez chaque ligne de code. Il faut comprendre que le validateur peut définir n'importe quel lot dans les paramètres comme 0 ou négatif, dans ce cas, si la marge est suffisante, le robot devrait effectuer des transactions pendant le test.

PS Il est conseillé de vérifier sur le serveur MQ, car le validateur vérifie sur ce serveur.
bool CheckVolumeValue(double volume)
{
   double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
   if(volume<min_volume)
   {
      Print("Volume is less than the minimum");
      return(false);
   }

   double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
   if(volume>max_volume)
   {
      Print("Volume is greater than the maximum");
      return(false);
   }

   double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);

   int ratio=(int)MathRound(volume/volume_step);
   if(MathAbs(ratio*volume_step-volume)>0.0000001)
   {
      Print("Wrong lot size");
      return(false);
   }
     
   if(volume*MarketInfo(Symbol(),MODE_MARGINREQUIRED)>AccountEquity())
   {
      Print("Trade stop is not enough free margin to begin");
      Comment("Trade stop is not enough free margin to begin");
      return(false);
   }
   if(volume<MarketInfo(Symbol(),MODE_MINLOT))
   {
      Print("Trade stop invalid lot size");
      Comment("Trade stop invalid lot size"); 
      return(false);
   }
   return(true);
}
if(!CheckVolumeValue(lt))return;   
   if(!OrderSend(Symbol(),cmd,NormalizeDouble(lt,2),NormalizeDouble(priceStep,Digits()),Slippage,0,0,"",magic,0))

Vous n'avez probablement pas remarqué, j'ai montré le validateur - il n'a pas passé le test...

ajouté

 if(IsTesting())lоt=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);

Je l'ai :

Les tests automatisés des produits ont été réalisés avec succès :

Le test de version a été passé avec succès. Vous pouvez maintenant le soumettre à la vérification du modérateur.

Alors, de quoi parlais-tu là... ?

 
Alexey Viktorov:

Je demandais à propos de l'EA de Maxim's.

Je pense que dans un avenir proche, cette question devrait être posée à chaque fois que le mot "multidevise" sera prononcé... Parce que beaucoup de gens pensent que l'EA multidevise peut être placé sur n'importe quelle paire de devises et qu'il négociera...

J'ai un netizen du tout, jamais un multidevise, je n'ai pas écrit une telle chose...

 
Maksim Neimerik:

Je ne suis pas du tout un netizen, jamais un mumtiviste, je n'ai pas écrit une telle chose...

C'est génial. Je n'ai pas lu ça non plus. Il s'agit donc d'un complot impérialiste)))).

Raison: