ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests
Répondre • Page 1 sur 1

Attendre la bougie d'aprés

par DarkPoule » 11 janv. 2018 10:12

Bonjour,

Je fais un peu de programmation sur ProOrder. C'est simple... je suis en démo.
Mais j'ai remarque que lorsque mon système enchaine deux actions à la suite, on dirait qu'il n'a pas le temps de lire tout le code.

Exemple:
Grosso modo en fonction de certains paramètres, mon système prend plus ou moins de lots.
Mais lorsque j'enregistre une perte 09h57m17s (stop), il reprend une position a 9h57m19s avec les même paramètres qu'avant et pas les nouveaux qu'il devrait.

Comment dans proorder, je peux lui dire d'attendre la bougie d’après ?

D'autre chose mais ça j'avais lu, mes stops ne sont pas tout le temps respectés. Aujourd'hui de 9h a 10h, mes stops à 4.5pts se sont vues exécutés à 6.70pts, 7.70pts, 8.50pts, 6.70pts. Hier nickel...

Est ce que ces due au flux de démo, je peux comprendre qu'il y ait des glissements... mais la c'est vraiment souvent. L'ironie du truc c'est que les limites gagnantes, sont toujours bien exécutés :) pas une miette a grignoter.

Merci

Re: Attendre la bougie d'aprés

par David » 11 janv. 2018 11:40

Salut DarkPoule,

je n'ai jamais codé sur ProOrder, mais sur d'autres plateformes et à chaque fois la gestion des bougies est faite par un index.

https://www.prorealtime.com/fr/pdf/probacktest_c1504281788c.pdf#breakout
PDF en français bien détaillé avec de nombreux exemples et un glossaire à la fin pour les fonctions types du langage propriétaire ...

BarIndex : Nombre de barres depuis la première barre de données chargée


Pour le reste sans voir ton code ça va être difficile de te répondre.

Re: Attendre la bougie d'aprés

par David » 11 janv. 2018 11:59

Code : #


ONCE EnterIndex  = 0

EnterIndex = BarIndex
// quand une bougie remplit les conditions souhaitées tu enregistres son index

IF Barindex = EnterIndex + 1 THEN
   EnterIndex = 0

// ton code d'exécution d'ordre...

ENDIF

Re: Attendre la bougie d'aprés

par David » 11 janv. 2018 15:34

Rectification, tu initialises à zéro si tu as un flag (booléen ou autres) en plus dans la condition. Sinon tu initialises à -2 pour éviter tout problème dans les premières itérations.

Code : #

ONCE EnterIndex  = -2

IF Condition1 = Critère1 THEN
 IF Condition2 = Critère2 THEN
  EnterIndex = BarIndex
  // quand une bougie remplit les conditions souhaitées tu enregistres son index
 ENDIF
ENDIF

IF BarIndex = EnterIndex + 1 THEN
 EnterIndex = 0
 // ton code d'exécution d'ordre...
ENDIF


Re: Attendre la bougie d'aprés

par DarkPoule » 11 janv. 2018 16:24

Bonjour David,
Ah, c'est peut être l'instruction 'ONCE' qui me manquais, le code s'effectuant d'une barre sur l'autre, je me demandais comment mémoriser une variable de l'une sur l'autre et les comparer.

Je vais tester ça et je te tiens au courant.
Merci pour tout.

Re: Attendre la bougie d'aprés

par David » 11 janv. 2018 16:29

Une erreur courante et de ne pas initialiser ses variables au début alors qu'elles sont utilisées dans deux blocs différents.

Re: Attendre la bougie d'aprés

par BearIsDead » 12 janv. 2018 02:17

DarkPoule a écrit :Comment dans proorder, je peux lui dire d'attendre la bougie d’après ?
Salut DarkPoule, en complément de David: j'utilise PRT en full auto, mais je n'ai pas compris ta question désolé. PRT exécute l'ensemble des instructions à chaque fin de bougie, pour la bougie suivante.

Re: Attendre la bougie d'aprés

par DarkPoule » 12 janv. 2018 09:53

Oui c'est vrai, ça n'est pas très clair.

En fait comme je suis sur des temps assez court, je souhaiterais que le système lors d'une perte, ne s’exécute pas à la bougie directement après, mais celle encore d’après. Comme je dis plus haut, lorsque les temps sont très rapproché, j'ai des soucis.
Mais lorsque j'enregistre une perte 09h57m17s (stop), il reprend une position a 9h57m19s avec les même paramètres qu'avant et pas les nouveaux qu'il devrait.
Est ce que je suis plus limpide ?

Re: Attendre la bougie d'aprés

par BearIsDead » 13 janv. 2018 15:10

Oui c'est plus clair. As-tu essayé en utilisant la variable TRADEINDEX ? Quand ta dernière action est une fermeture de position, ça te donne le BARINDEX où a eu lieu la fermeture.

Re: Attendre la bougie d'aprés

par Camilo » 14 janv. 2018 21:28

Bonsoir,
je pense que la formule suivante pourait t'aider, à adapter en fonction de ton code perso :

//Parametre

distancederniertrade=barindex-tradeindex(1)

// Condition,( tu dois remplacer n par le nombre de bougies que le programme doit attendre avant qu'il ce relance)

c1 = distancederniertrade >= n

//Programme

if c1 then
buy 1 contract AT market
endif

Re: Attendre la bougie d'aprés

par BearIsDead » 15 janv. 2018 07:36

:top: Camilo.

Sujets similaires
Bougie Rouge ou Bougie Orange
Fichier(s) joint(s) par HellionReign » 07 mars 2019 05:30 (3 Réponses)
Conseils prise de position : 1ère bougie ou 2ème bougie
Fichier(s) joint(s) par alfbeaum » 27 mai 2019 17:14 (27 Réponses)
CAC 40 bougie
par StephD » 26 juin 2013 19:28 (11 Réponses)
Comment afficher le temps restant d'une bougie sur prt ?
Fichier(s) joint(s) par loki » 09 avr. 2014 09:33 (6 Réponses)
Barindex de la dernière bougie?
par Fredo » 24 juin 2014 13:56 (40 Réponses)
fixer un ordre pendant une bougie
par Benoist Rousseau » 25 août 2014 17:19 (5 Réponses)
Technique d'ouverture fermeture bougie
par Poule@bac » 27 oct. 2014 17:15 (3 Réponses)
Flux ProRealTime - bougie figées
par Benoist Rousseau » 01 avr. 2015 18:41 (1 Réponses)
Signification flèches sous et sur le côté d'une bougie.
Fichier(s) joint(s) par en2clics » 31 juil. 2015 16:56 (6 Réponses)