Fermeture de trade le vendredi à 21h

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #102601 quote
    Gregg
    Participant
    Average

    Bonjour à tous,

    je ne comprends pas très bien j’ai une stratégie automatisée qui ne prend pas en compte mon code ci-dessous alors qu’il fonctionne sur d’autres.

    En fait je voudrais clôturer mes positions en fin de semaine pour ne pas rester overweek. Sur le papier ca semble simple mais pourtant, c’est comme si depuis ce matin la fonction OpenDayOfWeek n’était plus prise en compte par PRT  🙂

    IF longonmarket THEN
    IF OpenDayOfWeek = 5 AND time >= 210000 THEN
    sellshort at market
    ENDIF
    ENDIF
    
    et 
    
    IF shortonmarket THEN
    IF OpenDayOfWeek = 5 AND time >= 210000 THEN
    exitshort at market
    ENDIF
    ENDIF

    Pour info, je suis sur une stratégie Actions en UT Daily et avec des instructions d’achat et de vente de ce type :

    IF Ca1 and Ca2 THEN
    BUY n SHARES AT MARKET
    Set target %profit 2
    ENDIF
    
    et 
    
    IF Cv1 and Cv2 THEN
    SELLSHORT n SHARES AT MARKET
    Set target %profit 1
    ENDIF

    Malgré ce code, j’ai encore dans mes backtests des positions qui courent sur plus de 10 barres !

    Merci pour votre aide !

    Gregg

    #102603 quote
    robertogozzi
    Moderator
    Master

    Les stratégies sont TOUJOURS exécutées à la fermeture d’une bougie. Ainsi, le code est exécuté à la fermeture de la bougie du vendredi, ce qui est la fermeture de transactions financières dans le monde entier.

    Votre position restera ouverte toute la nuit et sera fermée lorsque les transactions financières sont ouvertes pour la nouvelle semaine.

    Vous voudrez peut-être recourir au support MTF (Multiple Time Frame support) pour utiliser les TF intraday pour accomplir ce que vous voulez.

    #102608 quote
    Nicolas
    Keymaster
    Master

    Roberto a raison, il faudra faire appel à un timeframe inférieur au Daily pour clôturer tes ordres le vendredi soir.

    Puisque le code est lu à la fin de la barre, il est déjà trop tard en UT journalière pour fermer la position à sa clôture.

    #102609 quote
    Gregg
    Participant
    Average

    Merci pour vos réponses Roberto et Nicolas ! En effet je comprends mieux pourquoi cela fonctionne sur mes autres stratégies  🙂

    Par contre, lorsque j’essaie de coder cette sortie sur une UT inférieure, lorsque je veux lancer mon backtest j’ai le message d’erreur qui me dit que toutes les unitées de temps appelées dans le code doivent être des multiples de l’unité de temps dans laquelle j’execute ma stratégie… compliqué tout ça 🙂

    #102610 quote
    Gregg
    Participant
    Average

    J’ai essayé ca mais comme je précise plus haut, impossible de backtester en Daily comme le voudrait ma stratégie. Je me trompe quelque part ? Ou il n’est pas possible de backtester avec le multi TF dans cette UT supérieure ?

    TIMEFRAME(1 hour)
    CvH1 = onmarket AND time >= 210000 AND OpenDayOfWeek = 5
    
    TIMEFRAME(daily)
    // ACHAT 
    IF Ca1 THEN
    BUY n SHARES AT MARKET
    Set target %profit 2
    ENDIF
    // VENTE 
    IF Cv1 THEN
    SELLSHORT n SHARES AT MARKET
    Set target %profit 1
    ENDIF
    // OVERWEEK
    IF CvH1 THEN
    sellshort at market
    exitshort at market
    ENDIF
    #102611 quote
    Nicolas
    Keymaster
    Master

    Il faut backtester dans l’unité de temps la plus petite !

    #102612 quote
    Gregg
    Participant
    Average

    Oui mais ma stratégie est opérationnelle en Daily et non en H1… Sinon j’ai trouvé la formule BarIndex – TradeIndex pour limiter le nombre de barres journalières. Mais ca ne m’empêche pas de risquer l’overweek…

    #102616 quote
    Gregg
    Participant
    Average

    Ok je pense que je viens de comprendre… lorsque je backteste une stratégie en H1 dont certaines conditions sont à prendre en Daily grace au code TIMEFRAME(daily) les positions sont les mêmes que je backteste en Daily ou en H1 n’est-ce pas ?  🙂

    #102643 quote
    Nicolas
    Keymaster
    Master

    Puisque tu veux utiliser le H1 pour tester un horaire, il est logique qu’il faille utiliser ce timeframe pour faire le backtest, c’est pour cette raison qu’il est nécessaire de toujours backtester avec l’unité de temps la plus petite utilisée dans le code.

    Oui en effet, si tes conditions de trading Daily sont indiquées dans TIMEFRAME(daily, updateonclose), alors les résultats seront les mêmes.

    Gregg thanked this post
    #102672 quote
    Gregg
    Participant
    Average

    Merci Nicolas pour ces précisions !

Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.

Fermeture de trade le vendredi à 21h


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
Gregg @gregg Participant
Summary

This topic contains 9 replies,
has 3 voices, and was last updated by Gregg
6 years, 8 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 07/15/2019
Status: Active
Attachments: No files
Logo Logo
Loading...