Fonctionnement du code étonnant

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #254040 quote
    mariulo123
    Participant
    New
    cet exemple est exécuté sur Future EURUSDXXX 1minute entre 20/01/2025 et Now par exemple :
    dans le code, j’ai ajouté les lignes suivantes dont la présence ne devrait pas impacter l’exécution des ordres :

    if time = 081500 then b  // jaune

    pOrderTime = 0 // jaune

    endif // jaune

    DEFPARAM CumulateOrders = False 
    
    DEFPARAM FLATBEFORE = 092000
    
    DEFPARAM FLATAFTER = 181500
    
    
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    once pCandleRange = 0.001
    once pOrderTime = 0
    
    if time = 081500 then // jaune
    pOrderTime = 0 // jaune
    endif // jaune
    
    cMarketCondition = (not daysForbiddenEntry and not OnMarket)
    
    if cMarketCondition and ABS(range) > pCandleRange and pOrderTime = 0 then
    if close > close[1] and close > open then
    BUY 1 SHARES AT MARKET
    pOrderTime = barindex
    elsif close < close[1] and close < open then
    SELLSHORT 1 SHARES AT MARKET
    pOrderTime = barindex
    Endif
    endif
    
    if pOrderTime > 0 and onMarket and pOrderTime < barindex then
    pOrderTime = 0
    SELL AT MARKET
    EXITSHORT AT MARKET
    endif
    si les lignes suivantes sont présent dans le code, j’ai tous les ordres qui s’exécutent,
    sans ces lignes, aucun ordre n’est exécuté.
    pourquoi ? j’essaie de comprendre non pour l’exemple en particulier, mais surtout pour éviter de faire des erreurs par ailleurs.
    Merci d’avance,
    Cdt,
    #254041 quote
    mariulo123
    Participant
    New

    Cet exemple de code permet de déclencher un ordre quand un range d’une période est > à une valeur. L’autre chose étonnante avec cet exemple est que si l’on enlève ces lignes de code, et que l’on fait des test avec des valeurs de pCandleRange particulières on obtient les résultats suivant alors que plus le paramètre est faible et plus on devrait avoir d’ordre :

    pCandleRange = 0.006 => 0 ordre

    pCandleRange = 0.005 => 2 ordres

    pCandleRange = 0.004 => 3 ordres

    pCandleRange = 0.003 => 9 ordres

    pCandleRange = 0.002 => 4 ordres

    pCandleRange = 0.001 => 0 ordre

    #254057 quote
    robertogozzi
    Moderator
    Master

    Ajoutez cette ligne à la fin pour vérifier si les conditions sont remplies :

    graph (cMarketCondition and ABS(range) > pCandleRange and pOrderTime = 0) AND ((close > close[1] and close > open) or (close < close[1] and close < open))
    Iván González and mariulo123 thanked this post
    #254116 quote
    mariulo123
    Participant
    New

    Merci de votre aide @robertogozzi, j’ai fait une erreur de raisonnement, pensant que toutes les opérations (calculs d’inducteurs intermédiaires) ne commençaient qu’à partir du début de la simulation, ce qui n’est pas le cas. Toutes les opérations commencent à la 1ère période du graphe, les ordres eux ne sont exécutées qu’à partir du début de la période de simulation, c’est bien ça ?

    #254118 quote
    robertogozzi
    Moderator
    Master

    Oui, c’est exact.

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

Fonctionnement du code étonnant


Support Plateforme : Graphiques, Données & Courtiers

New Reply
Author
author-avatar
mariulo123 @mariulo123 Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by robertogozzi
2 months, 2 weeks ago.

Topic Details
Forum: Support Plateforme : Graphiques, Données & Courtiers
Language: French
Started: 11/28/2025
Status: Active
Attachments: No files
Logo Logo
Loading...