Discussion de l'article "Fonctions de gestion monétaire dans un Expert Advisor" - page 3

 
Todge:

Bonjour, Rosh

Merci beaucoup pour votre article, et tous vos autres articles - les conseils et l'orientation pour nous, les n00bs MQL/C++, sont très appréciés. Spasiba.

Je travaille actuellement sur mon propre code de gestion de l'argent, afin d'imposer une discipline de trading et d'éliminer la peur et la cupidité, qui sont émotionnellement préjudiciables.

Ma philosophie est un peu différente en ce qui concerne la sélection de la taille des lots - tout commence et se termine avec le Money Management (MM).


Je suis tout à fait d'accord avec vous. Cet article ne prétend pas être exhaustif et n'a qu'un but éducatif.
 
Roche, je ne comprends pas une chose. Je lance un Expert Advisor multi-devises dans le testeur, qui fonctionne sur toutes les puces du championnat et qui contient des appels de la fonction GetMarginForOpening(). Tout fonctionne parfaitement. Je lance un Expert Advisor mono-devise sur EURUSD avec l'appel de cette fonction dans le testeur. Tout fonctionne ! J'exécute à nouveau le même Expert Advisor pour une seule devise dans le testeur, mais maintenant sur EURJPY. Dans le journal du testeur de stratégie, la ligne avec le texte
GetMarginForOpening : Failed to find the currency of calculation for the symbol combination EURJPY
et même si le code de la fonction GetSymbolByCurrencies() est légèrement modifié en "symbolname = SymbolName(s, false) ;", l'initialisation de la structure MqlTick pour EURUSD ne se produit toujours pas ! nous obtenons donc une division par zéro. S'agit-il d'un problème du terminal ou un appel à la fonction GetMarginForOpening() n'est pas suffisant pour obtenir la marge ?
 
GODZILLA:

Maintenant, j'exécute à nouveau le même Expert Advisor mono-devise dans le testeur, mais maintenant sur EURJPY. Dans le journal du testeur de stratégie, une ligne avec le texte
GetMarginForOpening : Failed to find the currency of calculation for the symbol combination EURJPY
et même si je change le code dans la fonction GetSymbolByCurrencies() en "symbolname = SymbolName(s, false) ;", l'initialisation de la structure MqlTick pour l'EURUSD n'a toujours pas lieu ! S'agit-il d'un bug du terminal ou un appel à la fonction GetMarginForOpening() n'est pas suffisant pour obtenir la marge ?

Y a-t-il une devise USDJPY dans Market Watch ?

Expression

symbolname = SymbolName(s, false);

ne permet d'accéder dans le testeur qu'aux symboles disponibles dans la fenêtre "Market Watch".


 
Rosh:

Y a-t-il une devise USDJPY dans Market Watch ?

L'expression

permet au testeur d' accéder uniquement aux symboles disponibles dans la fenêtre "Market Watch".


C'est le but, tout est là ! Il semble que le testeur de stratégie pour Expert Advisor à devise unique ait son propre "Market Watch" virtuel avec un seul symbole pour ouvrir une position !

[Supprimé]  
GODZILLA:

C'est le but, tout est là ! Il semble que le Strategy Tester for single-currency Expert Advisor dispose de son propre "Market Watch" virtuel avec un seul jeton pour ouvrir une position !

Le testeur a effectivement son propre "Market Watch", qui doit être renseigné lors de l'initialisation de l'Expert Advisor multi-devises....

PS

Et maintenant, l'ensemble des"Variables globales" du testeur est aussi le sien (pour autant que je sache)...

 
Interesting:

Le testeur a son propre "aperçu du marché", qui doit être rempli lors de l'initialisation de la multidevise...

PS

Et l'ensemble des"Variables globales" dans le testeur a maintenant son propre (pour autant que je sache)....

Nous parlons ici d'un testeur à un seul esclave. Supposons qu'il ait été conçu de cette manière, mais dans une telle situation, il serait préférable d'indiquer ce fait dans l'aide du MetaEditor, car il n'est pas évident pour un utilisateur inexpérimenté en matière de programmation. Et dans le cas général d'un Expert Advisor mono-devise, les fonctions de cet article ne fonctionneront pas dans les Expert Advisors mono-devise, si nous négligeons l'initialisation préliminaire de cette ferme.
[Supprimé]  
GODZILLA:
C'est justement à ce moment-là que la conversation sur les emplacements uniques a été soulevée. Supposons que c'est ainsi qu'il a été conçu, mais dans une telle situation, il serait préférable de refléter ce fait dans l'aide de MetaEditor, car il n'est pas évident pour un utilisateur qui n'est pas versé dans la programmation. Et dans le cas général d'un Expert Advisor mono-devise, les fonctions de cet article ne fonctionneront pas dans les Expert Advisors mono-devise, si nous négligeons l'initialisation préliminaire de cette ferme.
Pour autant que je sache, le cas des symboles est le suivant : chaque Expert Advisor a sa propre "vue d'ensemble du marché" virtuelle. Lorsqu'on le teste, le symbole sélectionné dans les paramètres du testeur devient automatiquement actif (je crois savoir que le même mécanisme est prévu pour les TF). S'il est nécessaire de négocier ou d'analyser d'autres paires (multidevises), les symboles nécessaires doivent être ACTIVÉS (en les sélectionnant avec le paramètre vrai).
 
Interesting:
S'il est nécessaire de négocier ou d'analyser d'autres paires (multidevises), les symboles nécessaires doivent être ACTIVÉS (en les sélectionnant avec le paramètre true).

Il faut seulement tenir compte du fait que les symboles doivent être sélectionnés dans la fenêtre "Market Watch" du terminal avant le test.


 

Il ne s'agit pas de gestion de l'argent.

Il s'agit seulement d'obtenir des informations sur les caractéristiques les plus importantes du compte de négociation et sur les propriétés des instruments financiers.

Ces informations peuvent être utilisées pour le Money Management.

 
DxdCn:

Il ne s'agit pas de gestion de l'argent.

Il s'agit seulement d'obtenir des informations sur les caractéristiques les plus importantes du compte de négociation et sur les propriétés des instruments financiers.

Ces informations peuvent être utilisées pour le Money Management.

Bien sûr que non. Comme vous pouvez le constater, même l'auteur de l'article l'a intitulé"Fonctions pour la gestion financière (...)". Je ne vois donc pas l'intérêt de votre remarque.