Plans de développement pour le testeur de stratégie MetaTrader 5 - page 19

 

Bonjour.

Je suggère d'ajouter un mode de test supplémentaire au testeur de stratégie.

1) Nom : " Avec retrait périodique des bénéfices ".

2. Mise en œuvre :

2.1 Choisissez une période, après laquelle le bénéfice sera retiré.

2.1.1. Semaine, mois, trimestre, facultatif

2.2 Sélectionnez le pourcentage du bénéfice réalisé pendant la période à représenter sur le graphique.

2.3 Distinguer sur un graphique un profit d'une couleur différente de celle de la courbe des pertes.

2.4 Dans le rapport Backtest, ajoutez la colonne indiquant le profit dans la devise du compte ;

3. résumé

Je pense que ce mode donnera une estimation appliquée de la stratégie, montrant non seulement que l'EA est rentable (mathématiquement), mais aussi si l'EA est capable deretirer du profit et quelle est la taille de ce profit et comment ce volume de retrait affectera la stabilité de l'EA. En fait, c'est pour cela que les conseillers sont créés, pour comprendre combien vous pouvez gagner, et non pour savoir quelle courbe de profit sera affichée à un certain intervalle de temps.
 
KoDim:

Bonjour.

Je suggère d'ajouter un mode de test supplémentaire au testeur de stratégie.

1) Nom "Avec retrait périodique des bénéfices".

TesterWithdrawal

 
KoDim:

Bonjour.

Je suggère d'ajouter un mode de test supplémentaire au testeur de stratégie.

1) Nom : " Avec retrait périodique des bénéfices ".

2. Mise en œuvre :

2.1 Choisissez une période, après laquelle le bénéfice sera retiré.

2.1.1. Semaine, mois, trimestre, facultatif

2.2 Sélectionnez le pourcentage du bénéfice réalisé pendant la période à représenter sur le graphique.

2.3 Distinguer sur un graphique un profit d'une couleur différente de celle de la courbe des pertes.

2.4 Dans le rapport Backtest, ajoutez la colonne pour le profit dans la devise du compte ;

3. résumé

Je pense que ce mode donnera une estimation appliquée de la stratégie, montrant non seulement que l'EA est rentable (mathématiquement), mais aussi si l'EA est capable de retirer du profit et quelle est la taille de ce profit et comment ce volume de retrait affectera la stabilité de l'EA. En fait, c'est pour cela que les conseillers sont créés, pour comprendre combien vous pouvez gagner, et non pour savoir quelle courbe de profit sera affichée à un certain intervalle de temps.
TesterWithdrawal(), TesterDeposit()
Документация по MQL5: Общие функции / TesterWithdrawal
Документация по MQL5: Общие функции / TesterWithdrawal
  • www.mql5.com
Общие функции / TesterWithdrawal - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:
TesterWithdrawal(), TesterDeposit( )

Artem, merci pour votre réponse. Je n'étais pas au courant de l'existence d'une telle fonction.

Mais je suis loin d'être un programmeur, même si je modifie constamment mon EA moi-même.

J'ai fait cette suggestion du point de vue d'un utilisateur de MT5 qui achète des Expert Advisors et détermine l'efficacité d'un achat potentiel.

Et du point de vue des développeurs de terminaux et de marchés, j'ai suggéré que la visualisation de l'efficacité pratique de l'EA pour les clients potentiels (pas les programmeurs) améliorera l'évaluation du projet...

 

Bonjour à tous !

Est-il prévu d'ajouter des fonctions comme TesterGet... ?

Par exemple, TesterGetDouble(TESTER_MAX_DRAWDOWN) serait utile.

Vous pouvez obtenir tout cela sans ces requêtes, mais il serait pratique d'obtenir ces valeurs directement.

 
https://www.mql5.com/ru/docs/constants/environment_state/statistics
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования
  • www.mql5.com
Максимальная просадка баланса в процентах. В процессе торговли баланс может испытать множество просадок, для каждой фиксируется относительное значение просадки в процентах. Возвращается наибольшее значение Максимальная...
 
Rashid Umarov:
https://www.mql5.com/ru/docs/constants/environment_state/statistics


MERCI !

 

Messieurs les développeurs ! Confronté à un problème dans le testeur, aidez-moi à trouver une solution !

J'ai un processeur à 16 cœurs (32 threads), 64 Go de mémoire jusqu'à présent. J'avais l'intention de l'utiliser pour l'optimisation sur des ticks réels. Mais voici ce que j'ai découvert :

1. Chaque agent MT5 s'alloue un morceau de mémoire distinct, même si le test est exécuté sur une paire et non sur des paires différentes. Et par exemple, si nous testons sur des croix, cela charge plus de majors. Par conséquent, lors des tests sur des ticks réels pour la période de 2 ans, chaque agent occupe 7 Go de mémoire. Oui, il faut dire que je l'ai essayé sur un courtier populaire, qui a 70% des ticks qui se répètent (avec les mêmes Ask et Bid), puis je vais utiliser l'historique filtré personnalisé. Ainsi, pour charger 64 Go de mémoire, vous ne pouvez tester que sur 8 agents. Sortie - historique personnalisé avec tics répétitifs filtrés, contrôle constant de la taille de la mémoire et donc de la période de test, plus 64 Go de mémoire et test sur 16 agents. C'est comme ça que ça marche ? Donc c'est moi qui teste depuis deux ans.... et si on prend une période plus longue... ?!


2. J'ai mis un SSD temporaire d'un autre ordinateur EVO 860. Lors de l'exécution d'une optimisation même de 8 passes, les agents essaient d'accéder au SSD en même temps pour se pomper dans l'historique des tics de la RAM. Aucune file d'attente n'est prévue, ce qui fait que le SSD devient "rouge" et que les journaux MT5 sont truffés d'erreurs :

J'ai utilisé 16 Go de mémoire avec 8 threads et le lecteur a permuté instantanément, aucune erreur de ce type ne s'est produite, mais il a été impossible de tester de cette manière pendant longtemps. Maintenant, le testeur ne peut pas exécuter ses passes car il ne peut pas télécharger les ticks, bien qu'il écrive qu'il n'a pas assez de mémoire ! Vraiment, si j'estime que mon SSD poussait à ce moment-là jusqu'à 600MB/s, même 64GB de RAM prendraient plus de 100 secondes à remplir. Par conséquent, l'ancien SSD n'est pas du tout adapté, j'en attends un plus rapide (jusqu'à 3500MB/s), mais même avec lui, si j'ajoute 64GB supplémentaires, toute la mémoire se remplira en plus de 30 secondes. C'est-à-dire que les erreurs resteront.


Alors, Messieurs les développeurs. Nous avons besoin de votre attention sur ce problème, sinon l'utilisation de processeurs multi-cœurs est extrêmement gênante, voire inutile ! Peut-être que je fais quelque chose de mal ou qu'il y a des options dont je ne suis pas au courant ? Je vous en serais reconnaissant !

Si possible, il serait merveilleux d'utiliser la mémoire RAM de manière plus économique. Même si ce n'est qu'en optimisant sur une seule paire de devises ! Après tout, si le test est exécuté sur une paire, tous les agents peuvent certainement se référer à un seul et même espace mémoire. Pourquoi chacun d'entre eux produirait-il des copies ? Il n'y aura alors aucun problème de pénurie de mémoire, de vitesse de lecture du disque dur et la conception sera moins chère !

Si ce n'est pas possible, est-il possible d'organiser une sorte de file d'attente pour l'accès des agents au disque dur et (ou) augmenter le temps d'attente de la copie, ou, si une paire est testée, faire une copie de blocs identiques de RAM à RAM. Mais optimiser l'utilisation de la mémoire serait bien sûr beaucoup plus efficace ! Dites-moi, des améliorations similaires sont-elles prévues pour la RAM ? Ou bien il ne peut pas l'être et il faut augmenter son volume ?

Merci !

 
dsfx:

Les développeurs ont promis d'y réfléchir après le Nouvel An.

 
Y a-t-il un moyen d'attribuer une commission à des personnages personnalisés, quelque chose que je ne trouve pas ? Le balisage ne sera pas exactement ce dont j'ai besoin.