Utilisez le dernier swing low comme stopLoss (BackTest)

Viewing 15 posts - 1 through 15 (of 22 total)
  • Author
    Posts
  • #178598 quote
    Vinco67
    Participant
    Junior

    Bonjour,

    comme le titre l’indique j’essaie de configurer le dernier swing low comme stoploss lors de mes backtests.

    Pour le moment j’utilise ceci:

    IF NOT LongOnMarket AND LongConditions THEN
    PosSize = round((capital+STRATEGYPROFIT)*(risk/100))
    BUY PosSize SHARES AT MARKET
    set stop loss lowest[5](low)
    set target profit 4*stopfactor*averagetruerange[10]
    ENDIF

    Mais je me retrouve avec le point bas des 5 dernières barres mais recalculée à chaque barre j’ai l’impression et pas calculée une unique fois au moment de l’entrée (et donc le plus bas sur les 5 barres précédent l’entrée). Comment je peux faire ?

     

    Merci

    #178602 quote
    fifi743
    Participant
    Master

    bonsoir ,

    quelle UT

    #178609 quote
    Vinco67
    Participant
    Junior

    Bonsoir,

    je voulais tester en daily, merci !

    #178623 quote
    Nicolas
    Keymaster
    Master

    Ton code pour placer le stoploss n’est pas correct, tu tentes de le placer à un niveau de prix, hors l’instruction SET STOP LOSS attends une distance.
    Il faut calculer la distance donc, soit le Close actuel auquel on retranche la valeur du plus bas :

    set stop loss (close-lowest[5](low))
    #178830 quote
    Vinco67
    Participant
    Junior

    Désolé pour le retard dans ma réponse, merci pour la précision.

    Je pensais que c’était STOP $LOSS qui attendait une distance en prix… c’était pas clair.

    Merci encore !

    #178838 quote
    Nicolas
    Keymaster
    Master

    On utilise STOP $LOSS pour placer un stoploss sur un seuil de perte en monnaie de l’instrument.

    #178947 quote
    Vinco67
    Participant
    Junior

    Ok donc si j’ai perdu X dollar/euro c’est ça ?

    J’imagine que ce sont les mêmes règles pour les trailing stop, est-ce qu’il est possible de mettre à la fois un trailing stop et un stop classique ?

    Par exemple dans mon cas je veux que le stop soit sur le dernier plus bas sur x bougies, mais ensuite dès que le prix a bougé de x% depuis mon prix d’entrée je passe sur un trailing stop ?

    Merci !

    #181333 quote
    Vinco67
    Participant
    Junior

    Bonsoir !

    Je reviens sur ce post dont la question avait été réglé pour reposer une petite question sur un truc qui m’échappe.

    Dans l’image png liée on voit une opération “aller-retour” sur Apple alors que j’ai un stop comme décrit dans les posts au dessus (avec un stop loss sur le lowest des 5 derniers low).

    Je ne comprends pas pourquoi il déclenche une vente avant un achat ou pourquoi il revend tout de suite alors que le stop est pas touché…

    Merci d’avance

    Capture-décran-2021-11-09-à-19.33.10.png Capture-décran-2021-11-09-à-19.33.10.png
    #181702 quote
    Vinco67
    Participant
    Junior
    #181713 quote
    Nicolas
    Keymaster
    Master

    En effet il y a deux cas de figure, soit il ferme une position qui existe déjà pour en créer une autre, soit il achète et revend immédiatement pour une raison que tu as codé. Tu ne donnes pas le détail des ordres de cette flèche, difficile de répondre.

    Quand on regarde ton image on constate le même phénomène sur le précédent croisement de moyennes mobiles, c’est sans doute une condition liée ? Merci pour le code pour analyse 😉

    #181752 quote
    Vinco67
    Participant
    Junior

    Je mets en pj la capture d’un des cas d’achat/vente sur le même jour, en réalité ça se passe sur 2 jours, c’est la clôture d’un ordre précédent puis une nouvelle entrée… par contre je remarque qu’il y a plusieurs ventes d’affilé souvent 2 ventes dont une correspond à un achat mais pas l’autre du coup puis qu’entre temps y a peu de rachat… Vous verrez sur le graph une croix jaune tout à gauche puis une opération avec double flèche jaune/bleu.

    Je mets également la liste des ordres pour que vous puissiez voir..

    Voilà le code de la stratégie:

    `DEFPARAM CUMULATEORDERS = False
    //Variables
    capital = 15000
    risk = 5
    tpfactor = 10
    lookback = 10
    //Indicators
    ema5 = ExponentialAverage[5](close)
    ema20 = ExponentialAverage[20](close)
    Dp = DIplus[14](close)
    Dm = DIminus[14](close)
    myZeroLagMACD, mySignalMACD, myHistogram = CALL "MACDZeroLag"[26, 12, 9]
    sl = low
    emaConditions = ema5 CROSSES OVER ema20 OR ema5>ema20
    dmiConditions = ((Dp > Dm) OR (Dp CROSSES OVER Dm))
    MacdConditions = myHistogram > 0
    //LongConditions = MacdConditions and StochConditions
    LongConditions = emaConditions AND dmiConditions AND MacdConditions
    SellConditions = (ema5 CROSSES OVER ema20)
    // Conditions pour ouvrir une position acheteuse
    IF NOT LongOnMarket AND LongConditions THEN
    PosSize = round((capital+STRATEGYPROFIT)*(risk/100))
    BUY PosSize CASH ROUNDEDDOWN AT MARKET
    //set stop loss stopfactor*averagetruerange[10]
    set stop loss (close-lowest[5](low))-averagetruerange[10]
    ENDIF
    IF LongOnMarket AND SellConditions THEN
    SELL PosSize CASH AT MARKET
    ENDIF`

     

     

    Merci ! (désolé pour le code a priori il supporte pas les interlignes, faut tout mettre à la suite)

    liste_ordre_apple.png liste_ordre_apple.png exemple_apple.png exemple_apple.png
    #181765 quote
    JC_Bywan
    Moderator
    Master

    Bonjour, code ci-dessus reformaté via CTRL+F5 pour faire réapparaitre le bouton “insert PRT code”, cf https://www.youtube.com/watch?v=jBuqwWPW3H4

    #181768 quote
    Nicolas
    Keymaster
    Master

    Ton code fait des ventes partielles, donc tu sors plusieurs fois (SELL PosSize ..)

    #181781 quote
    Vinco67
    Participant
    Junior

    Comment ça se fait que ce soit des ventes partielles ?

    Vu que je calcule “PosSize” une fois à l’achat, ça devrait sortir l’entièreté de la position lorsque je vends non ?

    #181804 quote
    Roger
    Participant
    Veteran

    Si tu veux sortir toute la position :

     

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

Utilisez le dernier swing low comme stopLoss (BackTest)


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
Vinco67 @vinco67 Participant
Summary

This topic contains 21 replies,
has 5 voices, and was last updated by Vinco67
4 years, 3 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 09/27/2021
Status: Active
Attachments: 3 files
Logo Logo
Loading...