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

Forums ProRealTime forum Français Support ProOrder Prise de position à un niveau de prix déterminé

Viewing 7 posts - 1 through 7 (of 7 total)
  • #104418

    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

     

    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

    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

    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

    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 :

    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

    bonsoir,

    et si tu fais un crosses over ou under ?

    #104458

    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.

     

    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

    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)

Create your free account now and post your request to benefit from the help of the community
Register or Login