Vérification du stop minimum dans les EAs publiés sur la place de marché. - page 9

 
Artyom Trishkin:
Malheureusement, la simple présence d'un bug, même traité plus avant, est déjà un chiffon rouge pour les modérateurs de la place de marché. Et même l'explication d'une logique plus poussée, à savoir que l'EA traite les réponses du serveur, se heurte parfois à la même réponse : "il ne devrait pas y avoir d'erreurs". Et peu importe qu'ils soient traités ultérieurement et fassent partie de la "communication" de l'EA avec le serveur.

Les produits du marché ne sont pas vérifiés par des programmeurs ou des testeurs.

Il suffit de l'accepter comme un fait et d'ajouter quelques vérifications stupides au code pour passer un contrôle formel du modérateur.

 
Andrey Khatimlianskii:

Il suffit de l'accepter comme un fait et d'ajouter quelques contrôles stupides au code pour passer le contrôle formel du modérateur.

et avoir des problèmes plus tard dans un vrai compte.
 
Andrey Khatimlianskii:

Les produits du marché ne sont pas vérifiés par des programmeurs ou des testeurs.

Il suffit de l'accepter comme un fait et d'ajouter quelques vérifications stupides au code pour passer le contrôle formel du modérateur.

J'ai rencontré des EA sur le marché qui échouent dans le testeur après une journée de test avec une erreur de division par zéro. Et cette merde passe les tests sur le marché. Cela prouve qu'en fait les contrôles commencent et se terminent au moins au début de l'EA.

Mais je méprise personnellement les auteurs de ce genre de conneries. Je ne posterai jamais une telle merde.

 
Alexey Volchanskiy:

J'ai rencontré des EA sur le marché qui se plantent dans le testeur après une journée de test avec une erreur de division de zéro. Et cette merde est testée sur le marché. Cela montre qu'en fait les contrôles commencent et se terminent au moins au début de l'EA.

Mais je méprise personnellement les auteurs de ce genre de conneries. Je ne posterai jamais une merde pareille.

Le code que vous avez posté ici :

   double ask=SymbolInfoDouble(symToWorkmodify,SYMBOL_ASK);
   double bid=SymbolInfoDouble(symToWorkmodify,SYMBOL_BID);
   double point=SymbolInfoDouble(symToWorkmodify,SYMBOL_POINT);
   int spread=(ask-bid)/point;

Il n'est pas non plus adapté au marché, car ils disent qu'il y a des courtiers Forex avec un spread de zéro, donc nous obtenons zéro. Eh bien, zéro multiplié par X donne zéro, dans ce cas "2 * spread = stopLevel = 0".

pour éviter ce genre d'erreur :

stopLevel=MathMax(2.0*spread,1.0);
 
Vladislav Andruschenko:

Oui, c'est seulement pour le marché - mais il n'y a pas d'universalité pour n'importe quel courtier.

la façon dont cela fonctionne est que vous devez faire un stop min à 3 spreads afin d'être accepté sur le marché,

La seule différence est que le marché les accepte - vous devez faire un stop min et 3 spreads, mais en fait c'est faux - si un stop min de courtier = 1 spread - alors l'utilisateur ne pourra pas mettre moins de 3 spreads.

Déflecteur.

Le marché teste les EAs avec des paramètres par défaut. Cette information est tirée de la correspondance avec les responsables du marché.

Il est donc possible d'introduire une variable externe, même de type double, par laquelle on multiplie la taille de l'écart et de fixer la valeur par défaut à 3.

 
Alexey Viktorov:

Le marché teste les EAs avec des paramètres par défaut. Ceci est tiré de la correspondance avec les responsables du marché.

Par conséquent, il est possible d'introduire une variable externe, même de type double, sur laquelle multiplier la taille de l'écart et mettre la valeur par défaut de 3.

Non. Le marché est testé avec différents paramètres, y compris les paramètres par défaut, tels que stoploss et takeprofit = 1.

voici le dernier travail en freelance :-)

En testant le conseiller expert, j'ai reçu des messages d'erreur. Il est nécessaire de tester le conseiller expert dans différents modes : symbole inadapté au trading ; manque de fonds sur le compte ; manque d'historique ; symboles avec 4 et 5 décimales ; différents modes de simulation de tick. Vérifiez également l'exactitude des valeurs de tous les paramètres dans les fonctions de trading.

C'est-à-dire qu'il est immédiatement évident que la personne ne connaît pas le langage de programmation et qu'elle essaie de vendre le produit sur le marché.

 
Il est préférable de prévoir dans le code des limites en dessous/au-dessus desquelles le réglage du produit ne peut être modifié. Bien qu'il soit impossible de prévoir à l'avance comment l'utilisateur configurera le produit. J'avais une affaire. Au début, l'utilisateur qui a acheté mon produit a écrit une suggestion pour ajouter quelques fonctions à l'indicateur. Je l'ai fait. Puis il a commencé à me dire que l'indicateur ne fonctionnait pas correctement. Je l'ai vérifié plusieurs fois dans le testeur et j'ai été assis dans le moniteur pendant quelques heures en regardant l'indicateur se tromper. J'ai ensuite découvert, par le biais de la correspondance et de questions suggestives, que cet utilisateur utilise un indicateur qui recherche un modèle de "barre intérieure" sur une échelle de temps d'une minute !Ceux qui connaissent le fonctionnement de ce modèle ne penseraient même pas à négocier le modèle " inside bar " sur une échelle de temps d'une minute.
 
Qu'est-ce qui vous empêche d'exécuter vous-même le testeur de stratégie au lieu de deviner "ça marchera ou ça ne marchera pas". Dans le testeur de stratégie, sélectionnez l'optimisation et l'énumération complète des paramètres d'entrée. Après les tests, il ne reste plus qu'à vérifier le journal.
 
Vladislav Andruschenko:

voici un aperçu du dernier travail de freelance :-)

Est-ce une citation de la correspondance avec le modérateur du marché ? Et où est la référence à l'erreur 130?
 
Karputov Vladimir:
Qu'est-ce qui vous empêche d'utiliser le testeur de stratégie au lieu de deviner "ça marchera ou ça ne marchera pas" ? Dans le testeur de stratégie, sélectionnez l'optimisation et l'énumération complète des paramètres d'entrée. Après le test, il vous suffit de vérifier le journal.

ce n'est pas si simple, certaines situations ne sont pas réalistes à vérifier dans le testeur. j'ai rencontré cela. par exemple, le conseiller K...... - ne pouvait pas être accepté.

L'idée était d'ouvrir une position en attente après le déclenchement d'une position - un simple algorithme de pendule, mais il n'a pas été accepté,

en raison de l'erreur de fonds insuffisants.

L'ordre a été ouvert par le pendule, mais il n'a pas été pris en compte et j'ai dû ouvrir une position après son ouverture, donc j'ai dû acheter beaucoup.

J'ai l'impression que ce n'est pas une situation standard.

Raison: