corrélation entre un code et un indicateur
Forums › ProRealTime forum Français › Support ProBuilder › corrélation entre un code et un indicateur
- This topic has 6 replies, 3 voices, and was last updated 2 years ago by chiva12.
-
-
12/03/2021 at 4:25 PM #182780
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
12/04/2021 at 11:58 AM #182811Bonjour,
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…
12/05/2021 at 9:43 AM #182838Bonjour,
Je comprends le manque de précision de ma demande. Ci joint le code et l’indicateur correspondant.
Merci par avance
code:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273REM Achatindicator3 = Average[2](close)indicator4 = Average[200](close)c6 = (indicator3 > indicator4) and adx[6] > 20c7 = (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 THENBUY 1 shares AT MARKETENDIF// Ventec11 = (RSI[2](close) crosses over 94)IF c11 THENSELL AT MARKETENDIFSET STOP%LOSS 7Indicateur://ACHATindicator1 = average[2](close)indicator2 = average[200](close)c1 = (indicator1 > indicator2) and adx[6] > 20c2 = (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 thenflag = 1ENDIF//Venteout = RSI[2](close)outok2= out crosses over 94IF outok2 and flag=1 THENflag=0ENDIFreturn flag12/06/2021 at 10:21 AM #182870Un 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 ?
12/06/2021 at 5:01 PM #18289212/06/2021 at 6:20 PM #182903Bonsoir, 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)
123456789101112131415161718192021222324252627282930313233indicator1 = average[2](close)indicator2 = average[200](close)c1 = (indicator1 > indicator2) and adx[6] > 20c2 = (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 thenflag = 1ENDIF//Venteout = RSI[2](close)outok2= out crosses over 94IF outok2 and flag=1 THENflag=0myentry=0ENDIFif flag[1]=1 and flag[2]=0 thenmyentry=openendifif flag=1 and low<0.93*myentry thenflag=-1endifreturn flag12/10/2021 at 6:00 PM #183117Merci 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
ENDIFIf flag=1 and low<0.93*myentry THEN
flag=0
ENDIFreturn flag
1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on