Bonjour la file
Une petite question de programmation
<strong>Comment faire pour changer la couleur de la courbe d'un indicateur ?</strong>
Par exemple pour que la courbe du RSI soit verte au-dessus de 50 et rouge en dessous.
J'ai essayé avec des SI et ALORS mais je me retrouve avec des résultats qui ne ressemble pas à grand chose.
Merci de vos suggestions <img src='http://www.pro-at.com/style/images/icones/icon_smile_wink.gif' border='0' alt='' title='' align='middle' />
Annonce
Réduire
Aucune annonce.
Ads
Réduire
[Graphe AT PRo : programmation]
Réduire
X
-
Invité a répondu
-
bonjour à tous,
sur grapheat peut-on faire apparaitre la valeur d'un indic jour sur un graphique intraday
par exemple, la valeur RSI jour sur un graphe 2H
est-ce possible ?
merci beaucoup
Laisser un commentaire:
-
Bonjour Smallcaps,
Cela me convient fort bien. Je n'aurais pas pu le retrouver .
Bonne journée.
Merci <img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' />
Laisser un commentaire:
-
Bonjour Alexandre,
Je ne crois pas que le KVO ait été posté dans la file.
J'ai dans ma biblio perso une version qui date de 2004. Elle n'est pas optimisée mais elle fonctionne. Je te la poste telle quelle.
<strong>Programme :</strong>
//Klinger Volume Oscillator (KVO) de Stephen Klinger
//smallcaps90 le 09 juin 2004
//Variables :
//P=Prix
//T=tendance
//MQ=mesure quotidienne
//MC=mesure cumulée
//FV=force volume
//R=moyenne expo rapide
//L=moyenne expo lente
//Paramètres :
//P1=recul de calcul de la moyenne expo rapide R
//P2=recul de calcul de la moyenne expo lente L
//P3=recul de calcul de la moyenne expo du signal MKVO
//====================================================
P(0)=Haut+Bas+Cloture
Si P>P(1)
Alors
T(0)=1
Sinon
T(0)=-1
FinSi
Si P=P(1) Alors T=T(1)
MQ(0)=Haut-Bas
Si T=1 ET T(1)=1 Alors MC(0)=MC(1)+MQ
Si T=1 ET T(1)=-1 Alors MC(0)=MQ(1)+MQ
Si T=-1 ET T(1)=1 Alors MC(0)=MQ(1)+MQ
Si T=-1 ET T(1)=-1 Alors MC(0)=MC(1)+MQ
FV(0)=Volume*Absolu(2*(MQ/MC)-1)*T*100
R(0)=Exposuiv(R,FV,P1)
L(0)=Exposuiv(L,FV,P2)
KVO=R-L
MKVO=Exposuiv(MKVO,KVO,P3)
//fin du code
<strong>Propriétés :</strong>
<center><img src='http://images.pro-at.com/forums-bourse/0110/3668_060903.png' alt='' /></center>
<strong>Un exemple :</strong>
<center><img src='http://images.pro-at.com/forums-bourse/0110/3668_060914.png' alt='' /></center>
Comme c'est un oscillateur, on l'utilise (pas seul) de façon classique : divergences (baissière en mai 09, haussière fin juin début juillet 09) et croisements avec sa ligne de signal, voire avec la ligne 0.
Cordialement.
Laisser un commentaire:
-
Bonsoir,
Ayant perdu la programmation du KVO, pouvez vous m'aider à retrouver celle-ci dans la file?
D'avance merci <img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' />
//Le KVO est basé sur les principes suivants:
//· Le range des prix (i.e. plus haut – plus bas) est une mesure du mouvement, et les volumes sont la force derrière le mouvement. La somme plus haut + plus bas + clôture définit la tendance.
// Une accumulation se produit quand la somme du jour est supérieure à celle de la séance précédente. A l’opposé, une distribution se produit quand la somme du jour est inférieure
// à celle de la séance précédente. Quand les sommes sont égales, la tendance existante continue.
//· Les volumes donnent naissance aux changements continuels des prix en intra-day qui sont le reflet des pressions d’achat et de vente.
// Le KVO quantifie la différence entre le nombre d’actions étant accumulées et distribuées sous le nom de "volume force/force des volumes".
// Une force des volumes puissante et en hausse devrait accompagner une tendance ascendante et puis graduellement se contracter avec le temps dans le cadre des étapes finales
// d’une tendance haussière et des premières étapes
//de la tendance baissière qui lui succédera. Cette action devrait être suivie d’une augmentation de la force des volumes reflétant une certaine accumulation avant
//qu’un plus-bas ne se développe.
//· En convertissant la force des volumes en un oscillateur représentant la différence entre une moyenne mobile exponentielle à 34 et une autre à 55 unités de temps,
// avec une ligne de déclenchement qui sera la moyenne mobile exponentielle à 13 unités de temps de cette différence, la force des volumes qui rentre et ressort du titre peut être
// facilement suivie. Ensuite, il suffira de comparer cette force à l’action des prix pour vous aider à identifier des divergences sur des sommets et des creux.
Laisser un commentaire:
-
Vais passer aux backtests..
avec ces P4 et P5....
Merci de nous faire partager ton Expérience...
Bonne fiesta pour cette fin d'Année 2009....!!!
a+ <img src='http://www.pro-at.com/style/images/icones/icon_smile_wink.gif' border='0' alt='' title='' align='middle' />
Laisser un commentaire:
-
Re Ybm,
Difficile à dire.
J'ai fait un petit essai très simple sur Michelin que tu peux reproduire.
J'ai arrêté le processus de calcul des "cycles" en modifiant les 2 instructions :
Si RangHisto>P4 Alors
...
en :
Si RangHisto>P4 ET RangHisto<=P5 Alors
...
J'introduis un paramètre P5 que je décrémente par exemple de la valeur 30 à la valeur 0.
Avec la dernière version de GrapheAT Pro on peut modifier la valeur de P5 dans la fenêtre Propriétés de proche en proche et on utilise la touche "Appliquer" pour visualiser l'effet obtenu.
Sur Michelin voilà ce que j'obtiens.
Je ne te joins pas les courbes car je manque de temps.
Lorsque P5=25, au 24/11/09, il apparaît un "MinorCycleBuy" 2 périodes avant le 20/11/09 donc.
Celui-ci se maintient pour P5=24 puis 23 et il disparaît pour P5=22 donc le 26/11/09.
Pour P5=21, le 27/11/09, un "MajorCycleSell" apparaît une période avant le 26/11/09.
Celui-ci ne disparaîtra plus.
Lorsque P5=14, le 08/12/09, il apparaît un "MinorCycleSell" un jour avant soit le 07/11/09.
Il se maintient jusqu'à ce que P5=8 le 16/12/09 où il disparaît.
Puis lorsque P5=7, le 17/12/09, un nouveau "MajorCycleSell" apparaît une période avant le 16/12/09 . Il ne disparaît plus.
Bon ce n'est qu'un petit essai dont il est difficile de tirer des conclusions définitives.
Néanmoins un signal n'apparaît jamais à la dernière période apparemment. Il vient une période avant au moins.
Les "MajorCycle..." semblent plus stables que les "MinorCycle...".
Une fois établis il ne semblent pas changer (sur l'exemple de Michelin uniquement pour le moment). Faut-il en conclure qu'il ne faille s'intéreser qu'aux "MojorCycle..."?
Ce que l'on peut voir sur la vidéo du blog indonésien est semblable.
Cordialement.
Laisser un commentaire:
-
OK....
j'avais corrigé ce bug...mais tu m'as devancé...!!
A combien de barres " Maximun " estimes-tu l'effet "Repeindre"....généré par ton programme ??
Laisser un commentaire:
-
Re ybm,
Exact P8 n'existe plus dans la version simplifiée.
Il fixe le nombre de périodes situées en début d'historique qui sont éliminées des calculs.
Voici le bug prog corrigé :
//================
//Cycle_Identifier
//================
//v0.1 PROTOTYPE
//29/12/2009
//transcodé par smallcaps90
//à partir de Cycle_Identifier.mq4
//=================================
//==================Ingrédients
//
// Range sur P4 barres
srange=0
Pour P4 Cours
srange=srange+haut-bas
FinPour
Range=srange/P4*P2
//Prix pour l'étude
//ici on peut choisir une zerolag aussi
//sur les clotures ou sur un RSI des clotures
//
CyclePrice(0)=Moyenne(Cloture,P1)
//==================Cycles mineurs
//
Si RangHisto><strong><font color='#FF0000'>P4</font></strong> Alors
Si Switch>-1 Alors
Si CyclePrice<Price1BuyA Alors
Si BuySwitchA=1 Alors
MinorCycleBuy(RangHisto-Price1BuyB)=0
LineBuff(RangHisto-Price1BuyB)=0
FinSi
Price1BuyA=CyclePrice
Price1BuyB=RangHisto
BuySwitchA=1
Sinon //ici CyclePrice>=Price1BuyA
SwitchA=RangHisto-Price1BuyB
MinorCycleBuy(SwitchA)=-1
LineBuff(SwitchA)=-1
BuySwitchA=1
CyclePrice1=CyclePrice(SwitchA)
Cond1= CyclePrice-CyclePrice1>=Range //SweepA
Si Cond1=1 ET SwitchA>=1 Alors
Switch=-1
Price1SellA=CyclePrice
Price1SellB=RangHisto
SellSwitchA=0
BuySwitchA=0
FinSi
FinSi
FinSi
Si Switch<1 Alors
Si CyclePrice>Price1SellA Alors
Si SellSwitchA=1 Alors
MinorCycleSell(RangHisto-Price1SellB)=0
LineBuff(RangHisto-Price1SellB)=0
FinSi
Price1SellA=CyclePrice
Price1SellB=RangHisto
SellSwitchA=1
Sinon
SwitchA=RangHisto-Price1SellB
MinorCycleSell(SwitchA)=1
LineBuff(SwitchA)=1
SellSwitchA=1
CyclePrice2=CyclePrice(SwitchA)
Cond1=(CyclePrice2-CyclePrice)>=Range
Si Cond1=1 ET SwitchA>=1 Alors
Switch=1
Price1BuyA=CyclePrice
Price1BuyB=RangHisto
SellSwitchA=0
BuySwitchA=0
FinSi
FinSi
FinSi
FinSi
LineBuff=0
MinorCycleBuy=0
MinorCycleSell=0
//==================Cycles majeurs
//
Si RangHisto><strong><font color='#FF0000'>P4</font></strong> Alors
Si Switch2>-1 Alors
Si CyclePrice<Price2BuyA Alors
Si BuySwitchB=1 Alors
MajorCycleBuy(RangHisto-Price2BuyB)=0
//LineBuff(RangHisto-Price2BuyB)=0
FinSi
Price2BuyA=CyclePrice
Price2BuyB=RangHisto
BuySwitchB=1
Sinon
SwitchB=RangHisto-Price2BuyB
MajorCycleBuy(SwitchB)=-1
//LineBuff(SwitchB)=-1
BuySwitchB=1
CyclePrice3=CyclePrice(SwitchB)
Cond6= CyclePrice-CyclePrice3>=Range*P3
Si Cond6 ET SwitchB>=1 Alors
Switch2=-1
Price2SellA=CyclePrice
Price2SellB=RangHisto
SellSwitchB=0
BuySwitchB=0
FinSi
FinSi
FinSi
Si Switch2<1 Alors
Si CyclePrice>Price2SellA Alors
Si SellSwitchB=1 Alors
MajorCycleSell(RangHisto-Price2SellB)=0
//LineBuff(RangHisto-Price2SellB)=0
FinSi
Price2SellA=CyclePrice
Price2SellB=RangHisto
SellSwitchB=1
Sinon
SwitchB=RangHisto-Price2SellB
MajorCycleSell(SwitchB)=1
//LineBuff(SwitchB)=1
SellSwitchB=1
CyclePrice4=CyclePrice(SwitchB)
Cond6=(CyclePrice4-CyclePrice)>=Range*P3 //SweepB
Si Cond6=1 ET SwitchB>=1 Alors
Switch2=1
Price2BuyA=CyclePrice
Price2BuyB=RangHisto
SellSwitchB=0
BuySwitchB=0
FinSi
FinSi
FinSi
FinSi
LineBuff=0
MajorCycleBuy=0
MajorCycleSell=0
//fin du code
Si tu veux plutôt utiliser la profondeur de l'historique qui serait examinée, tu pourrais remplacer les deux instructions qui contiennent P4 en rouge gras dans le listing ci-dessus par :
<strong>Si RangHisto>=Finhisto-P4 Alors</strong>
A ce moment là tu donnerais à P4 le nombre de périodes sur lesquelles le calcul serait fait en fin d'historique.
Bon courage avec le bouquin de B. Williams...
Cordialement.
Laisser un commentaire:
-
Smallcaps90..
Sur ton programme..j'ai une erreur "parametre P8 non défini "....!!!
Et j'ai un trou de mémoire car il me semble qu'il s'agit du réglage de la profondeur de l'historique...???
Oui...non ??
merci de m'éclairer..
a+
Laisser un commentaire:
-
Tu as visé dans le mille.....!!!
car sur ma table de chevet...repose " New Trading Dimensions".....de Bill Williams...
le tout en version original....ce qui ne facilite pas la tache...!!!
Awesome Oscillator....est a la base de mon trading..avec " l'impulse de Elder".....
Encore du boulot en supplément..
Quand on aime...on ne compte pas..!!
Merci
a+ <img src='http://www.pro-at.com/style/images/icones/icon_smile_wink.gif' border='0' alt='' title='' align='middle' />
Laisser un commentaire:
-
Bonjour ybm,
Oui tu as raison pour l'indicateur indonésien situé au dessus du CycleIdentifier sur la vidéo.
Il ne repeint pas lui. Il se contente de reprendre les intersections que tu as citées. On retrouve qq explications qui le confirment au dessus du panel qui montre les paramètres du CycleIdentifier.
<center><img src='http://images.pro-at.com/forums-bourse/1209/3668_300900.png' alt='' /></center>
Barres jaunes (Kuning) = croisements + et - du AC de Bill Williams avec la ligne 0 ;
Barres bleues (Biru) = croisements + de la Stoch (5,3,4) avec la ligne 20 ;
Barres rouges (Merah) = croisements - de la Stoch (5,3,4) avec la ligne 80.
Rien de bien nouveau.
Pour ce qui concerne Bill Williams et son système fractal "Profituny", j'avais ouvert un post à ce sujet en 2004 (!) à :
<a href='/ref.php?uri=http%3A%2F%2Fwww.pro-at.com%2Fforums-bourse%2Fbourse-1-14879.html%23314137' target="_blank">http://www.pro-at.com/forums-bourse/bourse-1-14879...</a>
Vu le peu d'intérêt que cela avait suscité, je n'avais pas posté ses indicateurs dans la file ici.
Si cela t'intéresse, le AC(Awesome Accelerator) est un oscillateur de moyennes qui utilise le AO (Awesome Oscillator) qui n'est qu'une sorte de MACD sur moyennes arithmétiques :
//==================================
//AWESOME OSCILLATOR (sorte de MACD)
//de Bill Williams
//19 dec2004
//
AO(0)=MOYENNE((HAUT+BAS)/2,5)-MOYENNE((HAUT+BAS)/2,34)
//AO(0)=MOYENNE(CLOTURE,5)-MOYENNE(CLOTURE,34)
SI AO>AO(1) ALORS
AO_GREEN=AO
SINON
SI AO<AO(1) ALORS
AO_RED=AO
FINSI
FINSI
//===================================
//AWESOME ACCELERATOR (utilise le AO)
//de Bill Williams
//19 dec 2004
//
AC(0)=<strong>AO.AO</strong>-MOYENNE(AO.AO,5)
SI AC>AC(1) ALORS
AC_GREEN=AC
SINON
SI AC<AC(1) ALORS
AC_RED=AC
FINSI
FINSI
J'ai écrit "AO.AO" ci-dessus car je n'avais pas créé le AC comme indicateur dérivé du AO, je devais donc récupérer le AO, d'où la notation.
Le AC est en avance sur le AO du fait de son calcul identique à une pseudo-dérivée.
Voici ce que cela donne avec Michelin :
<center><img src='http://images.pro-at.com/forums-bourse/1209/3668_300942.png' alt='' /></center>
Je ne suis pas entré dans les détails pour ce qui concerne l'utilisation du système indonésien. Apparemment les barres rouges seraient des signaux de sortie et les bleues des signaux d'entrée longue. Je ne sais pas comment sont utilisées les barres jaunes.
Je te laisse le soin de comparer avec le CycleIdentifier qui repeint, parfois, les dernière barres c'est évident avec les lignes du type :
<em>MinorCycleBuy(RangHisto-Price1BuyB)=0
LineBuff(RangHisto-Price1BuyB)=0 </em>
etc.
Cordialement.
Laisser un commentaire:
-
Je viens de me mettre a l'indonésien..!!
ai regardé la vidéo...
barre bleu = croisement sto/20
barre rouge = croisement sto/80
barre jaune = croisement 0 ...exact ???
Si ai bien compris...cela ne repeint pas le passé de facon si évidente ..???
Ton avis..svp <img src='http://www.pro-at.com/style/images/icones/icon_smile_wink.gif' border='0' alt='' title='' align='middle' />
Laisser un commentaire:
-
Re ybm,
Cà n'a pas été facile.
Bon j'ai du simplifier au max et certains paramètres fixés en tête du programme modèle ont disparu. Je me suis demandé s'ils étaient vraiment utiles...
Maintenant, comme tu le dis si bien, c'est à toi que revient de faire le boulot! Bon courage donc.
Cordialement.
Laisser un commentaire:
-
T'es un terrible ,...toi......
Me voila avec un programme au top....
et du boulot pour plusieurs semaines..!!!
Franchement....merci
Si cela intéresse d'autre personnes....la porte est grande ouverte...
a+ <img src='http://www.pro-at.com/style/images/icones/icon_smile_wink.gif' border='0' alt='' title='' align='middle' />
Laisser un commentaire:
Laisser un commentaire: