ORDRE PAR PALIER

Viewing 2 posts - 16 through 17 (of 17 total)
  • Author
    Posts
  • #122304 quote
    Nicolas
    Keymaster
    Master

    Je pense que toutes les réponses sont dans ton code:

    1. pas de prises de positions : vérifier les contraintes horaires
    2. pas de prises de positions : si le cumul d’ordre n’est pas autorisé, et que tu es déjà au marché, au Close de la bougie on ne placera pas un nouvel ordre conditionnel. Dans ton exemple, l’ordre en cours est fermé sur la bougie qui suit celle où on aurait dut placer un nouveau BUY STOP, hors tu ne l’autorises pas !
    3. stoppé trop tôt : non, puisque le stoploss est placé à 60 points du prix d’ouverture de l’ordre et non sur ta ligne
    #122895 quote
    turame
    Participant
    Master

    Bonjour Nicolas,

    Merci pour ta réponse. Après 1 semaine a essayer de coder j’ai enfin réussi  !

    Un seul petit bémol subsiste : Aucune prise de position lors que la volatilité est trop élevée et que les niveaux font du yoyo (Cf capture d’écran ci-jointe). Pour palier à ce phénomène, il suffit simplement de diminuer le TF (le passer en seconde par exemple).

    Je post le code si jamais quelqu’un en a besoin un jour.

    Bon trade à tous

    // Définition des paramètres du code
    DEFPARAM CumulateOrders = TRUE // Cumul des positions désactivé
    // Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".
    DEFPARAM FLATBEFORE = 090000
    // Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
    DEFPARAM FLATAFTER = 200000
    
    // Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position après l'heure spécifiée
    noEntryAfterTime = 173000
    timeEnterAfter = time < noEntryAfterTime
    
    // Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    
    
    // NIVEAU DE BASE : NB
    // ECARTEMENT : EC
    EC=60
    
     
    
    IF TIME=090000 THEN
    NB= CLOSE
    SUP1=(NB-EC)
    RES1=(NB+EC)
    ENDIF
    
    
    IF HIGH >=RES1 THEN
    NB= NB+EC
    SUP1=SUP1+EC
    RES1=RES1+EC
    ELSIF LOW <=SUP1 THEN
    NB= NB-EC
    SUP1=SUP1-EC
    RES1=RES1-EC
    ENDIF
    
    
    
    
    // Conditions pour ouvrir une position acheteuse
    
    IF  NB[1]=NB AND timeEnterAfter AND not daysForbiddenEntry THEN
    BUY 1 CONTRACT AT RES1[1] stop
    ENDIF
    
    // Conditions pour ouvrir une position en vente à découvert
    
    IF  NB[1]=NB AND timeEnterAfter AND not daysForbiddenEntry THEN
    SELLSHORT 1 CONTRACT AT SUP1[1] STOP
    ENDIF
    
    
    IF LONGONMARKET THEN
    TAKEPROFITHA = RES1
    STOPHA = SUP1
    ENDIF
    
    IF SHORTONMARKET THEN
    TAKEPROFITVE = SUP1
    STOPVE = RES1
    ENDIF
    
    
    
    IF ONMARKET THEN
    SELL AT TAKEPROFITHA LIMIT
    EXITSHORT AT TAKEPROFITVE LIMIT
    SELL AT STOPHA STOP
    EXITSHORT AT STOPVE STOP
    ENDIF
    
    
    GRAPHONPRICE NB
    graphonprice sup1
    graphonprice res1
    
    Nicolas thanked this post
    Capture-d’écran-2020-03-22-à-12.26.25.png Capture-d’écran-2020-03-22-à-12.26.25.png
Viewing 2 posts - 16 through 17 (of 17 total)
  • You must be logged in to reply to this topic.

ORDRE PAR PALIER


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
turame @turame Participant
Summary

This topic contains 16 replies,
has 3 voices, and was last updated by turame
5 years, 11 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 03/13/2020
Status: Active
Attachments: 5 files
Logo Logo
Loading...