Prise de position à un niveau de prix déterminé

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #104418 quote
    Taylor
    Participant
    Junior

    Bonjour,

     

    Pardonnez d’abord mon ignorance, je viens poser une question de grande débutante en trading automatique !

    Je souhaite ajouter un déclenchement de position sur un niveau de prix précis que j’aurais moi-même défini dans le code suite à une analyse graphique personnelle… (je ne pensais pas être en difficulté dès cette étape lol).

     

    J’ai essayé des choses du type

    C1 = (close = XXXX)
    
    C1 = XXXX
    
    C1 = (tradeprice crosses over XXXX)

     

    Rien ne se déclenche… “Tradeprice” n’est que pour une position déclenchée je crois, et pour “close” j’ai cru comprendre que le robot ne prenait position qu’à la clôture de la bougie (comme son nom l’indique), or je souhaite que la position soit prise au marché dès que le cours arrive à un niveau de prix déterminé. Je ne vois pas quelle autre variable correspondrait à ma demande.

     

    Merci d’avance pour votre aide, j’espère mieux me débrouiller pour la suite !

    #104419 quote
    Taylor
    Participant
    Junior

    Bon, je me réponds à moi-même. Déjà je viens de voir qu’il n’y a, a priori, pas moyen de mettre un déclenchement en dehors des clôtures ou ouvertures de bougies.

    Du coup, en essayant C1 = (close < XXXX) j’ai enfin eu mon ordre déclenché puisque j’ai donné une hypothèse qui s’est effectivement rencontrée sur le marché à l’horaire backtesté.

    Question 1 : si on ne peut vraiment déclencher qu’en fermeture ou ouverture de bougies, à quoi sert le mode “tick par tick” du backtest ?

     

    Question 2 : ce que j’en comprends c’est qu’il faut éventuellement que je me positionne sur unité inférieure et plus proche. Est-ce qu’on peut se positionner en UT = 1 tick ??? Là je serai au plus près du marché.

    Car quand je fais cela, je reçois une erreur “Vérifiez la date de début et de fin de votre backtest”. J’ai mis une tranche de 10h à 10h15 aujourd’hui.

    Si impossible, quelle serait la valeur minimale du coup ?

     

    Merci, je continue mes recherches mais au moins j’avance dans ma compréhension globale du système !

    #104422 quote
    Taylor
    Participant
    Junior

    Pour ma Question 2, la réponse est que mon graphique s’affichant en 200 unités, l’horaire demandé n’était pas disponible pour le backtest ! Donc en modifiant l’horaire ou l’affichage cela est résolu.

     

    Et en mettant mon robot en mode 1 tick, même en conservant la seule fonction “close = XXX” je suis sûre d’être bien exécuté au prix souhaité.

     

    Voilà, voilà. En espérant que cela serve à d’autres newbie !

    #104426 quote
    Taylor
    Participant
    Junior

    Bon, c’est encore moi, pardonnez le nombre d’auto réponses mais je ne peux pas éditer mes posts passé un certain délai.

    Tout ça pour dire que ma solution ne marche pas à tous les coups et je ne comprends pas pourquoi.

     

    Voici un bout du code en question, réduit à son plus simple appareil juste pour vérifier le bon déclenchement d’un ordre au passage d’un niveau de prix défini :

    // Définition des paramètres du code
    DEFPARAM CumulateOrders = False // Cumul des positions désactivé
    
    // Conditions pour ouvrir une position acheteuse
    c1 = (close = 11801)
    
    IF NOT LONGONMARKET AND c1 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    // Conditions pour ouvrir une position vendeuse
    c2 = (close = 11776)
    
    IF NOT SHORTONMARKET AND c2 THEN
    SELL 1 CONTRACT AT MARKET
    ENDIF

    J’ai fait un backtest sur le DAX30 en CFD, UT 1 tick de 14:50 à 16:50 ce jour et ça ne m’a déclenché aucune position malgré que le prix soit passé plusieurs fois par ces niveaux…

    Pourtant, dans un autre backtest sur l’heure de midi ça fonctionnait. Une idée ?

    #104441 quote
    fifi743
    Participant
    Master

    bonsoir,

    et si tu fais un crosses over ou under ?

    #104458 quote
    Taylor
    Participant
    Junior

    Pareil avec le crosses over ou under, j’ai ensuite affiné d’ailleurs en mettant un (close > XXXX and close < XXXXX) pour être sûre de la fenêtre de prise de position.

    J’ai essayé la formule ci-dessous toujours sur le DAX30 CFD en 1 tick entre 10:25 et 10:45 ce matin et il ne m’a déclenché qu’une position acheteuse qui était passée par un TP10 que j’avais paramétré pour le test (sans le prendre) pour finir sur mon SL de 5… En regardant le 1 tick c’est pourtant sûr qu’il aurait dû déclencher au moins une position vendeuse et qu’il est bien passé par le niveau exactement indiqué dans le code.

    // Définition des paramètres du code
    DEFPARAM CumulateOrders = False // Cumul des positions désactivé
    
    // Conditions pour ouvrir une position acheteuse
    c1 = (close > 11789 and close < 11790)
    
    IF NOT LONGONMARKET AND c1 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    // Conditions pour ouvrir une position vendeuse
    c2 = (close < 11775 and close > 11774)
    
    IF NOT SHORTONMARKET AND c2 THEN
    SELL 1 CONTRACT AT MARKET
    ENDIF
    
    // Conditions de TP et SL
    SET TARGET PROFIT 10
    SET STOP LOSS 5

     

    J’avoue ne vraiment pas comprendre ce défaut de déclenchement alors que le code est pour l’instant extrêmement simple normalement.

    #104473 quote
    Taylor
    Participant
    Junior

    Décidément, je fais les questions et les réponses lol. Donc pour me répondre à mon interrogation de ci-dessus, le code ne pouvait fonctionner en short car la commande n’était pas bonne.

     

    A la ligne 15 il faut en effet remplacer “SELL” par “SELLSHORT”…

     

    SELL étant la commande pour liquider une position déjà en cours, SELLSHORT pour déclencher une position vendeuse.

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

Prise de position à un niveau de prix déterminé


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
Taylor @taylor Participant
Summary

This topic contains 6 replies,
has 2 voices, and was last updated by Taylor
6 years, 7 months ago.

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