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

Re: Backtest

par clodreb » 28 Oct 2014 11:27

il est tout à fait logique que ton backtest ne prenne pas en compte ta condition sur ton heure :

tu as mis ton code de prise de position APRES ta condition sur l'heure. tu dois mettre ton code DANS la condition sur l'heure :

ton code :

monHeure = (time > 80000) and (time < 163000)
IF monheure THEN
ENDIF
ton code de prise de position


ce que tu dois faire :
monHeure = (time > 80000) and (time < 163000)
IF monheure THEN

ton code de prise de position
ENDIF

Re: Backtest

par George Henry » 28 Oct 2014 11:47

ça donne ça ?

Code: Tout sélectionner
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé

monHeure = (time > 80000) and (time < 163000)
IF monheure THEN

// Conditions pour ouvrir une position acheteuse
indicator1 = close
indicator2 = BollingerDown[20](close)
c1 = (indicator1 < indicator2)

indicator3 = RSI[9](close)
c2 = (indicator3 < 25)

IF c1 AND c2 THEN
BUY 1 CONTRACT AT MARKET
ENDIF

// Conditions pour ouvrir une position en vente à découvert
indicator4 = close
indicator5 = BollingerUp[20](close)
c3 = (indicator4 > indicator5)

indicator6 = RSI[9](close)
c4 = (indicator6 > 75)

IF c3 AND c4 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF

// Stops et objectifs
SET STOP pLOSS 6
SET TARGET pPROFIT 3
ENDIF

Re: Backtest

par clodreb » 28 Oct 2014 12:03

perso, je laisse la définition de mes signaux en dehors de la condition sur les heures.
c'est plus la prise de position qui doit être bornées dans tes heures.

ce qui donne plutôt

Code: Tout sélectionner
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé

// conditions horaires pour la prise de position
monHeure = (time > 80000) and (time < 163000)


// Conditions pour ouvrir une position acheteuse
indicator1 = close
indicator2 = BollingerDown[20](close)
c1 = (indicator1 < indicator2)

indicator3 = RSI[9](close)
c2 = (indicator3 < 25)

IF c1 AND c2 THEN
BUY 1 CONTRACT AT MARKET
ENDIF

// Conditions pour ouvrir une position en vente à découvert
indicator4 = close
indicator5 = BollingerUp[20](close)
c3 = (indicator4 > indicator5)

indicator6 = RSI[9](close)
c4 = (indicator6 > 75)


IF c3 AND c4 and monheure  THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF

// Stops et objectifs
SET STOP pLOSS 6
SET TARGET pPROFIT 3
[/quote]

Dans ce code, j'ai supposé que tes sorties de trades pouvaient se faire en dehors de tes heures.
(ce serait bête de limiter un stop aux heures d'ouverture car si tu as de grands décalages durant la nuit, ton stop ne se déclencherait pas)

Re: Backtest

par George Henry » 28 Oct 2014 12:14

Ok merci beaucoup, grâce a toi je comprend mieux comment marche PRT.

Re: Backtest

par clodreb » 28 Oct 2014 12:43

pour info, si tu as l'intention d'utiliser ProOrder pour lancer tes trades automatiquement par la suite , il faut savoir que PRT n'ouvre pas ton trade en mettant directement ton stop et ton target.

en clair, il le fait en 3 opérations distinctes :
- ouverture du trade
- position de ton stop
- position de ton target

Si tu as l'intention de poser des Stop de 6 points, comme il y a un délai entre ton ouverture et ton ouverture de Stop, PRT risque souvent de te dire que ton stop est inférieur à la limite permise.
Et dans ce cas, ProOrder se coupe.

il vaut mieux le savoir si tu as dans l'idée d'utiliser le trading automatique par la suite :mrgreen:

ps : la doc est toujours utile à lire : https://www.prorealtime.com/fr/pdf/probacktest.pdf

Re: Backtest

par George Henry » 28 Oct 2014 13:53

Merci pour tes conseils, je lis déjà probuilder et probacktest mais merci pour tes conseils.

J'ai juste une dernière question, exemple avec le code que tu m'as corrigé quand le prix dépasse la bollinger supp et le RSI 9 à 75 normalement il y a un ordre de vente à découvert qui se lance, et pourtant en backtest des fois je vois le contraire, un ordre d'achat, c'est des bugs normaux ? je n'ai pas encore vu si le robot le fait aussi j’attends qu'il fasse un trade comme ça.

Re: Backtest

par clodreb » 28 Oct 2014 14:24

je n'ai jamais eu ce genre de problème et en lisant ton code, je ne vois pas directement d'où ça peut venir.
N'ayant pas la possibilité de lancer PRT pour l'instant, je ne sais pas tester ton code.

A priori, je dirai qu'il semble correct .

Le meilleur moyen pour faire du debug est de mettre uniquement les conditions sur l'achat et de mettre en commentaire le reste de ton code sur la vente.
Tu verra tout de suite si tu as les mêmes signaux ou non.
et après tu fais l'inverse en désactivant l'achat et en activant la vente.

bon courage

Re: Backtest

par George Henry » 28 Oct 2014 18:46

Ok merci, je fais ça.

Re: Backtest

par George Henry » 05 Nov 2014 13:41

Bonjour, petite question, a la place de mettre la restriction en heure pour les trade, peut on les mettre en point/pips ? exemple que sur l'eurusd sa ne trade que quand l'eurusd est a 0,8 ?

Re: Backtest

par falex » 05 Nov 2014 15:26

je ne pense pas car PRT ne te donne pas accès au spread de quotation (ni au cours buy et sell d'ailleurs)

Articles en relation
Backtest PRT est ce possible ?
par lr35 » 27 Jan 2015 13:07 (1 Réponses)
PRT backtest
par Jim » 10 Juin 2018 10:47 (4 Réponses)
Backtest PRT
par Toto le Héros » 18 Fév 2019 17:12 (3 Réponses)
Backtest prometeur
Fichier(s) joint(s) par Tomm » 11 Sep 2014 20:12 (32 Réponses)
Backtest un peu spécial
par falex » 07 Sep 2015 22:33 (5 Réponses)
Backtest et levier
Fichier(s) joint(s) par salador » 08 Mar 2016 14:32 (1 Réponses)
Backtest chez prt cfd à risque limité
par ericson » 25 Sep 2016 12:32 (5 Réponses)
Scalping Backtest
par Benoist Rousseau » 30 Aoû 2019 11:38 (3 Réponses)
Idées d'améliorations PRT backtest
par takapoto » 29 Juil 2014 07:26 (13 Réponses)
Votre avis sur mon backtest
Fichier(s) joint(s) par JUPITRADER » 28 Déc 2014 14:39 (28 Réponses)

ProRealTime