Flat after Flat before
Forums › ProRealTime forum Français › Support ProOrder › Flat after Flat before
- This topic has 7 replies, 2 voices, and was last updated 8 years ago by Madrosat.
-
-
04/14/2016 at 8:37 AM #5359
Bonjour à tous
En remarquant quelques un de mes backtest je m’aperçois que plusieurs pertes importantes se situent entre
le vendredi soir et le lundi matin .Peut on se servir de Flat after et flat before pour éviter toute position ou trade les week end .
Un simple exemple si ça existe me suffira.
Bonne journée
Madrosat
04/14/2016 at 10:22 AM #5365Bonjour Madrosat,
Non tu ne pourras pas utiliser ces fonctions car elles ne testent qu’un horaire et non une journée en particulier.
Ce que tu peux faire pour clôturer toutes les positions restantes le vendredi soir, c’est tester le jour le l’heure si tu es “au marché” actuellement :
1234IF ONMARKET AND DAYOFWEEK=5 AND TIME>=180000 THENSELL AT MARKETEXITSHORT AT MARKETENDIFça devrait faire l’affaire, confirme moi !
04/14/2016 at 2:06 PM #5383Merci Nicolas
ça fonctionne cependant les résultats que j’en attendais ne sont pas à la hauteur de ce que j’espérais .Sur les 3 backtest que je viens d’effectuer certes ça limite quelques pertes mais ça diminue aussi quelques profits et le bilan est négatif.Evidemment à voir en backtestant beaucoup plus.En tout cas merci pour ce code et bonne après midiMadrosat04/30/2016 at 7:13 AM #6241Bonjour Nicolas et bonne journée
Je n’arrive pas à maîtriser les moments où je ne veux pas que des ordres soient donnés.
Par exemple je ne veux pas que des positions soient prises ou en cours entre vendredi 21heures locales et le lundi matin 03heures
j’ai bricolé ça mais ça ne marche pas .
12345678IF DAYOFWEEK=5 AND TIME>=180000 THENSELL AT MARKETEXITSHORT AT MARKETENDIFIF DAYOFWEEK=1 And TIME < 030000 THENsell at marketexitshort at marketendifMerci par avance de votre aide
Madrosat
04/30/2016 at 11:17 AM #6248Bonjour,
Ok, donc pour cela il faut créer une condition testable pour vérifier si nous sommes entre le lundi matin 3 heures et vendredi 21 heures. Si cette condition est fausse alors on autorisera le trading. On vérifie si la condition n’est pas VRAI avec “IF NOT”. Je n’ai pas vérifier le code, ma plateforme est “déconnecté pour le moment.
12345notrading = (dayofweek=5 AND time>=210000) OR (dayofweek=1 AND time<030000)IF NOT notrading then...ENDIF05/01/2016 at 5:38 AM #6279Bonjour Nicolas
j’ai introduit votre code dans ma stratégie une fois avant buy et une fois avant sellshort
voici les résultats du backtest sur eur usd 1 heure on voit une amélioration des résultats (à gauche de l’écran votre code ajouté, à droite ma stratégie sans votre code)
par contre il y a quand même quelques trades qui se font (sur le backtest)entre le vendredi soir et le lundi matin par exemple
il y a une entrée short le 25/4 à oo ooh et une entrée longue le 15/4 à 02 00h
Les résultats sont bons mais trop beaux pour être vrais comme le disait votre collègue sur ce site; En effet pratiquement tous les trades qui ne concernent qu’une bougie sont marqués comme
gagnants alors que ce n’est pas le cas.
Thomas de prorealtime m’a dit que très bientôt on allait pouvoir faire des backtests exacts , j’attends…
Bonne journée
Madrosat
05/01/2016 at 6:42 PM #630105/02/2016 at 8:58 AM #6324Bonjour Nicolas
Voici mon code
Je ne suis pas un spécialiste du codage et il fort possible que tu trouves des anomalies, j’essaie grâce à vos conseils et aux lectures que je fais de progresser mais c’est
pas facile quand on part de zéro.
Bonne journée
Madrosat
// Définition des paramètres du code triangleendpointzonee 30/4es6
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Conditions pour ouvrir une position acheteuse
indicator1 = CALL “Moyenne adaptative Kama”[3, 3, 8]
indicator2 = CALL “Moyenne adaptative Kama”[3, 3, 8]
c1 = (indicator1 > indicator2[1])
indicator3 = CALL “Moyenne adaptative Kama”[3, 3, 8]
indicator4 = CALL “Moyenne adaptative Kama”[3, 3, 8]
c2 = (indicator3[1] > indicator4[2])ignored, ignored, indicator5, ignored, ignored = CALL “Triangleendpoint zonée”[3, 0.5, 0.8, 18](close)
notrading = (dayofweek=5 AND time>=210000) or (dayofweek=1 AND time<030000)IF NOT notrading and c1 and c2 then
buy 1 shares at (indicator5) limit
ENDIF// Conditions pour fermer une position acheteuse
ignored, indicator6, ignored, ignored, ignored = CALL “Triangleendpoint zonée”[3, 0.5, 0.8, 18](close)
SELL AT (indicator6) limitindicator7 = CALL “Moyenne adaptative Kama”[3, 3, 8]
indicator8 = CALL “Moyenne adaptative Kama”[3, 3, 8]
c3 = (indicator7 < indicator8[1])if longonmarket and c3 then
sell at (indicator7) limit
endif
// Conditions pour ouvrir une position en vente à découvert
indicator9 = CALL “Moyenne adaptative Kama”[3, 3, 8]
indicator10 = CALL “Moyenne adaptative Kama”[3, 3, 8]
c4 = (indicator9 < indicator10[1])
indicator11 = CALL “Moyenne adaptative Kama”[3, 3, 8]
indicator12 = CALL “Moyenne adaptative Kama”[3, 3, 8]
c5 = (indicator11[1] < indicator12[2])ignored, indicator13, ignored, ignored, ignored = CALL “Triangleendpoint zonée”[3, 0.5, 0.8, 18](close)
notrading = (dayofweek=5 AND time>=210000) or (dayofweek=1 AND time<030000)IF NOT notrading and c4 and c5 THEN
SELLSHORT 1 shares AT (indicator13) limit
ENDIF// Conditions pour fermer une position en vente à découvert
ignored, ignored, indicator14, ignored, ignored = CALL “Triangleendpoint zonée”[3, 0.5, 0.8, 18](close)
EXITSHORT AT (indicator14) limit
indicator15 = CALL “Moyenne adaptative Kama”[3, 3, 8]
indicator16 = CALL “Moyenne adaptative Kama”[3, 3, 8]
c6 = (indicator15 > indicator16[1])if shortonmarket and c6 then
exitshort at indicator15 limit
endif// Stops et objectifs
SET STOP %LOSS 0.6 -
AuthorPosts
Find exclusive trading pro-tools on