Pyramidage – Non respect du palier

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #57463 quote
    Tagener
    Participant
    New

    Bonjour,

    Pour mon premier code PRT, j’essaie le pyramidage.

    Et je suis confronté aux premières difficultés.

    Mon problème : au lancement du programme, j’ai deux ordres d’achats qui se succèdent sans laps de temps, à la même valeur.

    J’ai essayé de forcer l’espacement avec BarIndex mais rien n’y fait et je ne trouve pas l’erreur…

    DEFPARAM CumulateOrders = True
    
    Once nbContracts = 1
    Once palier = 1
    Once palierIndex = 5
    Once myTarget = 10
    Once myStop = 4.5
    Once nbPosMax = 5
    
    If Not OnMarket Then
    Buy nbContracts Contracts At Market
    prevPrice = TradePrice
    index = TradeIndex
    EndIf
    
    c1 = ( Close > (prevPrice + palier*pipSize) )
    c2 = ( CountOfPosition < nbPosMax )
    c3 = ( BarIndex - index > palierIndex )
    
    If OnMarket And c1 And c2 And c3 Then
    Buy nbContracts Contract At Market
    prevPrice = TradePrice
    index = TradeIndex
    EndIf
    
    Set Target pProfit myTarget
    Set Stop pLoss myStop

     

    Si un œil extérieur y trouve quelque chose, son avis serait très apprécié !

    #57574 quote
    Nicolas
    Keymaster
    Master

    au lancement du programme

    Sous ProOrder je pense ? Car en backtest, je n’arrive pas à reproduire ce comportement.

    Je vois 2 problèmes éventuels:

    1. le palier est trop petit (1 point, cela correspond +/- à une valeur de spread “standard”)
    2.  plus plausible, le tradeindex et tradeprice de l’ordre en cours seront disponibles à la prochaine bar et pas directement après avoir posé l’ordre au marché. Pour mémoire, le code est lu au Close et les ordres envoyés à l’Open de la barre suivante

    Pour palier au problème cité en point 2, il faudrait enregistrer les valeurs comme ceci si tu souhaites les utiliser dans la même période:

    prevPrice = Close//TradePrice
    index = Barindex//TradeIndex

    A tester toutefois, pas trop le temps de débugger ce matin 🙂

    Tagener thanked this post
    #57639 quote
    Tagener
    Participant
    New

    Merci pour cette réponse Nicolas !

    J’ai le problème en ProOrder mais aussi en ProBacktest. Voici la copie d’écran de l’achat des premières positions alors que j’ai augmenté le palier à 4.

    Grâce à ta remarque, je me suis dit que le problème pouvait venir du fait que tout était lu à la suite et que donc en arrivant à la condition pour le pyramidage, si TradePrice et TradeIndex sont par défaut sur 0, les conditions étaient toujours validées.
    J’ai alors essayé en mettant les conditions “Not OnMarket” après les conditions “OnMarket” pour que ce ne soit pas considéré “OnMarket” juste après le premier achat mais cela ne change rien…

    #57642 quote
    Tagener
    Participant
    New

    En continuant la réflexion, j’ai trouvé la solution !

    Il suffit de mettre TradePrice et TradeIndex au début du code, cela prend ainsi bien le dernier Trade en compte et pas une valeur par défaut inconnue.

    DEFPARAM CumulateOrders = True
     
    Once nbContracts = 1
    Once palier = 4
    Once palierIndex = 5
    Once myTarget = 10
    Once myStop = 4.5
    Once nbPosMax = 5
    
    prevPrice = TradePrice
    index = TradeIndex
    
    c1 = ( Close > (prevPrice + palier*pipSize) )
    c2 = ( CountOfPosition < nbPosMax )
    c3 = ( BarIndex - index > palierIndex )
     
    If OnMarket And c1 And c2 And c3 Then
    Buy nbContracts Contract At Market
    EndIf
    
    If Not OnMarket Then
    Buy nbContracts Contracts At Market
    EndIf
     
    Set Target pProfit myTarget
    Set Stop pLoss myStop

    Encore merci pour ton aide !

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

Pyramidage – Non respect du palier


Support ProOrder

New Reply
Author
author-avatar
Tagener @tagener Participant
Summary

This topic contains 3 replies,
has 2 voices, and was last updated by Tagener
8 years ago.

Topic Details
Forum: Support ProOrder
Language: French
Started: 01/05/2018
Status: Active
Attachments: 1 files
Logo Logo
Loading...