smallcaps90 ![]() (1022
msg) Re Chzame, Tu as ici même, dans cette file, une multitude d'exemples traités. En particulier des exemples qui montrent comment programmer des tracés de droites. Voir page 23 le programme de tracé de droites de régression linéaire entre autres. Peut-être as-tu une idée précise pour définir les tracés qui t'intéressent. Dans ce cas je te propose de les énoncer ici-même et je t'aiderai si je peux...
orpale ![]() (1565
msg) orpale' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Un grand merci à SmallCaps et à
son complice Rickenbroc pour leur travail sur GrahtAT... Je me suis amusé à dériver deux indices sur Zerolagmacd. Dessous graph avec amazon.com et les indics. Z'auriez pas un zérolagmacd lissé mâtiné de volatilité et de force relative ?
orpale ![]() (1565
msg) orpale' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Morbleu, ça ne passe pas ! (le
gtraph).* Je réessaye en Gif (j'étais en PNG);
orpale ![]() (1565
msg) orpale' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Toujours pas... On essaye autrement... Ca ne marche toujour pas,.... Ya + simple comme syteme. Morbleu ! en prévisualization que dall... J'envoie, peut-être quéqu'chose apparaitra ?...
édité le : 09-09-2006
23:42:31
bruno_swing ![]() (49
msg) Bonsoir Orpale, ne serait ce pas çà que tu essaies de poster ? ![]() Apparemment, le système n'apprécie pas beaucoup les apostrophes ou les espaces dans les noms de fichier . gif uploadés. Essaie de nouveau en virant ce genre de caractère dans tes noms de fichiers. Bruno.
orpale ![]() (1565
msg) orpale' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Tu l'as retrouvé où ? C'est quoi un gif "uploadé" ? Pardonnez l'intermède, je suis habitué à des systèmes plus simples d'insertions d'images. Je ne comprends pas pourquoi ça n'a pas marché (j'ai relu plusieurs fois l'aide). Merci, si vous avez une explication de me la poster. En revenant aux indics, intégrer du lissage, des notions de volatilité, et de force relative dans des dérivés de MACD me plairait bien.
![]() chzame' - ![]() (384
msg) Smallcaps90, Merci pour ta réponses et je ne manquerais pas de te demander si besoin. Actuellement, j ai pas fini de lire le post en entier et n'en suis qu'au début. J'essaye de programmer impulse mais il ne s'affiche pas correctement (comme démontré sur le post de Rickenbroc), enfin je vais voir ça... Je te tiens au courant, ![]() édité
le : 11-06-2004 02:48:56
smallcaps90 ![]() (1022
msg) Bonjour, Voici le code GrapheAT PRO d'un des systèmes "MESA" de J. Ehlers. Il permet de déterminer le mode dans lequel le cours se trouve : Cycle court terme ou Tendance selon Ehlers. Le programme recherche à chaque instant le cycle dominant présent dans le cours en calculant sa période, sa phase et le rapport signal/bruit en dB. La méthode est basée sur la transformation de Hilbert et les travaux de J. P. Burg sur le "maximum d'entropie" pour extraire d'un signal sa composante sinuisoïdale dominante. On pourra se reporter à la file : "TRAITEMENT DU SIGNAL, systèmes dynamiques autoadaptatifs" du forum " Recherche et systèmes" pour trouver plus de renseignements sur ces techniques. Le programme comporte plusieurs indicateurs à placer dans un même répertoire : ![]() PROGRAMME :
Propriétés : ![]() INDICATEUR PHASE : ---------------------------- <font size="1">//TRENDLINE DE J. EHLERS //CALCUL DE LA PHASE DU CYCLE DOMINANT (en degrés) //v 1.2 du 02/06/2004 // SI RANGHISTO>5 ALORS PRIX(0) = PERIODE.PRIX PERIODE(0) = ENTIER(PERIODE.V5) PARTIE_REELLE = 0 PARTIE_IMAGINAIRE = 0 K = 0 TANTQUE K<PERIODE FAIRE //calculs en radians PARTIE_REELLE = PARTIE_REELLE + SIN(2*PI*K/PERIODE)*PRIX(K) PARTIE_IMAGINAIRE = PARTIE_IMAGINAIRE + COS(2*PI*K/PERIODE)*PRIX(K) K = K+1 FINTANTQUE SI ABSOLU(PARTIE_IMAGINAIRE)>0.001 ALORS DCPHASE_RAD = ATAN(PARTIE_REELLE/PARTIE_IMAGINAIRE) DCPHASE_DEG = 180*DCPHASE_RAD/PI FINSI SI ABSOLU(PARTIE_IMAGINAIRE)<=0.001 ALORS SI PARTIE_REELLE>=0 ALORS SIGNE_PARTIE_REELLE=1 SINON SIGNE_PARTIE_REELLE=-1 FINSI DCPHASE_DEG = 90*SIGNE_PARTIE_REELLE FINSI DCPHASE_DEG = DCPHASE_DEG + 90 SI PARTIE_IMAGINAIRE<0 ALORS DCPHASE_DEG = DCPHASE_DEG + 180 //SI DCPHASE_DEG>315 ET DCPHASE_DEG<=360 ALORS DCPHASE_DEG = DCPHASE_DEG - 360 PHASE = DCPHASE_DEG DELTA_PHASE = PERIODE.DELTA_PHASE FINSI</font id="size1"> ---------------------------- Propriétés : ![]() INDICATEUR RSB : ---------------------------- <font size="1">//TRENDLINE DE J. EHLERS //CALCUL DU RAPPORT SIGNAL/BRUIT (RSB en dB) //v 1.0 du 12/06/2004 // L6 = 6 SI RANGHISTO<=8 ALORS RSB(0) = 0 RANGE(0) = 0 EN_PHASE(0) = 0 EN_QUADRATURE(0) = 0 FINSI SI RANGHISTO>8 ALORS PRIX(0)= PERIODE.PRIX //Détermination des composantes en phase et en quadrature //Transformation de Hilbert // RANGE(0) = 0.2*(HAUT-BAS) + 0.8*RANGE(1) V1(0) = PRIX-PRIX(6) V2(0) = V1(3) V3(0) = 0.75*(V1-V1(6))+0.25*(V1(2)-V1(4)) EN_PHASE(0) = 0.33*V2+0.67*EN_PHASE(1) EN_QUADRATURE(0) = 0.2*V3+0.8*EN_QUADRATURE(1) //Lissage du rapport signal/bruit // V2 = 0.2*(EN_PHASE^2 + EN_QUADRATURE^2) + 0.8*V2(1) //Calcul du rapport signal/bruit lissé // SI V2<0.001 ALORS V2=0.001 SI RANGE>0 ALORS RSB = 0.25*(10*LOG10(V2/(RANGE^2))+4.7) + 0.75*RSB(1) FINSI FINSI</font id="size1"> ---------------------------- Propriétés : ![]() INDICATEUR SINEWAVE : ---------------------------- <font size="1">//TRENDLINE DE J. EHLERS //CALCUL DU SINEWAVE et du LEAD_SINEWAVE //(Sinus de la phase et ce même sinus avancé de 45°) //v 1.5 du 01/06/2004 // SI RANGHISTO>5 ALORS PHASE = PI*PHASE.DCPHASE_DEG/180 SINEWAVE = SIN(PHASE) LEAD_SINEWAVE = SIN(PHASE + PI/4) FINSI</font id="size1"> ---------------------------- Propriétés : ![]() INDICATEUR TRENDLINE : (A afficher sur les cours...) ---------------------------- <font size="1">//TRENDLINE INDICATOR DE J. EHLERS //CALCUL DE LA TRENDLINE ET DU FILTRE DE KALMAN //(Utilisés comme 2 moyennes mobiles adaptatives en mode Tendance) //v 1.0 du 02/06/2004 // SI RANGHISTO>5 ALORS PRIX(0)=PERIODE.PRIX PERIODE = ENTIER(PERIODE.V5) TRENDLINE = 0 J = 0 TANTQUE J<PERIODE+2 FAIRE TRENDLINE = TRENDLINE + PRIX(J) J = J+1 FINTANTQUE SI PERIODE>0 ALORS TRENDLINE = TRENDLINE/(PERIODE+2) //Filtre de Kalman 0 lag // KALMAN = 0.33*(PRIX + 0.5*(PRIX-PRIX(3))) + 0.67*KALMAN(1) SI RANGHISTO<26 ALORS TRENDLINE = PRIX K = PRIX FINSI FINSI</font id="size1"> ---------------------------- Propriétés : ![]() Un exemple avec A NOVO : ![]() Quelques explications succinctes : En A, le filtre de Kalman croise à la hausse la Trendline, la période du cycle dominant est d'environ 14 jours. On compte le nombre de jours qui s'écoulent à partir de ce croisement. Si Kalman ne croise pas la Trendline à la baisse avant un demi-cycle, soit 7 jours, nous sommes en mode Tendance. Ce qui est le cas ici. On prend position à l'achat. On vend dès que Kalman croise la Trendline à la baisse. Ceci se produit en B. On quitte alors le mode Tendance pour entrer en mode Cycle. On se positionne à l'achat en C au croisement vers le haut du Sinewave par son signal Lead-Sinewave. On revend en D lorsque le croisement se fait vers le bas entre ces deux mêmes courbes. L'encadré 1 montre la forme quasi-parfaite du sinus de la phase pendant ce cycle, alors que l'encadré 2 montre la variation parfaitement linéaire de la phase de 0° à 360° (ce n'était pas le cas pendant la période de Tendance de A à B). On peut remarquer aussi la valeur du signal rapport/bruit > 6dB pendant cette phase de C à D, ce qui conforte l'hypothèse du cycle dominant.
édité le : 11-09-2006
22:00:23
FOKI ![]() (2011
msg) FOKI' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Bonjour smallcap J'ai suivi tes infos pour la prog de ces indicateurs mais quand je fais tester le prog "Phase" sur graph AT, il me met une erreur sur : PERIODE.DELTA_PHASE Il ne connait pas cette bête !!!
Laisser au marché, nous donner la direction...
smallcaps90 ![]() (1022
msg) Bonjour FOKI, Tu as du copier la première version que j'ai corrigée ensuite. En effet on la voit apparaître maintenant dans les Propriétés du programme "PERIODE" (ligne : Courbe 5), ce qui permet de la transmettre sans problème au programme "PHASE". En réalité la variable "DELTA_PHASE" n'est pas utilisée dans le programme "PHASE". Je l'y ai juste introduite une effectuer une vérification sur son évolution. Tu peux donc au choix : - effacer cette ligne du programme "PHASE" si tu ne souhaites pas utiliser la variable "DELTA_PHASE"; - ou recopier la dernière version corrigée dans mon post. édité
le : 15-06-2004 12:03:46
FOKI ![]() (2011
msg) FOKI' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Merci Smallcap Laisser au marché, nous donner la direction...
FOKI ![]() (2011
msg) FOKI' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Pour Smallcap Est ce que cela serait compliqué de faire une règle de stat dans graph at sur le croisement (Jour,semaine) de trendline / kalman.
Laisser au marché, nous donner la direction...
pwaget ![]() (534
msg) pwaget' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Bravo encore une fois Smallcaps90
! Je viens de jeter un coup d'oeil au site de Ehlers : www.mesasoftware.com, où
on peut trouver un ensemble de textes librement accessibles pour avoir des détails
sur la méthode. Ce qui serait génial, ce serait d'avoir directement les barres
de cours colorées de couleurs différentes selon que l'on est en phase de Cycle
ou de Trend, comme le fait le logiciel Mesa. Tu penses que c'est possible, Smallcaps90
?
smallcaps90 ![]() (1022
msg) Re FOKI, Cà n'est pas très compliqué. Tu as tous les éléments en main pour le faire...
smallcaps90 ![]() (1022
msg) Bonsoir Pwaget, Merci pour tes encouragements, mais je n'ai fait que traduire un programme écrit par Ehlers en Easy Langage avec celui de GrapheAT Pro qui en est assez proche en fait. Pour ce qui concerne la détermination des périodes en mode tendance ou en mode cycle, Ehlers utilise un autre indicateur qui est égal à 0 si les cours sont en mode cycle et égal à 1 en mode tendance. Je ne l'ai pas encore introduit, cela peut se faire ou encore comme tu le dis, colorier les barres (ou les chandeliers) des cours d'une couleur différente selon le mode. Je vais voir çà...
30
|