Déclanchement d'un achat au prix du marché

Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
    Posts
  • #130054 quote
    simongs
    Participant
    New

    Bonjour,

     

    Je souhaite que mon ordre d’achat se déclenche quand le marché touche un indicateur.

    Et non pas à la fin de la bougie. Est-ce que cela est posstible ?

    Merci

    #130058 quote
    Nicolas
    Keymaster
    Master

    Oui en plaçant un ordre en attente de type STOP ou LIMIT selon ce que tu veux faire.

    Pour acheter plus bas :

    buy 1 contract at monindic LIMIT

    Pour acheter plus haut :

    buy 1 contract at monindic STOP
    #130169 quote
    simongs
    Participant
    New

    Merci pour ces précisions,

    Je comprend le principe mais je n’arrive pas à ce que je souhaite.

     

    J’utilise l’indicateur Fractal William (ci-joint)

    J’aimerais acheter  quand le marché touche la ligne haute (HighLevel) en UTM15 et vendre quand le marché touche la ligne (LowLevel) UTM1.

     

    Comment fait-on pour appeler un paramètre d’un indicateur (dans le cas présent HighLevel et LowLevel)

     

    Merci

    Fractal-Williams-indicator.itf
    #130174 quote
    Nicolas
    Keymaster
    Master

    Cette stratégie fait exactement ce que tu demandes : https://www.prorealcode.com/topic/fractal-systeme/page/2/#post-88652 , breakout des derniers fractals.

    Il y a aussi cette ancienne stratégie de @ALE  sans les ordres conditionnels, mais très populaire et qui a connu de nombreux forks: https://www.prorealcode.com/prorealtime-trading-strategies/fractal-breakout-intraday-strategy-eurusd-1h/

    #130227 quote
    simongs
    Participant
    New

    Merci,

     

    J’ai de la peine à prendre une stratégie sans bien comprendre comment elle travaille au niveau du code dans ça totalité.

    Et je ne comprend pas tout.

     

    Du coup pour en revenir à ma question “comment fait-on appel à un paramètre d’un indicateur”, si je comprend bien on doit réécrir le code de l’indicateur dans ProOrder ?

    On ne peut pas simplement rappeler l’indicateur ?

    #130380 quote
    Nicolas
    Keymaster
    Master

    On l’appeler avec l’instruction CALL, voir dans la documentation : CALL

    #130399 quote
    simongs
    Participant
    New

    J’ai bien compris le principe mais je n’y arrive pas…

    L’ordre d’achat se fait même quand le prix ne touche pas la HighLevel de l’indicateur Wiliam.

     

    Pouvez-vous m’aider parce que la je stagne completement sur un truc bête. J’ai louper quelque chose de fondamental je pense.

    CI-joint le code et l’indicateur.

    Test-wiliam.itf Fractal-Williams-indicator-1.itf
    #130430 quote
    Nicolas
    Keymaster
    Master

    Petit rappel ci-joint sur la dénomination des ordres conditionnels et leurs positionnements en fonction du cours du marché.

    order-types-1.png order-types-1.png
    #130467 quote
    simongs
    Participant
    New

    Ok,

     

    J’ai changé le code de la manière suivante, mais ça ne fonctionne toujours pas

    BUY 1 CONTRACT AT HighFractal STOP

    #130474 quote
    Nicolas
    Keymaster
    Master

    Les ordres conditionnels ne durent qu’une seule barre, il faut les ajouter à chaque barre si nécessaire. Je ne comprends pas pourquoi tu ne t’inspires pas des codes que j’ai fourni, tu cherches à faire exactement pareil ! 🙂

    #130522 quote
    simongs
    Participant
    New

    Je ne m’inspire pas de ces codes parce que je ne les comprends pas car je débute, je n’ai malheureusement pas votre experience.

    Comme en backtest il ne font pas se que j’attends et que je ne comprend pas suffisament le code pour aller le modifier, je préfère en créer un.

    Maintenant si vous arrivez à m’expliquer comment arriver au résultat que je souhaite en modifiant le code existant je suis partant !

    Par exemple votre réponse “Les ordres conditionnels ne durent qu’une seule barre, il faut les ajouter à chaque barre si nécessaire” => pouvez-vous m’expliquer comment les ajouters à chaque barre ? (Ca vous donne une idée de mes connaissances en programmation) 😉

     

    Donc, est-ce que vous pouvez m’aider à concevoir un code (ou à modifier un code existant) qui à chaque cassure de l’indicateur fractal Wiliam (joint précédamment) en M15 passe un ordre à l’achat et vend à la cassure d’une EMA55 en M1 ?

     

    Pour l’instant j’ai juste essayer de voir si les ordres fonctionnaient (ce qui n’est pas le cas) avant d’intégrer les UT

     

    Merci pour votre patience

    STN.itf
    #130930 quote
    Nicolas
    Keymaster
    Master

    Merci de partager le code dans le prochain message, ce sera plus simple et rapide pour intervenir.

    #131253 quote
    simongs
    Participant
    New
    DEFPARAM Cumulateorders=false
    // Visualisation des fractales avec flèches
    Arrow = 0
     
    // Nombres de bougies constituant la fractale (impair)
    // libre à vous de changer ce nombre, qui doit être impair
    Ncandles = 4
     
    // Nombres de bougies de chaque côté de la bougie extrême
    Nside = (Ncandles) / 2
     
    // Définition de la fractale supérieure
    IF high[Nside] >= highest[Ncandles](high) THEN
    //Fup = high[Nside]
    Arrow = 1
    buylevel = high[Nside]
    ENDIF
     
    // Définition de la fractale inférieure
    IF low[Nside] <= lowest[Ncandles](low) THEN
    //Fdown = low[Nside]
    Arrow = -1
    selllevel = low[Nside]
    ENDIF
     
    // Définition des indicateurs
    EMA55 = ExponentialAverage[55](close)[4]
    EMA25 = ExponentialAverage[25](close)[4]
    MACDLIGNE = MACDline[12,26,9](close)
    MACDSIGNAL = ExponentialAverage[9](MACDline[12,26,9](close))
    RS = RSI[21](close)
    
    SL1 = MACDLIGNE crosses under MACDSIGNAL
    SL2 = EMA55
    SL3 = RS
    SL4 = MACDLIGNE crosses over MACDSIGNAL
    
    // Conditions d'achat
    timeframe(1 hour,updateonclose)
    CL1 = EMA25 > EMA55
    CL2 = MACDLIGNE > MACDSIGNAL
    
    timeframe(15 minutes,updateonclose)
    CL3 = EMA25 > EMA55
    CL4 = MACDLIGNE > MACDSIGNAL
    CL5 = MACDLIGNE > 0
    CL6 = Arrow = 1 and not longonmarket
    
    IF CL1 AND CL2 AND CL3 AND CL4 AND CL5 AND CL6 THEN
    BUY 1 CONTRACT AT buylevel stop
    SET STOP PLOSS 10
    ENDIF
    
    // Conditions stop d'une position acheteuse
    timeframe(1 minute,updateonclose)
    IF longonmarket = 1 then
    SELL (COUNTOFPOSITION/3) AT SL1 STOP
    SELL (COUNTOFPOSITION/2) AT SL2 STOP
    SELL AT SL3 STOP
    ENDIF
    
    // Conditions de vente
    timeframe(1 hour,updateonclose)
    CS1 = EMA25 < EMA55
    CS2 = MACDLIGNE < MACDSIGNAL
    
    timeframe(15 minutes,updateonclose)
    CS3 = EMA25 < EMA55
    CS4 = MACDLIGNE < MACDSIGNAL
    CS5 = MACDLIGNE < 0
    CS6 = Arrow = -1 and not shortonmarket
    
    IF CS1 AND CS2 AND CS3 AND CS4 AND CS5 AND CS6 THEN
    BUY 1 CONTRACT AT buylevel stop
    SET STOP PLOSS 10
    ENDIF
    
    // Conditions stop d'une position vendeuse
    timeframe(1 minute,updateonclose)
    IF shortonmarket = 1 then
    SELL (COUNTOFPOSITION/3) AT SL4 STOP
    SELL (COUNTOFPOSITION/2) AT SL2 STOP
    SELL AT SL3 STOP
    ENDIF
    
    #131316 quote
    Nicolas
    Keymaster
    Master

    Tous les timeframes sont mélangés, difficile à lire, sur quel timeframe désires-tu récupérer la valeur des fractals ?

    Pour info, il vaut mieux placer l’ensemble des informations d’un timeframe sous une seule et unique définition de l’instruction TIMEFRAME, cela évite les problèmes de mauvaises interprétations du code, celui-ci étant lu de haut en bas.

    #131350 quote
    simongs
    Participant
    New
    DEFPARAM Cumulateorders=false
    
     
    // Définition des indicateurs
    EMA55 = ExponentialAverage[55](close)[4]
    EMA25 = ExponentialAverage[25](close)[4]
    MACDLIGNE = MACDline[12,26,9](close)
    MACDSIGNAL = ExponentialAverage[9](MACDline[12,26,9](close))
    RS = RSI[21](close)
    
    
    timeframe(1 hour,updateonclose)
    // Conditions d'achat (H1)
    CL1 = EMA25 > EMA55
    CL2 = MACDLIGNE > MACDSIGNAL
    CL3 = MACDSIGNAL > 0
    // Conditions de vente (H1)
    CS1 = EMA25 < EMA55
    CS2 = MACDLIGNE < MACDSIGNAL
    CS3 = MACDSIGNAL < 0
    
    timeframe(15 minutes,updateonclose)
    
    // Visualisation des fractales avec flèches
    Arrow = 0
     
    // Nombres de bougies constituant la fractale (impair)
    // libre à vous de changer ce nombre, qui doit être impair
    Ncandles = 4
     
    // Nombres de bougies de chaque côté de la bougie extrême
    Nside = (Ncandles) / 2
     
    // Définition de la fractale supérieure
    IF high[Nside] >= highest[Ncandles](high) THEN
    //Fup = high[Nside]
    Arrow = 1
    buylevel = high[Nside]
    ENDIF
     
    // Définition de la fractale inférieure
    IF low[Nside] <= lowest[Ncandles](low) THEN
    //Fdown = low[Nside]
    Arrow = -1
    selllevel = low[Nside]
    ENDIF
    
    // Conditions d'achat (M15)
    CL4 = EMA25 > EMA55
    CL5 = MACDLIGNE > MACDSIGNAL
    CL6 = MACDLIGNE > 0
    CL7 = Arrow = 1 and not longonmarket
    
    IF CL1 AND CL2 AND CL3 AND CL4 AND CL5 AND CL6 AND CL7 THEN
    BUY 1 CONTRACT AT buylevel stop
    SET STOP PLOSS 10
    ENDIF
    
    // Conditions de vente (M15)
    CS4 = EMA25 < EMA55
    CS5 = MACDLIGNE < MACDSIGNAL
    CS6 = MACDLIGNE < 0
    CS7 = Arrow = -1 and not shortonmarket
    
    IF CS1 AND CS2 AND CS3 AND CS4 AND CS5 AND CS6 AND CS7 THEN
    BUY 1 CONTRACT AT buylevel stop
    SET STOP PLOSS 10
    ENDIF
    
    
    timeframe(1 minute,updateonclose)
    SL1 = MACDLIGNE crosses under MACDSIGNAL
    SL2 = EMA55
    SL3 = RS
    SL4 = MACDLIGNE crosses over MACDSIGNAL
    
    // Conditions stop d'une position acheteuse
    IF longonmarket = 1 then
    SELL (COUNTOFPOSITION/3) AT SL1 STOP
    SELL (COUNTOFPOSITION/2) AT SL2 STOP
    SELL AT SL3 STOP
    ENDIF
    
    // Conditions stop d'une position vendeuse
    IF shortonmarket = 1 then
    SELL (COUNTOFPOSITION/3) AT SL4 STOP
    SELL (COUNTOFPOSITION/2) AT SL2 STOP
    SELL AT SL3 STOP
    ENDIF
    
Viewing 15 posts - 1 through 15 (of 15 total)
  • You must be logged in to reply to this topic.

Déclanchement d'un achat au prix du marché


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
simongs @simongs Participant
Summary

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

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