Ordre limite qui s’exécute à un plus mauvais prix que la limite

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #192637 quote
    Vaporupo
    Participant
    New

    Bonjour, lors du passage en live de mon robot avec IG via PRT j’ai remarqué que les ordres LIMIT en ouverture de bougie n’ouvraient absolument jamais au prix demandé, je vous copie/colle le code dans l’espoir que ce problème soit déjà arrivé à quelqu’un qui puisse m’indiquer comment le résoudre.

    ————————————————-

    DEFPARAM CumulateOrders = False // Cumul des positions désactivé
    
    noEntryBeforeTime = 090000
    timeEnterBefore = time >= noEntryBeforeTime
    
    noEntryAfterTime = 170000
    timeEnterAfter = time < noEntryAfterTime
    
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    indicator1 = CALL "Exemple RSI"[14]
    c1 = (indicator1 CROSSES UNDER 70)
    
    IF c1 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
    BUY 1 CONTRACT AT open-1 LIMIT
    ENDIF
    
    indicator2 = CALL "Exemple RSI"[14]
    c2 = (indicator2 CROSSES OVER 30)
    
    IF c2 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
    SELLSHORT 1 CONTRACT AT open+1 LIMIT
    ENDIF
    
    SET STOP pLOSS 38.8
    SET TARGET pPROFIT 71.2

     

    ————————————————-

    Le problème à l’air de venir des lignes :

    BUY 1 CONTRACT AT open-1 LIMIT

    SELLSHORT 1 CONTRACT AT open+1 LIMIT

    Pour résumer en live le robot se comporte comme si il passait un ordre MARKET au lieu d’un LIMIT.

    Merci d’avance de vos réponses.

    #192638 quote
    Nicolas
    Keymaster
    Master

    Un order LIMIT se place en dessous du prix actuel pour un achat et au dessus pour une vente. Dans le cas où cela n’est pas respecté, alors l’ordre se déclenchera, comme un order au marché et comme tu as pu l’observer.

    Par ailleurs, n’oublie pas que le courtier impose une distance vis à vis du prix actuel pour placer un ordre conditionnel, cette valeur est indiquée sur le site du courtier pour chaque instrument.

    Vaporupo thanked this post
    #192639 quote
    Vaporupo
    Participant
    New

    Merci beaucoup pour la rapidité de la réponse, auriez vous une suggestion pour que le code vérifie le niveau actuel du cours et dès que les conditions sont remplie, qu’il exécute mon ordre LIMIT ?

    Vous m’avez déjà bien aidé dans tous les cas.

    #192641 quote
    Nicolas
    Keymaster
    Master

    Puisque tu veux placer ton order à OPEN-1 points, alors on peut ajouter cette condition pour un achat (et vice versa donc pour une vente)

    c11 = close > open-1*pointsize
    Vaporupo thanked this post
    #192642 quote
    Vaporupo
    Participant
    New

    Je viens de tester en virtuel cette condition, il a l’air de juste testé la condition à un moment donné et si ces conditions ne sont pas remplie à ce moment là il n’ouvre pas le trade car il ne regarde pas les conditions sont remplie plus tard, ça à l’air assez compliqué de placer un ordre LIMIT et qu’il l’exécute dès que possible.

    Merci de m’avoir répondu à nouveau.

    #192646 quote
    Nicolas
    Keymaster
    Master

    La condition est testé en même temps que ta condition c1, c’est cette dernière qui limite le teste ultérieur pour placer l’ordre.

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

Ordre limite qui s’exécute à un plus mauvais prix que la limite


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
Vaporupo @vaporupo Participant
Summary

This topic contains 5 replies,
has 2 voices, and was last updated by Nicolas
3 years, 10 months ago.

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