Author

Topic: Code / script indicateurs (Read 286 times)

sr. member
Activity: 505
Merit: 327
Partage des connaissances pour évoluer.
April 12, 2021, 01:09:34 PM
#6
Ok, sa dépasse largement mon domaine d'expertise.

Pour analyser sa, tu ne peux pas te baser uniquement sur l'historique du cours. Tu a besoin d'autre data en corrélation (ou pas) avec ce que tu analyse.
Par exemple pour la crise de 2008, les data des prêts hypothécaires américains t'indiquez que il y a un problème sur un secteur en particulier, mais rien n'indiquer que sa aller déclencher une crise mondial car on avais pas accès sur le fait que ces prêts hypothécaires étais noyer dans d'autre titres vendu sous une autre appellation.

Un autre exemple d'aujourd'hui, on vois bien que il y a un problème avec la masse monétaire actuelle par a port au contraction de l'activité économique. Pourtant tout les indicateurs sont dans le vert. Ce qui démontre qu'ils nous manque certaine data au quelle on a pas accès.

Avoir un signal pour les gros krachs qui ont lieu tous les 10 ans et utopique. Chaque bulle spéculative se forme selon une dynamique bien à elle, quand les prix exagérément élevés finissent par chuter, le marché fait alors son retour aux fondamentaux. Donc ton indicateur doit définir le prix du fondamental, ce qui est utopique.

10/20 ans, c'est pas du trading mais de l’investissement, des signaux de trading ne te serais d’au-qu’une utilité. Une analyse uniquement sur le cours, t'aide dans des petites timeframe comme du swing trading ou du scalping mais sa pourra pas te donner une tendance sur des années.
Dans ton cas un stop loss bien placer que tu augment avec le temps, est la seule chose qui pourra t'aider si il y a un krachs.

Visiblement tu a de très bonne compétence dans le domaine, tu devrait plus tôt te concentrez sur un trailing stop automatique selon les infos des indicateurs existant, qui protégera tes investissements.
Sa me ferait plaisirs d’échanger avec toi si on se voit un jour dans une conférence.
full member
Activity: 225
Merit: 106
April 11, 2021, 05:56:50 PM
#5
Quand je parle de psychologie du marché, je pense aux mouvements de foule (centres commerciaux, stades, gares ...) où tout le monde se suit, où des couloirs de flux se mettent en place sans que personne ne l'ai organisé. Ces mouvements de foules ne sont pas dangereux dans 99% des cas. Mais le reste du temps, ces mouvements deviennent catastrophiques : morts, blessés ...
Etudier la psychologie du marché c'est essayer de comprendre si l'on est au temps T dans un contexte de mouvements constructeurs ou destructeurs.

J'essaye d'imaginer un indicateur qui permettrait de mesurer cet état des foules. On me dira, la foule c'est moi ... impossible de s'en extraire qd on est un petit particulier. Cependant l'exercice m'amuse ! Vous aussi j'espère ...

En fait toute ma réflexion découle d'une video youtube : https://www.youtube.com/watch?v=OR0g7zwkGyg . Qui elle meme s'inspire de travaux d'économistes. Je trouve que leur outil "la méthode des maçon" est pas mal. Ils développent cet outil plus en détail ici : https://www.youtube.com/watch?v=F0IwyPj49oU

Biensûr ces gens survendent leur outil. Derrière ils essaient de vendre des lettres d'investissements et des trucs du genre. Mais en attendant leur approche est séduisante. Et pour en revenir à leur outil de stratégie des maçons, j'ai l'impression que tout simplement ils nous vendent une médiane ...

Quand je parle d'avoir une médiane qui se base sur la psychologie des marchés, c'est essayer d'avoir un indicateur, un outil macro qui permettrait de palper quand on est sur une ligne de crête, qu'on est tout proche d'un point de non retour, avant de s'orienter vers un baisse importante du marché (US, CAC, DAX, HSI ...) de 20/30/50%. Peut -être que l'on pourrait schématiser ça par une balance ou d'un coté on à l'euphorie et de l'autre la peur.
Il y a le VIX, mais en effet, quand le vix est au sommet, c'est deja trop tard pour vendre. Du coup je m'amuse à chercher quelque chose d'autre, sans prétentions ... L'idée de médiane me plait mais je ne sais pas ce que ça donne et je veux bien croire que ca serait trop facile pour que ça marche totalement. C'est pour ça que j'aimerais bien tester ça sur tradingview. Je rêve en me disant que ça peut marcher ... un peu ...  Grin Grin Grin



Qu'est-ce que tu entend par très long terme ? C'est un ou deux ans ?
Sa risque plus tôt de te faire perdre 2/3% si tu attend un signal sur un indicateur en retard sur le cours.


Beaucoup plus. Quand je dis long terme c'est du 10/20 ans et plus si l'âge le permet ...

L'idée c'est d'avoir un signal pour les gros krachs qui  ont lieu tous les 10 ans en moyenne : Crise de 2008, crise DOT.com année 2000, crise du black monday en 87 etc ... Est ce que finalement ces gros krachs boursiers n'envoyaient pas déjà des signaux avant d'arriver à maturité ? Si oui alors quels sont-ils ?

HC
sr. member
Activity: 505
Merit: 327
Partage des connaissances pour évoluer.
April 10, 2021, 11:38:47 AM
#4
Et si on se base, avec la médiane, sur la psychologie des marchés pour acheter/vendre, c'est toujours rappé selon toi ?

Tu pourrait approfondir, ce que tu entend par "psychologie des marchés" ?
Si tu lisser les données avec le moins de décalage possible, tu te retrouve en retard sur le mouvement du cours. Sa te donne une tendance mais pas un signal.
Du coup un macd, un rsi ou un momentum rsi te donnerait des infos plus pertinente.

Mais j'essaie de me placer sur du très long terme avec des indicateurs macros. Je me dis que peut-être ça peut aider pour couper certaines pertes. L'objectif ce n'est pas de faire du 20%par an mais si ça peut permettre d'ajouter 2/3% par an, sur du long terme, par rapport à un simple hold du sp500 ; ça serait déjà énorme .

Qu'est-ce que tu entend par très long terme ? C'est un ou deux ans ?
Sa risque plus tôt de te faire perdre 2/3% si tu attend un signal sur un indicateur en retard sur le cours.

De toute façon je sais bien que l'on ne peut pas rivaliser non plus avec les bots de trading détenus par les banques et traders pros qui doivent injecter des millions dedans et passer des contrats avec les brokers.

En fait, si, tu peux très bien rivaliser avec les bots de trading détenus par les banques, c'est pas les millions qui compte mais l’idée de base. Si tu arrive a trouver l’équation parfaite.
Les bots des banques son assez standard, qui font essentiellement de l'arbitrage.

Je ne suis pas du tout un expert des script de tradingview mais visiblement tu a un problème avec la déclaration de la variable rmo.
full member
Activity: 225
Merit: 106
April 10, 2021, 08:00:54 AM
#3
Salut, merci pour ton retour !

Et si on se base, avec la médiane, sur la psychologie des marchés pour acheter/vendre, c'est toujours rappé selon toi ?

De toute façon je sais bien que l'on ne peut pas rivaliser non plus avec les bots de trading détenus par les banques et traders pros qui doivent injecter des millions dedans et passer des contrats avec les brokers.

Mais j'essaie de me placer sur du très long terme avec des indicateurs macros. Je me dis que peut-être ça peut aider pour couper certaines pertes. L'objectif ce n'est pas de faire du 20%par an mais si ça peut permettre d'ajouter 2/3% par an, sur du long terme, par rapport à un simple hold du sp500 ; ça serait déjà énorme .

J'ai trouvé un nouveau script qui est pas mal pour la médiane. C'est le "Recursive Median Oscllator". Le connaissez-vous ? J'aimerais bien le backtester sur trading view. Quelqu'un saurait ajouter les lignes de code dans le script ci-dessous pour pouvoir backtester sur trading view ?

Script original :

//@version=3
// Copyright (c) 2018-present, Alex Orekhov (everget)
// Recursive Median Oscillator script may be freely distributed under the MIT license.
study("Recursive Median Oscillator", shorttitle="RMO")

medianLength = input(title="Median Length", type=integer, minval=1, defval=5)
lowpassLength = input(title="Lowpass Length", type=integer, minval=1, defval=12)
highpassLength = input(title="Highpass Length", type=integer, minval=1, defval=30)
src = input(title="Source", type=source, defval=close)

median = percentile_nearest_rank(src, medianLength, 50)

PI = 2 * asin(1)

alpha1Arg = 2 * PI / lowpassLength
alpha1 = (cos(alpha1Arg) + sin(alpha1Arg) - 1) / cos(alpha1Arg)

rm = 0.0
rm := alpha1 * median + (1 - alpha1) * nz(rm[1])

alpha2Arg = 1 / sqrt(2) * 2 * PI / highpassLength
alpha2 = (cos(alpha2Arg) + sin(alpha2Arg) - 1) / cos(alpha2Arg)

rmo = 0.0
rmo := pow(1 - alpha2 / 2, 2) * (rm - 2 * nz(rm[1]) + nz(rm[2])) + 2 * (1 - alpha2) * nz(rmo[1]) - pow(1 - alpha2, 2) * nz(rmo[2])

rmoColor = rmo >= 0 ? #0ebb23 : red

plot(rmo, title="RMO", linewidth=2, color=rmoColor, transp=0)

hline(0, title="Zero Level", linestyle=dotted, color=gray)



J'ai essayé d'ajouter ce bout de script pour backtester sur tradingview :

long = rmo > 0
short = rmo < 0

start = timestamp(2011, 04, 08)
end = timestamp(2021, 04, 08)

if time >= start and time <= end
    strategy.entry("long", strategy.long, 1.0, when = long)
    strategy.entry("short", strategy.short, 1.0, when = short)

strategy.close("long", when = short)
strategy.close("short", when = long)



J'ai essayé d'ajouter ce bout de script aussi pour backtester sur tradingview :

long = rmo > 0
short = rmo < 0

mais ça ne fonctionne pas Sad

Quelqu'un saurait écrire le bout de script pour que l'on puisse backtester sur tradingview ?

Merci,
HC


sr. member
Activity: 505
Merit: 327
Partage des connaissances pour évoluer.
April 10, 2021, 12:12:22 AM
#2
Slt,
C'est normal que ton script ne marche pas, les moyenne sont en retard sur le court, si tu attend leur croisement, tu est déjà perdant sur la plupart des trades.
elles sont la pour définir les niveaux mais pas du tout pour donner un signal.

Pour le script avec la médiane tu aura le même problème. ce n'est pas parce que on est tous en moins valus, que le cours va changer de direction.
Ton approche est trop pragmatique, tu ne peux pas avoir des signaux sur des confirmations ou la position d'un indicateur, car c'est déjà trop tard.
full member
Activity: 225
Merit: 106
April 09, 2021, 01:16:05 PM
#1
Bonjour,

j'essaie de mettre en place quelques scripts pour m'amuser et avoir quelques outils de base sur le marché traditionnel et crypto. J'utilise la boite de dialogue de Tradingview pour ecrire/modifier les scripts. J'en ai 2. Le premier est sur l'achat/revente en fonction du croisement des moyennes mobiles et pour le second j'essaie d'avoir une logique d'achat et de vente en fonction d'une médiane (essayer de mesurer quand la plus part des gens sont en benef ou en perte) :

//@version=4
strategy("Moving Average Cross")

ema20 = ema(close, 20)
ema50 = ema(close, 50)

long = ema20 > ema50
short = ema20 < ema50

start = timestamp(2011, 04, 08)
end = timestamp(2021, 04, 08)

if time >= start and time <= end
    strategy.entry("long", strategy.long, 1.0, when = long)
    strategy.entry("short", strategy.short, 1.0, when = short)

strategy.close("long", when = short)
strategy.close("short", when = long)

===> Ce script fonction tel quel mais en faisant un backtest sur tradingview, il ne permet pas de faire de benef. Faudrait essayer de l'améliorer


//@version=4
study("Torben Moving Median", overlay=true)

length = input(13)

price = input(hl2)
smin = lowest(price, length)
smax = highest(price, length)

//initial declarations
median = 0.
guess = 0.
less = 0.
greater = 0.
equal = 0.
maxltguess = 0.
mingtguess = 0.

for j=0 to 10000000 //a greater value signifying infinite loop
    guess := (smin+smax)/2 //guesstimate
   less := 0
   greater := 0
   equal := 0
   maxltguess := smin
   mingtguess := smax
  
   for i = 0 to length-1
        if (price         less := less + 1
         if (price>maxltguess)
            maxltguess := price

         else if (price>guess)
            greater := greater + 1
            if (price               mingtguess := price

         else
            equal := equal + 1

   if (less <= (length+1)/2 and greater <= (length+1)/2)
       break
   else if (less>greater)
      smax := maxltguess
      continue
   else
       smin := mingtguess
       continue

if (less >= (length+1)/2)
   median := maxltguess
else if(less+equal >= (length+1)/2)
   median := guess
else
   median := mingtguess

plot(median, color=close>median ? color.green : color.red, linewidth=2)

Pour le script avec la médiane, je n'ai pas encore le code pour avoir un ordre d'achat ou de vente en fonction du niveau de la médiane. Je cherche à avoir une échelle (en dessous de mon graphique) qui va de -1 à +1 ou quand ma fonction est proche de +1 ça voudrait dire que la plus part des gens sont en plus value ; à 0 = 50% des gens sont en plus value et 50% en moins value ; proche de -1 = on est tous en moins value.
Cette médiane serait sur une période de 250 jours, où l'on compte le nombre de personnes qui sont au-dessus et au dessous du prix en cours.

Par exemple, sur 20 jours : le dernier prix est à 10euros. 10 journées ont coté (moyenne de chaque journée) au dessus de 10euros et 10 journées en dessous. Les 10 journées qui ont coté au dessus gagne 1 point chacune et les journées qui ont coté en dessous prennent 0 points. Au total on a 10 point. 10points divisés par 20 jours = 0.5.

Ce 0.5 correspond au niveau 0 du graphique ou évoluerait la mediane.

Quelqu'un sait-il ajouter ce genre de fonction sur le script de la médiane ?

Merci,
HC !
Jump to: