Prise de position sur GAP.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #260575 quote
    Draner777
    Participant
    New

    Bonjour.

    Je débute sur PRT…

    Je souhaiterai coder une stratégie simple sur indices qui se place à l’ouverture sur un GAP – soit achat, soit vente.

    Avec stoploss au niveau de la cloture de la veille et sortie de trade cinq minutes avant fin de journée.

    Pourriez vous faire ce code de stratégie ? Avec les REM explicatifs de chaque lignes … pour m’aider à comprendre et apprendre.

    D’avance, grand merci.

    #260588 quote
    robertogozzi
    Moderator
    Master

    C’est ça:

    DEFPARAM CumulateOrders = false
    
    // -------------------------------------------------------
    // Données journalières d'hier (bougie fermée)
    //
    TIMEFRAME(daily, updateonclose)
    yhigh       = high[1]
    ylow        = low[1]
    cloturehier = close[1]
    
    TIMEFRAME(default)
    // -------------------------------------------------------
    ONCE HoraireOuverture = 093000
    ONCE HeureFermeture   = 172500
    
    // pas plus d'une transaction par jour
    //
    IF OnMarket AND Not OnMarket[1] THEN
    tradedone   = 1
    ENDIF
    // -------------------------------------------------------
    // Réinitialisation quotidienne du flag, une seule opération par jour
    //
    IF IntraDayBarIndex = 0 THEN
    tradedone = 0
    IF OnMarket THEN
    tradedone = 1
    ENDIF
    ENDIF
    // -------------------------------------------------------
    // Setup Outside Day
    // setuplong  = Aujourd'hui, le prix a franchi le plus bas d'hier.
    // setupshort = Aujourd'hui, le prix a franchi le sommet d'hier.
    //
    setuplong  = (low  <= ylow)
    setupshort = (high >= yhigh)
    // -------------------------------------------------------
    // Ordres d'entrée en attente (STOP)
    //
    IF NOT OnMarket AND (tradedone = 0) AND (OpenTime >= HoraireOuverture) THEN
    // LONG: Entrée au plus haut d'hier avec un ordre STOP
    IF setuplong THEN
    BUY 1 CONTRACT AT yhigh STOP
    ENDIF
    // SHORT: Entrée au plus bas d'hier avec un ordre STOP
    IF setupshort THEN
    SELLSHORT 1 CONTRACT AT ylow STOP
    ENDIF
    // -------------------------------------------------------
    // Stop Loss
    SET STOP Price cloturehier
    ENDIF
    // -------------------------------------------------------
    // Sortie le lendemain de l'entrée
    //
    IF Time >= HeureFermeture THEN
    SELL AT MARKET
    EXITSHORT AT MARKET
    ENDIF
    //
    GraphOnPrice yhigh coloured("Green")
    GraphOnPrice ylow  coloured("Red")
    
    #260611 quote
    robertogozzi
    Moderator
    Master

    J’ai réessayé le code et il semble correct, contrairement au précédent :

    DEFPARAM CumulateOrders = false
    
    // -------------------------------------------------------
    // Données journalières d'hier (bougie fermée)
    //
    TIMEFRAME(daily, updateonclose)
    yhigh         = high
    ylow          = low
    cloturehier   = close
    OuvertureHier = open
    
    // Données journalières (bougie actuelle)
    TIMEFRAME(daily, default)
    IF OpenDay <> OpenDay[1] THEN
    // -------------------------------------------------------
    // Setup Outside Day
    // GapUP = le cours d'ouverture d'aujourd'hui est supérieur au plus haut d'hier.
    // GapDN = le cours d'ouverture d'aujourd'hui est inférieur au plus bas d'hier.
    //
    GapUP = (open >= yhigh)
    GapDN = (open <= ylow)
    ENDIF
    
    TIMEFRAME(default)
    // -------------------------------------------------------
    ONCE HoraireOuverture = 093000
    ONCE HeureFermeture   = 172500
    
    // pas plus d'une transaction par jour
    //
    IF OnMarket AND Not OnMarket[1] THEN
    tradedone   = 1
    ENDIF
    // -------------------------------------------------------
    // Réinitialisation quotidienne du flag, une seule opération par jour
    //
    IF IntraDayBarIndex = 0 THEN
    tradedone = 0
    IF OnMarket THEN
    tradedone = 1
    ENDIF
    ENDIF
    // -------------------------------------------------------
    // Ordres d'entrée
    //
    IF NOT OnMarket AND (tradedone = 0) AND (OpenTime >= HoraireOuverture) THEN
    // LONG: Entrée au marché
    IF GapUP THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    // SHORT: Entrée au marché
    IF GapDN THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    // -------------------------------------------------------
    // Stop Loss
    SET STOP Price cloturehier
    ENDIF
    // -------------------------------------------------------
    // Sortez du marché 5 minutes avant la clôture des marchés
    //
    IF Time >= HeureFermeture THEN
    SELL      AT MARKET
    EXITSHORT AT MARKET
    ENDIF
    //
    GraphOnPrice yhigh coloured("Green")
    GraphOnPrice ylow  coloured("Red")
    
    Iván González thanked this post
    Mon-Systeme-GAP.itf
    #260685 quote
    Draner777
    Participant
    New

    Bonjour.

    Tant pour le premier que le second code (260588 vs 260611) …

    Code erreur … ligne 1 :

    Caracteres manquants. Suggestions : fin de code

    Cordialement.

    #260688 quote
    Nicolas
    Keymaster
    Legend

    Il faut placer le code dans un éditeur de codes dédiés aux stratégies (le module ProBacktest), c’est sans doute pour cela que vous obtenez cette erreur / ou il s’agit d’un mauvais copier/coller.

    Pour copier le code depuis le site, il y a un bouton spécifique dans chaque fenêtre de code en haut à droite, c’est la meilleure façon de copier un code sans erreur 🙂

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

Prise de position sur GAP.


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
Draner777 @draner777 Participant
Summary

This topic contains 4 replies,
has 3 voices, and was last updated by Nicolas
1 month ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 04/26/2026
Status: Active
Attachments: 1 files
Logo Logo
Loading...