corrélation entre un code et un indicateur

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #182780 quote
    chiva12
    Participant
    New

    Bonjour,

    J’ai crée des indicateurs binaires qui correspondent parfaitement à mes codes (backtests). En dehors du marché l’indicateur est à “0”, lorsque je dois entrer sur le marché mon indicateur passe à “1” et sortie il repasse à “0”.

    J’aurais souhaité programmer mes indicateurs afin qu’ils puissent passer à “0” lorsque mon backtest déclanche au StopLoss. Je n’y arrive pas et c’est sur ce point que j’aurais besoin de votre aide.

    Mes codes sont en “daily” ou “hebdo”, mes stop loss sont en moyenne à 7% de mon prix d’entrée. Sachant que lorsque mon indicateur passe à “1”, je rentre sur le marché à l’ouverture de la barre suivante. Idem pour la sortie (sauf pour le StopLoss qui déclanche instantanément bien sûr).

    Je vous remercie par avance pour votre aide. N’hésitez pas à me recontacter si vous avez besoin de plus de renseignements.

    Bien cordialement

    #182811 quote
    JC_Bywan
    Moderator
    Master

    Bonjour,

    sans code, ni même la nature du stop loss (stop fixe avec commande set stop loss? en points? pending order de type “sell at stop” avec jeu simple ou complexe de condition(s)? avec ou sans arborescence faisant intervenir des choix de stops différents?), la requête est plutôt vague… La probabilité d’obtenir une réponse augmenterait en fournissant, pas forcément tous les codes en entier, mais a minima les lignes de code de backtest relatives au stop, ainsi que ce que tu as déjà tenté pour la partie indicateur qui n’a pas fonctionné, pour y déceler ce qui ne va pas. Au moins pour un des backtests à défaut de tous, si ça peut suffire à t’inspirer des solutions pour les autres. Si ça se trouve tu as déjà presque fini et il n’y a qu’une toute petite modification à apporter au travail déjà fourni…

    #182838 quote
    chiva12
    Participant
    New

    Bonjour,

    Je comprends le manque de précision de ma demande. Ci joint le code et l’indicateur correspondant.

    Merci par avance

    code:

    REM Achat
    
    indicator3 = Average[2](close)
    
    indicator4 = Average[200](close)
    
    c6 = (indicator3 > indicator4) and adx[6] > 20
    
    c7 = (HistoricVolatility[16](close) > 0.12)
    
    c8 = (HistoricVolatility[255](close) > 0.14)
    
    c9 = (RSI[2](close) crosses under 5)
    
    c10 = (close > Average[190])
    
    IF not longonmarket and c6 and c7 and c8 and c9 and c10 THEN
    
    BUY 1 shares AT MARKET
    
    ENDIF
    
    // Vente
    
    c11 = (RSI[2](close) crosses over 94)
    
    IF c11 THEN
    
    SELL AT MARKET
    
    ENDIF
    
    SET STOP%LOSS 7
    
    Indicateur:
    
    //ACHAT
    
    indicator1 = average[2](close)
    
    indicator2 = average[200](close)
    
    c1 = (indicator1 > indicator2) and adx[6] > 20
    
    c2 = (HistoricVolatility[16](close) > 0.12)
    
    c3 = (RSI[2](close) crosses under 5)
    
    c4 = (HistoricVolatility[255](close) > 0.14)
    
    c5 = (close > Average[190](close))
    
    longok = (c1 and c2 and c3 and c4 and c5)
    
    if longok then
    
    flag = 1
    
    ENDIF
    
    //Vente
    
    out = RSI[2](close)
    
    outok2= out crosses over 94
    
    IF outok2 and flag=1 THEN
    
    flag=0
    
    ENDIF
    
    return flag
    #182870 quote
    Nicolas
    Keymaster
    Master

    Un indicateur ne peut pas récupérer les infos d’une stratégie, ou alors j’ai mal compris la question ?

    Dans l’idée, je pense qu’il faudrait donc modifier le code de ton indicateur pour qu’il passe à 0 si le prix a retracer de 6% (soit la valeur de ton stoploss) depuis qu’il est passé à 1, non ?

    #182892 quote
    chiva12
    Participant
    New

    Bonjour,

    Parfaitement, je souhaite rajouter une “condition” au code de l’indicateur afin qu’il passe à “0” si le prix descends de 7% au dessous du prix d’entrée (idem Stop%loss 7 du backtest)

    #182903 quote
    JC_Bywan
    Moderator
    Master

    Bonsoir, a priori on peut tester ainsi: définir un niveau simulé d’entrée à l’open qui suit la bougie du signal, et tester si un low passe sous les 7% de ce niveau, j’ai mis le flag à -1 pour le cas du stop touché à 7% (sans tenir compte d’éventuels spreads selon l’actif traité) afin de mieux voir quand ça arrive, mais on peut tout aussi bien le mettre à 0 comme dans le cas de la vente, c’est juste pour mieux voir.

    (NB: les lignes ajoutées sont 23 et 26 à 31)

    indicator1 = average[2](close)
    indicator2 = average[200](close)
     
    c1 = (indicator1 > indicator2) and adx[6] > 20
    c2 = (HistoricVolatility[16](close) > 0.12)
    c3 = (RSI[2](close) crosses under 5)
    c4 = (HistoricVolatility[255](close) > 0.14)
    c5 = (close > Average[190](close))
    
    longok = (c1 and c2 and c3 and c4 and c5)
    
    if longok then
     flag = 1
    ENDIF
    
    //Vente
    
    out = RSI[2](close)
    outok2= out crosses over 94
    
    IF outok2 and flag=1 THEN
     flag=0
     myentry=0
    ENDIF
    
    if flag[1]=1 and flag[2]=0 then
     myentry=open
    endif
    if flag=1 and low<0.93*myentry then
     flag=-1
    endif
    
    return flag
    #183117 quote
    chiva12
    Participant
    New

    Merci pour ton aide. Je m’excuse de ne pas avoir pu te remercier plus tôt.

    J’ai fais quelques modifications sur le code que tu m’as adressé. Ainsi mon indicateur repasse à 0 quand le StopLoss est activé dans tous les cas.

    Bien cordialement.

    //ACHAT
    indicator1 = average[2](close)
    indicator2 = average[200](close)
    c1 = (indicator1 > indicator2) and adx[6] > 20
    c2 = (HistoricVolatility[16](close) > 0.12)
    c3 = (RSI[2](close) crosses under 5)
    c4 = (HistoricVolatility[255](close) > 0.14)
    c5 = (close > Average[190](close))

    longok = (c1 and c2 and c3 and c4 and c5)
    if longok then
    flag = 1
    ENDIF
    if flag=0 THEN
    myentry=0
    ENDIF
    If flag[1]=1 and flag[2]=0 THEN
    myentry=open
    endif

    //Vente
    out = RSI[2](close)
    outok2= out crosses over 94
    IF outok2 and flag=1 THEN
    flag=0
    ENDIF

    If flag=1 and low<0.93*myentry THEN
    flag=0
    ENDIF

    return flag

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

corrélation entre un code et un indicateur


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
chiva12 @chiva12 Participant
Summary

This topic contains 6 replies,
has 3 voices, and was last updated by chiva12
4 years, 3 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 12/03/2021
Status: Active
Attachments: No files
Logo Logo
Loading...