Take profit à partir d'un niveau de prix

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #92147 quote
    finplus
    Participant
    Master

    Bonsoir,

    voilà, je souhaiterais avoir de l’aide sur le problème suivant : je voudrais que lorsque la plus value entre le prix d’entrée (le trade price si j’ai bien compris) et le close de la bougie précédente (lorsqu’on est long par exemple) dépasse 10 pips (c’est un exemple) et que la clôture de la bougie suivant se fait en dessous de cette différence, la position soit soldée.

    J’ai essayé ce programme mais ça ne fonctionne pas.

    limit10 = 10*pipsize
    
    if ((close[1] - tradeprice) > limit10) and (close < limit10) then
    sell 1 contract at market
    endif

     

    merci d’avance pour votre aide.

    #92224 quote
    Nicolas
    Keymaster
    Master

    Pour débugger, je te suggère de d’abord grapher ta condition:

    graph ((close[1] - tradeprice) > limit10) and (close < limit10)

    Tu verras qu’elle n’est jamais vérifiée, puisque le Close ne peut jamais être inférieure à 10 pips/points: (close < limit10)

    #92487 quote
    finplus
    Participant
    Master

    ah oui. Je mets 11 alors ?

    #92502 quote
    Nicolas
    Keymaster
    Master

    Tu n’as pas compris ce que je voulais dire 🙂

    Dans cette condition:  (close < limit10) , tu testes si le prix est inférieur à 10 points ! Je ne sais pas sur quel instrument tu utilises la stratégie, mais je pense que c’est une erreur 🙄

    #92554 quote
    finplus
    Participant
    Master

    sur le forex exclusivement.

    #92557 quote
    finplus
    Participant
    Master

    j’explique de nouveau : je prends une position (par exemple un achat d’euros contre USD.

    Je rentre au cours de 1,13830. Je suis sur une UT 15 minutes. La clôture de la bougie suivante est à 1,13882. Puis la clôture de la bougie suivante est à 1,14000 soit un gain de 17 pips donc supérieur à 10 pips par rapport à mon cours d’achat. La clôture de la bougie suivante est 1,1392 soit 9 pips donc en dessous de ma limite de 10 pips. Je voudrais alors que le système sorte de ma position.

    En clair, la sortie est déclenchée par le fait que la clôture de la bougie fait passer le gain potentiel en dessous des 10 pips alors que la clôture de la bougie précédente dégageait un gain potentiel supérieur à 10 pips.

    #92606 quote
    Nicolas
    Keymaster
    Master

    Je vois que tu n’as toujours pas compris, dans ton test tu compares le Close qui est de 1.1392 à 0.0010, soit en français :

    Est-ce que 1.1392 est inférieur à 0.0010 ?

    (Close < limit10) ?

    Bref, voilà le code corrigé :

    limit10 = 10*pipsize
    
    if (close[1] - tradeprice > limit10) and (close - tradeprice < limit10) then
     sell 1 contract at market
    endif
    #92656 quote
    finplus
    Participant
    Master

    Merci. c’est vrai que des fois j’ai la comprenette un peu difficile.

    #93097 quote
    finplus
    Participant
    Master

    Bonsoir,

     

    voici le problème que j’ai avec ma sortie de position (en copie).

    quelqu’un peut il m’aider ?

    merci.

    Capture-d’écran-2019-03-07-à-19.27.49.png Capture-d’écran-2019-03-07-à-19.27.49.png
    #93099 quote
    finplus
    Participant
    Master

    voilà les lignes de code pour une position short

     

    limit10 = 10*pipsize
    limit15 = 15*pipsize
    limit20 = 20*pipsize
    limit35 = 35*pipsize
    limit50 = 50*pipsize
    limit80 = 80*pipsize
    limit100 = 100*pipsize

    if (tradeprice – close[1] > limit10) and (tradeprice – close < limit10) then
    exitshort 1 contract at market
    endif

    if (tradeprice – close[1] > limit20) and (tradeprice – close < limit15) then
    exitshort 1 contract at market
    endif

    if (tradeprice – close[1] > limit50) and (tradeprice – close < limit35) then
    exitshort 1 contract at market
    endif

    if (tradeprice – close[1] > limit100) and (tradeprice – close < limit80) then
    exitshort 1 contract at market
    endif

    #93144 quote
    Nicolas
    Keymaster
    Master

    En effet, les clôtures partielles sont possibles en backtest, mais toujours refusées en trading automatique sous ProOrder. Cela sera possible, mais quand je ne sais pas pour le moment, désolé.

    #93224 quote
    finplus
    Participant
    Master

    Bonsoir,

    je ne comprends pas d’où vient ce problème de clôture partielle dans mon code? Y a t il un moyen de solutionner ce problème?

    merci.

    #93331 quote
    Nicolas
    Keymaster
    Master

    Je ne comprends pas ? J’ai répondu à ta question, en trading live, on ne peut toujours pas fermer partiellement les positions, d’ou le message d’erreur que tu as posté.

    #93380 quote
    finplus
    Participant
    Master

    Bonsoir,

    oui en effet. Ma question était de savoir quelle partie de mon code (ou pourquoi mon code) génère cette erreur? Je programme bien la vente d’1  contrat (précédée avant d’un “sell short” pour 1 contrat).

    je ne sais pas si je suis bien clair.

    merci.

    #93419 quote
    Nicolas
    Keymaster
    Master

    Le code génère cette erreur car tu demandes à la plateforme de liquider 1 seul contrat :

    [scode]exitshort 1 contract at market[/scode]

    il faut ne rien spécifier, puisqu’on ferme l’ensemble des ordres à la fois :

    [scode]exitshort at market[/scode]

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

Take profit à partir d'un niveau de prix


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
finplus @finplus Participant
Summary

This topic contains 15 replies,
has 2 voices, and was last updated by finplus
7 years ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 02/23/2019
Status: Active
Attachments: 1 files
Logo Logo
Loading...