Problème de validation de l'EA sur le marché - page 11

 
Vadim Zotov:

Ça ne nous dérange pas. Laissez-le vérifier. Laissez-le seulement dire ce qu'il a fait pour causer l'erreur. Mais dans l'état actuel des choses, ils nous ont montré le code d'erreur et c'est tout : nous ne pouvons pas le re-simuler parce que les conditions de l'expérience ne sont pas fixées. Il est donc très difficile de trouver des erreurs.

C'est-à-dire que si on vous dit ce qu'ils font là, vous allez délibérément contourner leurs conditions, et vous ne travaillerez pas sur le reste, donc vous voulez ?

 
Artyom Trishkin:

Donc, si on vous dit ce qu'ils font là, vous allez délibérément contourner leurs conditions et ne pas travailler sur le reste, donc vous voulez ?

Une sorte de suspicion excessive. Le but est-il d'aider la personne à trouver l'erreur ou simplement de se moquer d'elle en la faisant travailler ?

Laissez-le vérifier toutes les conditions possibles. Mais qu'il dise ce qui a causé l'erreur. Cela permettra à la personne de ne pas deviner par le marc de café, mais de modéliser la situation, de trouver l'erreur et de la corriger.
 
Ivan Titov:

Pourquoi la valeur MinLot inclut-elle un changement de volume par paliers ? Il n'a pas sa place ici. Un exemple simple : nous allons coller dans cette fonction la valeur 0.285 avec le lot min 0.01, l'incrément 0.01 et le lot max 100.0 (valeurs standard chez la plupart des courtiers). Dans la sortie, nous obtenons la même valeur sans changement. C'est l'erreur 131, car 0,285 n'est pas un multiple de 0,01 (pas de volume).

Notez également qu'après la ligne :

if (ret > MaxLots) ret = MaxLots;

il n'y a pas de contrôle de l'exactitude du volume. Après tout, MaxLots est calculé, mais sa valeur peut avoir un chiffre significatif dans les 5e et 8e caractères, ce qui ne rentrera pas dans l'étape du volume.

P. S. Veuillez utiliser le bouton SRC pour insérer votre code.

 
Artyom Trishkin:

Donc, si on vous dit ce qu'ils font là, vous allez délibérément contourner leurs conditions et ne pas travailler sur le reste, donc vous voulez ?

Artem, c'est vraiment exagéré. Le but est d'écrire un produit de qualité, pas de s'en prendre au code. Je pense qu'il vous est déjà arrivé d'écrire un programme pour quelqu'un et de constater que le client faisait planter le programme par des actions involontaires. Dans ce cas, un message d'erreur n'est pas suffisant car il faut comprendre comment ce résultat a été obtenu. Et c'est exactement la séquence d'actions.

Par exemple, il ne suffit pas de spécifier l'erreur dans le Service Desk. Vous devez joindre les étapes qui provoquent la reproduction de cette erreur. Ainsi, nous obtenons un déséquilibre évident : lorsque nous parlons du produit d'une entreprise, celle-ci doit fournir des informations sur la reproduction, alors que lorsque nous parlons d'un produit du marché, tous les programmeurs sont censés deviner par eux-mêmes ce qui a causé l'erreur.

 
Ihor Herasko:

Artem, c'est vraiment exagéré. Le but est d'écrire un produit de qualité, pas de s'en prendre au code. Je pense qu'il vous est déjà arrivé d'écrire un programme pour quelqu'un et de constater que le client faisait planter le programme par des actions involontaires. Dans ce cas, un message d'erreur n'est pas suffisant car il faut comprendre comment ce résultat a été obtenu. Et c'est exactement la séquence d'actions.

Par exemple, il ne suffit pas de spécifier l'erreur dans le Service Desk. Vous devez joindre les étapes qui provoquent la reproduction de cette erreur. Nous obtenons donc un déséquilibre évident : lorsque nous parlons du produit d'une entreprise, celle-ci doit fournir des informations sur la reproduction, alors que lorsque nous parlons d'un produit du marché, tous les programmeurs sont censés deviner par eux-mêmes ce qui a causé l'erreur.

Je suis d'accord, je me suis excité - il y a des conspirations partout.

 
Ihor Herasko:

Pourquoi la valeur MinLot inclut-elle un changement de volume par paliers ? Il n'a pas sa place ici. Un exemple simple : nous allons coller dans cette fonction la valeur 0.285 avec le lot min 0.01, l'incrément 0.01 et le lot max 100.0 (valeurs standard chez la plupart des courtiers). Dans la sortie, nous obtenons la même valeur sans changement. C'est l'erreur 131, car 0,285 n'est pas un multiple de 0,01 (pas de volume).

Notez également qu'après la ligne :

il n'y a pas de contrôle de l'exactitude du volume. Après tout, MaxLots est calculé, mais sa valeur peut avoir un chiffre significatif dans les 5e et 8e caractères, ce qui ne rentrera pas dans l'étape du volume.

P. S. S'il vous plaît, insérez le code à travers le bouton SRC.


Merci pour vos commentaires.

 
Ihor Herasko:

Artem, c'est vraiment exagéré. Le but est d'écrire un produit de qualité, pas de s'en prendre au code. Je pense qu'il vous est déjà arrivé d'écrire un programme pour quelqu'un et de constater que le client faisait planter le programme par des actions involontaires. Dans ce cas, un message d'erreur n'est pas suffisant car il faut comprendre comment ce résultat a été obtenu. Et c'est exactement la séquence d'actions.

Par exemple, il ne suffit pas de spécifier l'erreur dans le Service Desk. Vous devez joindre les étapes qui provoquent la reproduction de cette erreur. Nous obtenons ainsi un déséquilibre évident : lorsque nous parlons du produit d'une entreprise, celle-ci doit fournir des informations sur la reproduction, alors que lorsque nous parlons d'un produit du marché, tous les programmeurs sont censés deviner eux-mêmes ce qui provoque une erreur.


Mais l'homme parle affaires.

Écrire comment le produit a été testé, avec quels paramètres et à quelle période, c'est une affaire minuscule.

Et il faudra beaucoup moins de temps pour corriger ce bug.

 
Vladimir Gribachev:

Mais l'homme marque un point.

Noter comment le produit a été testé, avec quels paramètres et pendant quelle période est une affaire de détail.

Et il faudra beaucoup moins de temps pour corriger ce bug.

Merci pour votre soutien, chers collègues !

Jusqu'à présent, j'avais l'impression que ma voix était un grincement dans le désert. Toutes les tentatives pour trouver la vérité dans cette affaire se sont heurtées à un silence assourdissant.

J'espère que nous serons finalement entendus et que les modérateurs ne garderont plus secrets les termes de leurs expériences sur nos développements.

 

Peace by Squeak - au modérateur une sirène)

Je ne comprends pas l'obligation d'ouvrir des transactions sur n'importe quel symbole et n'importe quelle période de temps avec des valeurs initiales arbitraires. Par exemple, comment ouvrir une transaction sur EURUSD avec 0,06 lot et un dépôt initial de 30 $ ? Cela fait un mois que j'ai essayé de publier le produit.

 
Ivan Titov:

Peace by Squeak - au modérateur une sirène)

Un autre point qui n'est pas clair est l'exigence selon laquelle l'EA doit ouvrir des transactions sur n'importe quel symbole et n'importe quelle période avec des valeurs initiales arbitraires. Par exemple, comment ouvrir une transaction sur EURUSD avec 0,06 lot et un dépôt initial de 30 $ ? Cela fait presque un mois que j'ai essayé de publier le produit.

Personne ne vous oblige à l'ouvrir avec un tel lot.

Effectuer un contrôle sur le lot maximum autorisé, et à une valeur donnée au-dessus de l'autorisé, le lot sera recalculé au maximum possible.