Demande non valide - je viens de commencer et je n'arrive pas à comprendre... - page 7

 
papaklass:

Mon message est une réponse à la question de savoir pourquoi je n'utilise pas la bibliothèque standard.

En fait, moi aussi. Mais moi pour la raison - que j'ai créé mes classes beaucoup plus tôt que MK.

et une tentative d'attirer l'attention des développeurs sur la redondance des métadonnées dans une classe.

je ne pense pas que ce soit redondant. c'est comme ça que la POO est essentiellement. vous avez juste une vision différente des wrappers, un design de classe différent et une logique de structure commerciale. c'est probablement une question de goût.

------------------------

Mais en ce qui concerne les erreurs commerciales - donnons des exemples. Avez-vous une méthode universelle pour traiter par exemple 10008 -> 10012 ?
Disons, indépendamment des actions précédentes et suivantes du conseiller expert.
Quel devrait être le résultat du traitement de cette commande qui n'a pas été ouverte ...

 

Les fonctions inutilisées sont en quelque sorte exclues du fichier final.

Une autre chose est que presque toujours, le code "non-universel" est plus rapide que le code universel (les EAs, par exemple, sont optimisés plus rapidement, et les claudes sont payées un peu moins).

 
N'oubliez pas l'optimisation du compilateur + l'inlining de masse.

On ne prend que les fonctions qui sont appelées dans le code, et tout le reste est ignoré lors de l'optimisation. C'est-à-dire que si seulement 3 de la classe avec 61 méthodes sont utilisées, c'est le code de trois méthodes qui sera inclus.

Les fonctions en ligne, compte tenu de la petite taille des fonctions elles-mêmes et de l'optimisation du code en général, rendent le code simple et plat.
 
papaklass:

Par conséquent, le cas (10008 -> 10012) ne m'intéresse pas, car si la position n'est pas ouverte sur un certain tick, elle sera ouverte sur le tick suivant.

J'essaie de construire mon code de telle sorte que, si la logique du conseiller expert exige l'ouverture d'une position, celle-ci est ouverte la plupart du temps. Qu'elle soit ouverte au prochain tick ou 10 ticks plus tard,

c'est exactement la bonne approche.

Et pour en revenir à la question de la gestion des erreurs, que manque-t-il dans la bibliothèque standard ? Quelles améliorations dans le sens de la gestion/analyse des erreurs veulent-ils y apporter ?

 
papaklass:

l'ouverture d'une position avec un lot supérieur aux fonds disponibles, ou lors du placement d'un ordre en suspens, le pas minimum autorisé par rapport au prix actuel n'est pas maintenu, ou un stop est placé sans tenir compte de la direction de la position.

Et qu'entend-on par traitement de ces situations, correction des failles de l'ordre du programmeur par la bibliothèque elle-même ?
c'est-à-dire que la bibliothèque elle-même inverse les arrêts, ou change le lot à sa propre discrétion ?

ou simplement envoyer le code approprié en réponse et informer le proger de sa mauvaise commande ?

 
sergeev:

et que signifie le traitement de ces situations, la bibliothèque elle-même corrigeant les déficiences de l'ordre du programmeur ?
c'est-à-dire pour que la bibliothèque elle-même inverse les arrêts, ou change le lot à sa propre discrétion ?

Encore quelques questions innocentes et papaklass commencera à deviner et à suspecter quelque chose...
 

C'est juste que les programmeurs ont des perceptions différentes de la "nécessité et de la suffisance", ce qui explique les questions sur l'extension des fonctionnalités.

il est préférable pour eux d'être complètement clairs que de rester dans l'incertitude.

 
papaklass:
Encore une fois, je ne convaincs personne de quoi que ce soit. Vous pensez que la biblio est bien, laissez-la telle quelle. Même après la discussion, je n'utiliserai pas cette bibliothèque. Moi seul, je peux ?

Alexander, tu n'es pas le seul. Mais ce n'est pas le but de la question. Être ou ne pas être.

La question est purement pratique - avec des avantages pour le développement (éventuellement le vôtre).

Qu'entend-on par traitement de ces situations, correction des failles de l'ordre du programmeur par la bibliothèque elle-même ?
C'est-à-dire que la bibliothèque elle-même inverse les arrêts, ou change le lot à sa discrétion ?

Ou alors, il suffit d'envoyer le code approprié en réponse et d'informer le proger de sa mauvaise commande ?
 
papaklass:
... Pourquoi ne pas dire au programmeur que sa commande n'est pas valide et émettre un code d'erreur avant l'envoi ?
Il semble que la mauvaise demande soit coupée au niveau du client et n'atteigne pas le serveur.
 
papaklass:
La réponse est en apparence : pourquoi envoyer au serveur une commande qui est incorrecte et attendre une réponse ? Pourquoi ne pas dire tout de suite au programmeur que sa commande est erronée et émettre un code d'erreur avant de l'envoyer ?
S'agit-il d'ajouter OrderCheck à CTrade::OrderSend?