ProRealTime
Pour discuter sur l’interface de ProRealTime Software, nos configurations graphiques...

Comment limiter à une position par jour

par simmerseb » 16 janv. 2016 09:38

Bonjour!
Après quelques temps en retrait de la bourse me voilà de retour parmis vous mais je veux d abord m assurer de ma stratégie (en backtestant) et en l automatisant pour éviter mes travers.
Je cherche à limiter à une prise de position par jour. J ai trouvé dans pro-order il me suffit de limiter à 4 ordres par jours dans les paramètres.
Mais comment limiter dans le backtest?
J ai essayé de créer une variable qui augmentait lors d une prise de position mais de toute façon elle retourne à sa valeur initiale une fois la position fermée et le programme relancé.
Quelqu un a une idée pour ne pas prendre plus d une position par jour en backtest?
Merci pour votre aide!

Re: Comment limiter à une position par jour

par plataxis » 16 janv. 2016 18:36

Je te conseille de lire la doc : le système de Break out à la fin ne prend au maximummum qu'un achat et une vente. L'idée est d'avoir une variable mise à 0 le matin (once mavariable = 0) et de la mettre à 1 lorsqu'un trade est passé :

Code : #

if condition_achat then
buy 1 contract at market
mavariable = 1
endif

Re: Comment limiter à une position par jour

par simmerseb » 17 janv. 2016 10:18

Salut Plataxis!
Merci pour le coup de pouce. J avais déjà essayé l otpion Once , sans succès mais peut-être que j avais du mal mettre la variable ensuite. Je récupère un ordi ce soir ou demain et je retente ma chance!

Re: Comment limiter à une position par jour

par simmerseb » 18 janv. 2016 12:32

j'ai bien mis le "Once" et ça ne marche pas (comme quand j'avais essayé la premiere fois).
Je ne vois pas quelle erreur je fais. Car là du coup aucun ordre ne se déclenche...
meme en mettant un code simple par exemple:
DEFPARAM CumulateOrders = False
monheure= (time>090000 and time<170000)
once mavariable=0
indicator1 = close
indicator2 = close+1







c1 = (indicator1 < indicator2)
IF c1 and monheure and mavariable=0 THEN
buy 1 CONTRACT AT MARKET
mavariable=1
ENDIF



// Stops et objectifs
SET STOP pLOSS 10
SET TARGET pPROFIT 10
si quelqu'un voit où est mon erreur qui fait que ça marche pas...

Re: Comment limiter à une position par jour

par simmerseb » 18 janv. 2016 14:11

Bon j'ai eu une idée qui permet de limiter à une position par jour.
En fait il suffit de dire "quand le profit depasse 1 point alors on ne prend pas d'autres positions dans la journée"
if days<> days[1] then
myprofit=strategyprofit
mavariable=0
endif

if strategyprofit - myprofit >= 1 then
mavariable=1
endif
puis le code en precisant qu'il y a achat si la variable=0
c1 = (indicator1 < indicator2)
IF c1 and monheure and mavariable=0 THEN
buy 1 CONTRACT AT MARKET
ENDIF

Re: Comment limiter à une position par jour

par plataxis » 18 janv. 2016 22:09

simmerseb a écrit :Bon j'ai eu une idée qui permet de limiter à une position par jour.
En fait il suffit de dire "quand le profit depasse 1 point alors on ne prend pas d'autres positions dans la journée"
Le problème est que tu prendras des positions tant que tu seras en perte. Je préférerais couper dès que le programmation neuro-linguistique est différent de 0.

Re: Comment limiter à une position par jour

par clodreb » 27 janv. 2016 07:14

Hello,

pour limiter à 1 prise de position entre une heure de début et une heure de fin, tu peux utiliser le code suivant :

Code : #

c3 = IntradayBarIndex > 1 AND Time >= heurdeb
c4 = IntradayBarIndex > 1 AND Time <= heurfin
tempsexpo=520
c5 = barindex - TradeIndex > tempsexpo  

IF c3 AND c4 AND c5  then
   ton code de prise de position
endif
Pour définir la valeur de tempsexpo (temps d'exposition),en fonction de ton ut , il faut compter le nombre de barre dans l'intervale de temps défini entre heurdeb et heurfin

Re: Comment limiter à une position par jour

par simmerseb » 31 janv. 2016 16:18

Salut Cloreb!
Merci pour ton aide!
Quand tu écris tempsexpo=520 ça dépend de l unité de temps choisi du coup ? Je comprends pas trop ce 520 en fait c est pour ça...

Re: Comment limiter à une position par jour

par plataxis » 31 janv. 2016 17:33

L'heure 194500 est 19h45 dans la stratégie mise en exemple dans la doc. Par déduction, ici, 520 doit correspondre à 5min20secondes (à vérifier tout de même si c'est pas 520 secondes, ce qui ferait 8min40)

Re: Comment limiter à une position par jour

par simmerseb » 31 janv. 2016 17:38

Humm je pensais à 520 fois l unité de tps mais aurait fais double emploi avec le nombre de barres...
Merci Plataxis! :)

Re: Comment limiter à une position par jour

par clodreb » 04 févr. 2016 12:38

les 520 correspondent aux 520 minutes de mon exposition max en prenant comme timing (en ut 1min):
heurdeb = 9h
heurfin = 17h40

Soit un durée d'exposition max = 8*60+40=520 min.

ps : je ne sais plus exactement à quoi correspondait ce code. j'ai fait ça il y a plus d'un an :mrgreen: mias ce qui est certain, c'est qu'il fonctionne ;-)

Re: Comment limiter à une position par jour

par simmerseb » 04 févr. 2016 15:39

Héhé le fonctionement d un code c est bien une des rares certitudes qu on peut avoir en bourse! ;)

Re: Comment limiter à une position par jour

par clodreb » 05 févr. 2016 07:01

je n'en suis plus certain mais je crois que j'avais fait ce histoire de temps d'expo pour pouvoir faire varier le nombre de trades par jour. pas seulement limiter à 1 trade par jour mais pouvoir en laisser faire 1,2,...

Re: Comment limiter à une position par jour

par simmerseb » 05 févr. 2016 08:25

Ok merci beaucoup !!! je vais voir comment je vais m en servir du coup.

Re: Comment limiter à une position par jour

par simmerseb » 06 mars 2016 19:52

plataxis a écrit :Je te conseille de lire la doc : le système de Break out à la fin ne prend au maximummum qu'un achat et une vente. L'idée est d'avoir une variable mise à 0 le matin (once mavariable = 0) et de la mettre à 1 lorsqu'un trade est passé :
Je ne suis pas sur d'un truc, j'aimerai une confirmation.
la commande Once , elle est remise à zéro chaque jour c'est bien ça?
Par exemple

Code : #

once mavariable=0
if condition_achat then
buy 1 contract at market
mavariable = 1
endif
donc le matin mavariable=0
Si il y a eu achat dans la journée, mavariable=1
Mais le lendemain (ou à minuit surement) , mavariable retourne à 0 , c'est bien ça?

Re: Comment limiter à une position par jour

par clodreb » 07 mars 2016 12:49

la commande "once" permet juste d'initialiser ta variable la 1ère fois que tu lances ton prog.

Si tu le laisses tourner durant plusieurs jours, la variable n'est pas ré-initialisée chaque jour. Elle conserve la valeur que tu lui a donnée la dernière fois que tu l'as modifiée.

C'est la coupure-relance de ton code qui active cette commande.

Re: Comment limiter à une position par jour

par simmerseb » 09 mars 2016 10:33

ok merci beaucoup Cloreb

Bon alors dans ce cas on peut surement utiliser cette astuce: :
(en supposant commencer sa journée de trading à 8h)

Code : #

monHeure = time= 080000
if days<> days[1] and monHeure then

once sens=0
once nob=0

endif
Voilà qui devrait permettre de mettre un once chaque début de journée de trading!
Merci ça m'a fait avancer tu m'as permis de trouver ce truc, maintenant mon probleme reste ces satanés points pivots qui ne s'adaptent pas aux plages horaires personnalisées de trading pour l'automatisation.... mais c'est prorealtime qui ne permet pas ça, et là il n'y a pas d'astuce!

Re: Comment limiter à une position par jour

par Stark » 09 mars 2016 13:17

Tu as l'option PostionPerf aussi, ou chaque jour tu lui dis que IF PostionPerf > 0 OR PositionPerf < 0, alors tu ne prends plus de position avant le lendemain.

Et le lendemain tu remets cette variable à 0.

Re: Comment limiter à une position par jour

par simmerseb » 09 mars 2016 13:22

Heikin Ashi oui c est vrai j en avais oublié le sujet de la discussion !
Oui le code donné au début avec la perf du jour permet de limiter à une position par jour.
Comme ensuite je chercher à comprendre la fonction once, je me suis égaré

Re: Comment limiter à une position par jour

par Stark » 09 mars 2016 13:27

Ah oui pardon, je n'avais pas vu que le sujet datait de Janvier à la base :?

Tu as réussi à effectuer ton backtest ?

Sujets similaires
Une idée pour limiter le risque de flash crack
par Dahache » 19 janv. 2015 13:33 (9 Réponses)
proorder : limiter les pertes
par clodreb » 27 nov. 2015 16:37 (15 Réponses)
Limiter la durée de vie d'un trade
par VB6backtester » 14 juil. 2016 22:52 (1 Réponses)
limiter le nombre de lots
par G'sT » 13 sept. 2016 08:40 (11 Réponses)
Le stop garanti permet il de moins limiter le levier ?
par GOLDENBOY » 21 nov. 2016 02:23 (17 Réponses)
Limiter plage horaire pour indicateur PRT
par Djoker02 » 16 juin 2018 20:55 (2 Réponses)
Augmenter l'entropie pour limiter la variance ?
Fichier(s) joint(s) par gaugau3000 » 16 janv. 2020 11:09 (18 Réponses)
Limiter le DD sur multipaires avec cette méthode ?
par JFLB » 04 avr. 2020 10:16 (5 Réponses)
Limiter l'affichage intraday aux horaires d'ouverture
par Francis1 » 10 sept. 2020 16:30 (5 Réponses)
IG : Pourquoi limiter le SL à 5 points du cours?
par Alxndr » 14 mars 2021 00:59 (19 Réponses)