Comment peut-on tolérer des pertes, ou une vie à attendre des bénéfices ? - page 8

 

J'ai essayé de retirer des fonds sur chaque transaction - pour compenser le slippage positif et la commission.

Il s'est avéré que les résultats du test sont fortement faussés, et bizarrement - le facteur de récupération avant retrait était de 35,88 et est devenu 84,73, et le prélèvement de fonds était de 1176 et est devenu 498.

Les résultats sont complètement faussés - la solution consistera à tout recalculer moi-même lors de la désinitialisation, puis à consulter le fichier avec les résultats, mais c'est très inconfortable et je ne peux pas le faire rapidement.

Et le calcul exact du drawdown ne peut pas être fait pendant la désinitialisation, si les stops sont flottants, y compris, s'ils sont absents du tout - le drawdown à chaque tick (barre) doit être considéré.
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии ( советники ) перед началом использования их в реальной торговле. При...
 
Aleksey Vyazmikin: J'ai essayé de retirer des fonds sur chaque transaction - pour compenser le slippage positif et la commission.

Il s'est avéré que les résultats du test sont fortement faussés, et bizarrement - le facteur de récupération avant retrait était de 35,88 et est devenu 84,73, et le prélèvement de fonds était de 1176 et est devenu 498.

J'ai l'impression que vous devez réduire le dépôt. Ou pour augmenter le lot. Essayez dans la stratégie le coefficient de précision d'entrée, dont dépend le lot

 
STARIJ:

J'ai l'impression que vous devez réduire le dépôt. Ou augmenter le lot. Essayez le coefficient de précision d'entrée dans la stratégie, qui détermine le lot.


Qu'est-ce que c'est qu'un"coefficient d'efficacité d'entrée" ?

 
Aleksey Vyazmikin: Quel genre de bête est-ce,le "facteur de précision"?
Tu as peur de la bête ? Beaucoup utilisent déjà un lot variable en fonction de la probabilité d'un résultat positif de la transaction !
 
STARIJ:
Tu as peur de la bête ? Beaucoup utilisent déjà un lot variable en fonction de la probabilité d'un résultat positif de la transaction !

J'ai l'intention d'utiliser beaucoup plus en fonction de la longueur de la série perdante. Comment votre méthode est-elle mise en œuvre ? N'est-ce pas la même chose que de changer le volume en fonction de la fourchette du stop loss?

 
Aleksey Vyazmikin: J'ai l'intention d'utiliser beaucoup plus en fonction de la longueur de la série perdante. Comment votre méthode est-elle mise en œuvre ? N'est-ce pas la même chose que de changer le volume en fonction de la distance du stop loss?
Essayez les deux façons, c'est-à-dire toutes les variantes et combinaisons auxquelles vous pouvez penser. Quelque chose sera le plus efficace.
 
STARIJ:
Essayez les deux façons, c'est-à-dire toutes les variantes et combinaisons qui vous viennent à l'esprit. Quelque chose sera plus efficace

Je ne suis gêné que par mon faible niveau de connaissances linguistiques, sinon j'aurais déjà essayé une centaine de fois :) Je dois donc réfléchir deux fois à une idée avant de la réaliser.

Ce qui est amusant, c'est que l'autre jour, une erreur dans le code (plus exactement, la différence entre MT4 et MT5 dans la séquence de transmission des variables à certains indicateurs) lors de la mise en œuvre d'une idée a créé un excellent filtre - maintenant je l'utilise avec une autre idée, qui s'est avérée être pire, mais c'est toujours bon.

 

Voici ce que j'obtiens maintenant (après un certain nombre d'ajustements) lorsque je teste "Every tick based on real ticks" avec un délai de 50ms, et en retirant 3,4 unités de dépôt par lot.

Les chiffres sont un peu faussés en raison d'un retrait partiel.

Je l'ai implémenté de cette façon :

if (Use_Comission==true)
{
 int LotPos=StringToInteger(Order.Market_Order_Info(ALL,ALL,ALL,"Lot"));//Получаем текущий объем позиции
 if (LotPos!=LotOld)
 {
  int LotDelta=0;
  if (LotPos>LotOld)LotDelta=LotPos-LotOld;
  if (LotPos<LotOld)LotDelta=LotOld-LotPos;
  TesterWithdrawal(LotDelta*Comission);
  LotOld=LotPos;
 }

}

A partir d'un rapport de 3773 trades, chaque trade 1 lot, obtient 3773*3.4=12828.20 - retraits 13719 delta 890.8 .

Veuillez me conseiller si quelqu'un sait pourquoi j'ai une telle différence ?

 
Aleksey Vyazmikin: Veuillez me conseiller si quelqu'un sait pourquoi j'ai une telle différence ?

Cela vaut-il la peine d'être pris en considération ? L'essentiel est que le résultat soit positif

 
Le plus important, c'est que vous êtes sur la bonne voie. Pour apprendre le langage, utilisez des scripts de test courts.