Bonjour,
J’avais une stratégie qui marchait bien et qui soudainement me dit Capital insuffisant dès la 1ère bougie après l’entrée.
J’ai regardé sur une stratégie BuyAndHold (on peut pas faire plus simple), idem.
Voici le code :
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
IF Not LONGONMARKET Then
nbShares = floor(CapitalInitial/close)
BUY nbShares SHARES AT MARKET
endif
La stratégie est sur le NDX (Nasdaq indice), soit Taille de point : 1 ; valeur du point : 1
La stratégie est lancé avec 10000$ de capital initial (variable du même nom initialisée avec cette valeur aussi).
J’ai démarré en aout 1990, avec un Nasdaq à 240pts.
Avant la mise à jour PRT (ou je ne sais quoi), la stratégie ouvrait une position avec le maximum possible en fonction du capital, et le capital variait donc selon les variations du Nasdaq.
Là, la stratégie dit direct “Capital insuffisant”.
=> J’ai essayé de fixer manuellement un nombre de lots/actions:
En mettant 20, ça passe, et le capital de la stratégie baisse de 15.3% quand le Nasdaq baisse de 31.6% (cf image).
Si je mets 40 lots pour avoir la même fluctuation : Capital insuffisant
30 idem
25 idem
21 lots : ça passe !
22 lot : capital insuffisant. Il m’affiche dès la première bougie une perte de 58 447 840G 🙁 (cf image)
Pourtant avec un Nasdaq à 241.52pts, 22 lots feraient 5313.44$
Bref, j’en perds mon latin, surtout que ça marchait très bien.
A noter que je suis en backtest, donc à ma connaissance, pas d’histoire de marge, levier, …, du broker, et ça marchait très bien avant :/
Merci d’avance pour votre aide dans la compréhension de ce qui peut bien se passer.
Je suis sur la v12 17.0.4.1
et avec un:
defparam preloadbars=0
en tête de code, est-ce que ce phénomène est toujours présent ?
Bonjour Nicolas,
Aucun changement avec le preloadbars
JSParticipant
Master
Salut,
J’ai essayé la stratégie et le 18 juillet 1990, il a acheté 41 contrats sur 241,5.
Quand je compare cela à votre histoire, je pense que vous avez accidentellement utilisé un contrat d’une valeur en points de 2 euros ou dollars…?
Bonjour,
J’ai exactement le même problème sur mes back tests qui marchaient bien jusqu’à il y a quelques jours et qui tous rencontrent ce même problème : capital insuffisant avec une perte de 200 000 000G. Cela survient soit à l’entrée soit après 1 ou 2 aller-retour. J’ai indiqué au support le problème qui m’a demandé d’envoyer un rapport selon la procédure suivante :
Pour cela, après avoir rencontré le problème que vous avez mentionné :
- Allez dans le menu “Aide” de ProRealTime
- Cliquez sur “Support technique”
- Choisissez la catégorie “Code”
- Tapez dans le champs “code concerné” le nom du code lié à votre problématique
- Expliquez dans la zone de texte la problématique que vous rencontrez en ajoutant, notamment l’instrument d’exécution, l’unité de temps. Ajoutez la date et l’heure où le comportement du code vous a semblé erroné.
- Cliquez sur “Envoyer rapport”
Ce que j ‘ai fait. Le support m’a alors répondu :
“Merci pour cet envoi, il a bien été reçu et transmis à notre équipe de Code pour analyse. Je vous contacterai à nouveau lorsque celle-ci aura abouti.”
Je vous tiens au courant dès que j’ai des nouvelles.
Merci d’avoir pris le temps de tester.
C’est étonnant qu’on n’est pas le même comportement.
Pourtant, je suis sur le NDX, version PRT Complete, données fin de journée.
C’est bien marqué 1$/pt
Merci pour ton retour Anatole.
Je vais faire ça aussi. Y’a un loup là ^^
J’ai un compte Prorealtime IB où je rencontre le problème en V12 et en V11. Mais j’ai depuis récemment aussi un compte Prorealtime IG où je viens de faire le test et où les backtests se comportent normalement. Voici deux images du même backtest très simple : la 1ère sur PRT IB V12 avec le problème, la 2è sur PRT IG V11 sans le problème.
J’ai ouvert un ticket au support et fait référence à ce topic. On verra ce qu’ils identifient.
Le support m’avait annoncé qu’il avait identifié le problème et travaillait sur sa résolution.
Depuis, je n’ai pas eu de nouvelles, mais mes backtests refonctionnent normalement. Je pense que le problème a été résolu.
Bonjour Anatole,
0 nouvelle de mon côté, mais je viens de relancer, et effectivement, tout remarche 😊
Donc merci à eux pour cette correction rapide 👍