ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests

limiter le nombre de lots

par G'sT » 13 Sep 2016 08:40

Bonjour,

Je cherche une fonction pour limiter le nombre de lots en position ouverte.
Je recherche avec google et la fonction "recherche" du forum, mais j ai du mal a trouver ce qui correspond a mon besoin.

Ce que je recherche pour mon indicateur d elasticite, un moyen de limiter le nombre de lots ouverts successivements et non encore fermés par un signal inverse (bref=limiter une forme de moyenage).

Le principe de l elasticite est de fermer u.e.position longue lors d un signal short et fermer une.position short lors de l apparition d un signal long.

Le pb est lors d une journee en forte tendance (ex le dax monte de 2% dans la journee) on peut multiplier le nombre de position longues sans.qu apparaisse un signal short.

Je souhaiterais ainsi.me limiter a 3 positions longues successives.

J avais pensé à une solution ayant recours a une fonction de limitation de %capital, mais.je ne sais.pas si c est la meilleure solution......

Des idees pour m aider ?

Merci

Re: limiter le nombre de lot

par falex » 13 Sep 2016 08:56

G'sT, je pense qu'il manque un élément dans t'a question : Appliquer où sur quoi ?

Je suppose que tu boses avec PRT.
Dans ce cas : Soit tu règles le max pos dans le backtest soit tu rajoute une condition juste avant la(les ligne(s) de passage d'ordre de type :

Code: Tout sélectionner
if countoflongposition < X then
buy [i]n[/i] shares at ...


L'exemple de code est un modèle à adapter.
Ici X est une variable entière avec le nombre de long que tu autorises dans ton programme.

Il existe la fonction opposé : countofbuypos ou countofshort ...
Il existe aussi une fonction générique countposition, mais celle-ci était buggué, j'ai pas fait de test depuis un moment pour vérifier si elle était débugué (ça doit dater d'il y a 18/24 mois)`

---

Si tu utilises MT4 il y a des fonctions équivalentes (plus en tête).

---

Enfin en générale l'idée est la même quelques soit la PF et le langage utilisé :
1) tu laisses les signaux se générer$
2) tu check le nombre de lot en cours
3) si < à ta limite tu lances le nouvelles ordre, si supérieur ou égal tu ne fais rien.

Re: limiter le nombre de lots

par G'sT » 13 Sep 2016 09:07

Merci Falex, oui PRT.
C est la fonction count" qu il me faut effectivement (je ne la.maitrise pas encore car pas encore travaillé suffisamment)
. La max position tu ne peux l indiquer que lorsque tu valides (lance) proorder et pas lors de la finction backtest .....non ?

Re: limiter le nombre de lots

par falex » 13 Sep 2016 09:20

? pas comrpis la question ?

Tu l'insères dans ton code qui est executé à chaque cloture de bougie ;-)

Il y avait peut-être un "def param max position" mais je ne suis pas sur ...

Re: limiter le nombre de lots

par G'sT » 13 Sep 2016 09:57

Desole suis alle vite, suis au taf.

Merci.
+

Re: limiter le nombre de lots

par falex » 13 Sep 2016 10:04

Pas bien de faire deux trucs en même temps :musique:

Je viens de relire ton dernier message : Il faut bien que tu gardes en mémoire le fonctionnement des backtest/pro-order : le code que tu écris est exécuté à chaque cloture de bougie.
C'est super important d'avoir ça en tête.

1) cela explique pourquoi certains on observé du slippage sur leur ordre d'entrée : c'est le temps que la bougie se ferme et que le serveur exécute ton code (plus ou moins long), puis qu'IG passe ton ordre (encore 0,100s de plus).
2) C'est aussi pour ça que la fonction de vérification du "max position" doit être vérifié à chaque fois.

Re: limiter le nombre de lots

par G'sT » 13 Sep 2016 12:48

Merci de ton aide Falex.

Le principe d execution en cloture de bougie m est bien acquis/ ancré, pas de souci la dessus.

Je trade deja avec un algo "maison", et il est vrai que le delai de latence entre le moment ou l ordre est lance depuis chez PRT puis execute chez IG il peut y avoir un slippage.....ou une amelioration de cours....
Je n ai jamais eu a m en plaindre en reel, meme si cela fausse les resultats du reel/backest (principalement du au niveau d ouverture du trade (reel) par rapport au cours d ouverture de la bougie (backtest).

Je n ai eu qu une seule fois un tres mauvais.slippage sur un stop loss il y a env 3 semaines : j avais un stop loss placé a 20 pts ; volatilité---->grosse bougie rouge en ut 1mn..... et un stop déclenché a 29 pts (facteur de slippage a 45 % ).

Pour mon pb de nbre de lots max, j avais essayé hier soir tres rapidement un code :" if longonmarket<4" et cela ne marchait pas.
In finé , comme tu l as precisé, il me manque devant l extension "countof./...."
J essayerai ce soir.

Re: limiter le nombre de lots

par G'sT » 13 Sep 2016 19:54

> Falex

De retour dans mon antre je viens d'essayer la fonction countof./. ...et ça marche.
Je te remercies :merci:

En fait il suffisait de rajouter cette fonction dans la ligne de codage juste avant la fonction buy/sell short.

Petite précision pour les lecteurs qui passeraient par là ou feraient la même recherche que moi :

Pour les position longues il faut mettre la fonction " COUNTOFLONGSHARES" et pour les positions short la fonction "COUNTOFSHORTSHARES".

La fonction "countofposition" existe aussi pour comptabiliser le nombre de positions quelle qu'elle soit (longue ou short).

:top: Falex :top:

Re: limiter le nombre de lots

par Eversa » 13 Sep 2016 20:25

Comme je dis toujours: "Il est très fort ce falex". :mrgreen:

Re: limiter le nombre de lots

par Jim » 13 Sep 2016 21:00

falex a écrit:Je viens de relire ton dernier message : Il faut bien que tu gardes en mémoire le fonctionnement des backtest/pro-order : le code que tu écris est exécuté à chaque cloture de bougie.


Je me permets d'intervenir pour signaler que :
- ProBackTest exécute bien le code lors du dernier tick du chandelier.
- ProOrder exécute quant à lui le code en début de chandelier. Le slippage est plutôt dû à un lag d'exécution du code. Les TP/SL et autres ordres en attentes sont généralement exécutés au scalpel (parce que les ordres sont déjà sur le marché), par contre la rééxécution du code à chaque chandelier se fait "à la one again", d'où une impression de slippage.

On a déjà eu une discussion intéressante là-dessus :
proorder-de-prt-fonctionne-t-il-correctement-t12901-10.html

Articles en relation
Limiter la durée de vie d'un trade
par libertarian » 14 Juil 2016 22:52 (0 Réponses)

ProRealTime

Alors partagez-le 5 fois c'est bon pour la santé