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

code prt: questions de noob

par Doudidoudou » 13 avr. 2018 16:14

Bonjour à tous

Donc en attendant des historiques pour travailler sur excel, et désirant créer un robot pro order, j'ai décidé de m'initier aux joies du codage...

Je n'ai pas encore de compte PRT/IG et j'aimerais arriver sur la plateforme avec un peu de compétence dans la rédaction des codes.

Je me suis farcis les manuels hier soir et j'ai écrit mes codes aujourd'hui (sur word) pour découvrir et mémoriser les fonctions. J'en suis à 200/300 lignes. Pas encore de stratégie entière mais petits bout de code pour voir les questions qui en émèrgent. J'ai trouvé pas mal de réponses sur deux forums en particulier, mais je n'ai pas pu avoir de confirmation pour certaine.

J'utiliserai ce file pour poser des questions au jour le jour et je vous remercies d'avance pour vos réponses.

Question 1:
Les fonctions de type SET STOP ... TRAILING... sont t'elles fonctionnelles en réel pour les comptes cfd à risque limité ? J'ai cru comprendre que cela n'était pas cas avant mais que ca devrait être le cas maintenant. Pouvez vous confirmer?

Question 2:
Est-ce que les fonctions SET STOP ... TRAILING... travaille avec un "pas" mini? Exemple: moins de 2 points de variation du sous-jacent = pas d'ajustement du stop suiveur.

Question 3:
je cherche à économiser des caractères, donc est-ce que ce code:

IF cond1 = 1 AND Close > ouvlong1 THEN
BUY 1 CONTRACTS AT MARKET
SET STOP %TRAILING 1
Cond1 = 0
ENDIF


IF cond1 = 1 AND Close < ouvshort1 THEN
SELLSHORT 1 CONTRACTS AT MARKET
SET STOP %TRAILING 1
Cond1 = 0
ENDIF

est bien équivalent à:

IF cond1 = 1 AND Close > ouvlong1 THEN
BUY 1 CONTRACTS AT MARKET
Cond1 = 0
ENDIF

IF cond1 = 1 AND Close < ouvshort1 THEN
SELLSHORT 1 CONTRACTS AT MARKET
Cond1 = 0
ENDIF

SET STOP %TRAILING 1



Question 3:
Est-ce que dans les codes précédents ma cond1 sera bien égale à 0 immédiatement après l'ouverture de position?

Merci

Re: code prt: questions de noob

par Jim » 13 avr. 2018 18:30

Question 1:
non a priori
mais ça se code facilement

Question 2:
non, pas de mini


Question 3:
Le mieux est de tester. Il existe une version gratuite de PRT avec les données fin de journée ;)



je cherche à économiser des caractères
Ca me paraît une mauvaise idée.
Parfois, rajouter des lignes de code permet d'accélérer le code :geek:


Dans ton code, tu peux par contre supprimer des tests :
IF cond1 = 1 AND Close < ouvshort1 THEN ...
et le remplacer par :
IF cond1 AND Close < ouvshort1 THEN ...

Re: code prt: questions de noob

par Doudidoudou » 13 avr. 2018 18:57

Merci beaucoup!

Il me semblait que l'on avait pas accès à pro order avec le compte demo, mais je confonds peut-être avec MT4 pour ig.

Merci pour l'info, je part en week_end mais je vais essayer ca dès lundi. :merci:


Pour cond1 il peut y avoir 3 valeurs:
si cond1 = 0 possible de remplacer cond1 = false mais sans intérêt
si cond1 = 1 possible de remplacer cond1 sous entendu cond1=true
si cond1 = 2 impossible de remplacer

C'est ca?

Re: code prt: questions de noob

par Jim » 13 avr. 2018 19:30

si cond1 = 2 ça renvoie zéro donc autant tester IF cond1

Re: code prt: questions de noob

par Doudidoudou » 14 avr. 2018 12:01

Ok

Là, ca remet en cause pas mal de mes codes! je ne peux qu’espérer un mal entendu pour ne pas tout refaire.

Grosso modo, la stratégie que je développe (swing) fait appel à plusieurs unités de temps. Je développe en ut minute et je dois stocker des infos en ut minute, ut jour et ut heure. Pour ne pas me mélanger les pinceaux j'ai appelé toutes les variables day "non de la variable"D (ex: condD) pour heure condH, pour 1 minute cond1.

Cond1 n'est pas la vérification d'une condition mais un compteur qui s’incrémente à chaque nouvelle étape d'une des stratégie.

0 si pas de si pas de valeurs stockées
1 si valeur stockée mais pas de position
2 si valeur stockée et position ouverte
3 si valeur stockée et position fermée en attente de réinitialisation à l'ouverture du jour suivant.

exemple ficitif:

condD=0
variableD=0

IF condD=0 THEN
variableD = DClose
condD=1
ENDIF

IF condD=1 AND close> Dclose Then
BUY 1 CONTRACTS AT MARKET
condD=2
ENDIF

IF condD=2 AND ...

est ainsi de suite, le compteur augmente de 1 à chaque étape de la stratégie.


Je sais l'exemple est débile et sans intérêt mais on est d'accord que en temps que compteur ma variable condD = 2 utilisé dans la dernière condition
ne renverra pas zéro si une position a été prise.

Dis oui, dis oui, dis oui .... :prier:

Re: code prt: questions de noob

par Jim » 14 avr. 2018 12:37

Ton dernier test renverra 0. Sorry

Si tu veux que tes valeurs non nulles renvoient 1, réécris ton code en commençant par IF NOT

Re: code prt: questions de noob

par Doudidoudou » 14 avr. 2018 16:57

NONNNNNNNNNNN! :evil:

Bon, J'ai trouvé une parade qui ne devrait pas trop alourdir le code mais ce qui m'attriste vraiment c'est de me dire que je n'ai rien compris à la logique du codage. En effet, même si je comprends ce que tu dis, je ne comprends pas pourquoi c'est ainsi!

Prochaine étape : demo prt!

Re: code prt: questions de noob

par Jim » 14 avr. 2018 17:13

Ce n'est pas une question de logique. C'est un choix des créateurs du langage, ensuite toute logique en découle.


Il ont choisi que
IF TestX THEN ...
serait exécuté si et seulement si TestX vaut 1.

Re: code prt: questions de noob

par Doudidoudou » 17 avr. 2018 07:55

Ca y est!
J'ai le mode démo PRT et l'on peut backtester sur 200000 unités pendant deux semaines.

Concernant ton dernier poste, il est logique que le teste doit être vrai pour activer la conditionnelle,mon problème et ailleur. Maintenant que j'ai testé pro-order je vais pouvoir expliquer mon problème.
Globalement la majorité de mes algos tourne. j'ai pas mal progressé et je crois comprendre comment PRT interprète le code.Cependant je reste bloqué sur une étape essentielle: la sauvegarde de certaine valeur d'une bougie à l'autre.
Je pensais que les valeurs s'incrémentés d'une bougie à l'autre.

Exemple
Lecture bougie 1:
cond=0
IF cond=0 THEN
cond=1
result=baba
ELSE
result=doudou
ENDIF

(a la fin de la lecture on a cond=1 et result= baba)
Mais à la bougie suivante, le prog recommence à zero et sort pour chaque bougie cond=1 et result= baba

Je pensais lors de la rédaction du code que les valeurs s’incrémenteraient de la façon suivante:
lecture bougies 2:
Cond=0 devient cond = 1 (dernière valeur de cond obtenue à la bougie précédente)
et donc le résultat serait doudou.

Quelqu'un a t'il une solution pour garder la nouvelle valeur d'une variable d'une bougie à l'autre? :prier:

Re: code prt: questions de noob

par Flanders » 02 mai 2018 17:19

Salut Doudidoudou,
Moi aussi je lutte beaucoup avec la logique des scripts prt.
Mais pour ton dernier exemple, je ferais:
ONCE cond = 0
IF cond=0 THEN
cond=1
result=baba
ELSE
result=doudou
ENDIF
cond = cond + 1

Ca s'appelle un algorithme récursif.

Re: code prt: questions de noob

par Flanders » 07 mai 2018 13:32

Re-Salut,
J'y ai repensé hier soir...
Il se peut que les modif de valeurs de variables ( comme cond1 ) soient détruites à chaque nouvelle Bougie.
Dans ce cas, se baser sur une variable qui est gérée par prt comme BARINDEX.

Re: code prt: questions de noob

par Doudidoudou » 07 mai 2018 23:09

Bonjour flanders!
J'étais en vacances loin des réseaux.

Merci pour ta réponse.
Pour résoudre mon problème j'utilise pas mal d'indicateur mais je vais tester ta solution car elle devrait bien répondre à certain de mes impératifs.
Merci!

Sujets similaires
Noob en bourse incomming :D
par Les3BB » 17 oct. 2012 17:32 (30 Réponses)
Questions de noob
par thecat994 » 29 nov. 2012 23:42 (4 Réponses)
Journal d'un noob
par Noobtrader » 24 juin 2014 18:04 (3 Réponses)
Noob en demonstration
Fichier(s) joint(s) par Husic.M » 08 juil. 2014 23:27 (6 Réponses)
Journal de TRADING d'un noob !
Fichier(s) joint(s) par Yop29 » 20 avr. 2017 15:28 (17 Réponses)
l'aviation militaire présentée par Noob
Fichier(s) joint(s) par ChristelleP » 06 févr. 2022 00:19 (43 Réponses)
la dissuasion nucléaire présentée par Noob
Fichier(s) joint(s) par ChristelleP » 28 févr. 2022 01:47 (22 Réponses)
code PRT > RSBoll/Seuil backtest
par newworld » 16 juin 2013 17:57 (4 Réponses)
Code PRT point-pivot (clôture veille)
par fredi » 12 oct. 2013 14:20 (5 Réponses)
Besoin d'aide code PRT.
par Ice. » 31 oct. 2013 16:14 (33 Réponses)