Bonsoir,
J'ai un petit problème avec un programme qui ouvre un ordre long dès que le plus haut de la veille est cassé. Le problème c'est que ça fonctionne du mardi au vendredi. Mais le lundi, ça ne marche pas, ça ne prend pas en compte le plus haut de vendredi.
Petite précision je suis en affichage 8h - 22h pour les bougies, graphe en 17 ticks.
un code simplifié, qui montre le problème, par exemple pour le lundi 29/06.
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Conditions pour ouvrir une position acheteuse
indicator1 = close
c1 = (indicator1 >= DHigh(1))
IF c1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pLOSS 19
SET TARGET pPROFIT 35
j'ai fait un indicateur tout bête pour afficher Dhigh(1) et Dlow(1) pour voir le problème, et bizarrement ça fonctionne et me donne bien les plus haut et plus bas du vendredi pour le lundi qui suit.
Bonne soirée,
Pierre
Dhigh / Dlow
-
pierrep
- Membre du Conseil Jedi
- Messages : 6475
- Enregistré le : 09 févr. 2015 20:38
-
GOLDENBOY
- Chevalier Jedi
- Messages : 2677
- Enregistré le : 23 sept. 2014 16:09
Re: Dhigh / Dlow
je suis comme toi je découvre prt en programmation depuis hier (simplification = rapidité d’exécution
) , as tu essayé FlatBefore et FlatAfter mais je suis pas sûre 
-
falex
- Le Gladiateur
- Messages : 34275
- Enregistré le : 12 févr. 2013 15:41
Re: Dhigh / Dlow
Hi
J'ai souvenir d'un bug de ce genre où une commande temporelle ne renvoyait rien le dimanche ou le lundi ( pour le forex) dans les backtests.
Tu envoies une demande à PRT à mon humble avis
Et en attendant tu te fabrique ton Dhigh(1) : pas très/trop compliqué en se basant sur mon code de fibo glissant jour ...
---
Autres solution tu simules le backtest dans un indicateurs ... Seul inconvénient, tu n'a pas/plus accès à l'optimisation de variable (!a c'est le grand plus de PRT sur les backtest en plus de la rapidité d'execution)
J'ai souvenir d'un bug de ce genre où une commande temporelle ne renvoyait rien le dimanche ou le lundi ( pour le forex) dans les backtests.
Tu envoies une demande à PRT à mon humble avis
Et en attendant tu te fabrique ton Dhigh(1) : pas très/trop compliqué en se basant sur mon code de fibo glissant jour ...
---
Autres solution tu simules le backtest dans un indicateurs ... Seul inconvénient, tu n'a pas/plus accès à l'optimisation de variable (!a c'est le grand plus de PRT sur les backtest en plus de la rapidité d'execution)
-
GOLDENBOY
- Chevalier Jedi
- Messages : 2677
- Enregistré le : 23 sept. 2014 16:09
Re: Dhigh / Dlow
Falex est que cette constante peut diriger le programme à ne pas oublier le lundi ? :musique:
DayOfWeek :
Jour de la semaine à la clôture de chaque barre (ne traite pas les jours de Weekend-
1=lundi, 2=mardi, 3=mercredi, 4=jeudi, 5=vendredi).
ou CurrentDayOfWeek
DayOfWeek :
Jour de la semaine à la clôture de chaque barre (ne traite pas les jours de Weekend-
1=lundi, 2=mardi, 3=mercredi, 4=jeudi, 5=vendredi).
ou CurrentDayOfWeek
-
Benoist Rousseau
- Trader Futures / CME Member
- Messages : 174719
- Enregistré le : 06 sept. 2011 22:45
Re: Dhigh / Dlow
Réponse d'Olivier de PRT (la réponse a été envoyée le 3/8/15, j'étais hospitalisé encore, je l'ai pas vu désolé pour le retard)
Bonjour.
La plupart des valeurs, chez IG, sont des valeurs cotant du dimanche soir au vendredi soir.
Sur ces valeurs, le lundi, lorsque vous appelez les high et le low de la journée précédente, vous n'appelez pas les valeurs du vendredi mais celle du lundi.
Nous avons donc ajouté une instruction à votre code afin de parer ce désagrément:
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Conditions pour ouvrir une position acheteuse
indicator1 = close
if dayofweek=1 then
c1 = (indicator1 >= DHigh(2))
else
c1 = (indicator1 >= DHigh(1))
endif
IF c1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pLOSS 19
SET TARGET pPROFIT 35
Bonjour.
La plupart des valeurs, chez IG, sont des valeurs cotant du dimanche soir au vendredi soir.
Sur ces valeurs, le lundi, lorsque vous appelez les high et le low de la journée précédente, vous n'appelez pas les valeurs du vendredi mais celle du lundi.
Nous avons donc ajouté une instruction à votre code afin de parer ce désagrément:
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Conditions pour ouvrir une position acheteuse
indicator1 = close
if dayofweek=1 then
c1 = (indicator1 >= DHigh(2))
else
c1 = (indicator1 >= DHigh(1))
endif
IF c1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pLOSS 19
SET TARGET pPROFIT 35
-
GOLDENBOY
- Chevalier Jedi
- Messages : 2677
- Enregistré le : 23 sept. 2014 16:09
Re: Dhigh / Dlow
J étais pas loin LOL 
