Exclusion de jours / minutes
Forums › ProRealTime forum Français › Support ProOrder › Exclusion de jours / minutes
- This topic has 5 replies, 3 voices, and was last updated 6 years ago by clasch.
-
-
02/19/2018 at 9:12 AM #63097
Bonjour,
Ce week-end, j’ai placé un système contenant ce bout de code :
Exclusion d'achat1If c1 And Not (OnMarket Or DayOfWeek=0 And Hour>=22 and Minute>=00 Or DayOfWeek=1 And Hour<06 and Minute>=00 Or DayOfWeek=5 And Hour>=22 and Minute>=00) Then ...J’espérais ainsi que le système ne rentre pas en position le dimanche soir dès 22h00 ou le lundi jusqu’à 05h59 ou le vendredi soir dès 22h00.
Mais à ma grande surprise, le système a ouvert une position ce lundi à 00:00:01.
Avez-vous une idée pourquoi ?
Et comment y remédier ?
Merci et bonne journée,
Claudio
02/19/2018 at 2:05 PM #63159Possible qu’il y ait d’autres bugs, mais la première chose qui vient à l’esprit en lisant cette ligne de code est la possibilité de parenthèses manquantes dans la condition not( … and… or… and… or…) à tester avec une structure de prenthèses: not(… or (…and…) or (…and…) or (…and…))
02/19/2018 at 10:47 PM #6322202/19/2018 at 11:12 PM #63228Chose suivante une fois les parenthèses corrigées, dans le cas d’un actif côté h24 (cfd par exemple), ce qui semble être le cas si on parle de position à minuit 1, sans savoir quel timeframe a été utilisé, opendayofweek (jour de la semaine à l’ouverture de la bougie) sera souvent un meilleur choix que dayofweek (jour de la semaine à la cloture de la bougie). Eventuellement se servir de la fonction “GRAPH” en fin de code pour visualiser dans le backtest combien valent dayofweek et opendayofweek entre minuit et 1h du matin la nuit de dimanche à lundi, ou pendant toute autre plage horaire ou aucun ordre n’est désiré, pour constater la différence (le mot-clé Graph est un must à connaitre pour visualiser les valeurs en débuguant les stratégies).
02/20/2018 at 3:53 AM #63244Essayez le premier ou le deuxième exemple (ils devraient donner le même résultat):
123456789101112131415161718192021222324252627// ------ premier exemple//// If c1 And Not OnMarket and// not (// (DayOfWeek=0) Or// (DayOfWeek=1 And Hour<6) Or// (DayOfWeek=5 And Hour>=22)// )// ThenIf c1 And Not OnMarket and not ((DayOfWeek=0) Or (DayOfWeek=1 And Hour<6) Or (DayOfWeek=5 And Hour>=22)) Thenbuy at market// ------ deuxième exemple//c2 = DayOfWeek=0c3 = DayOfWeek=1 And Hour<6c4 = DayOfWeek=5 And Hour>=22//// If c1 And Not OnMarket and// not (// c2 Or// c3 Or// c4// )// ThenIf c1 And Not OnMarket and not (c2 or c3 Or c4) Then02/20/2018 at 9:32 AM #63264 -
AuthorPosts
Find exclusive trading pro-tools on