RickenBroc ![]() (88
msg) Bonjour,
![]() Le résultat à; l'écran: ![]() La suite un peu plus tard... et puis il
y eu le Big Bang...
RickenBroc ![]() (88
msg)
Le MACD histo ne me plaisait pas, alors je l'ai redéfini comme suit: Ca, c'est la version redéfinie de MLog que je conserve //==================================================== // MACD //==================================================== ema1 = ema1+(Cloture-ema1) * 2/(1+P1) ema2 = ema2+(Cloture-ema2) * 2/(1+P2) RMACD = ema1 - ema2 // Moyenne exponentielle du MACD RMMACD = EXPOSUIV(RMMACD,RMACD,P3) ![]() Ca c'est ma version de l'histogramme dérivé du MACD redéfini //==================================================== // MACD Histogramme //==================================================== RMACDHISTO = (RMACD-RMMACD)*4 // x4 pour bien le voir MACDS = RMACD MACDL = RMMACD //SI l'histogramme croît, alors en vert Si RMACDHISTO>RMACDHISTO(1) Alors HISTO_POS = RMACDHISTO HISTO_NEG = 0 Sinon //en rouge HISTO_NEG = RMACDHISTO HISTO_POS = 0 Finsi ![]() Et pour finir le résultat à l'affichage (ex carrefour) : ![]() La suite au prochain message! et puis
il y eu le Big Bang...
RickenBroc ![]() (88
msg)
Le thermomètre: //==================================================== // Market Thermometer selon Alexander Elder // p162 de 'Come Into My Trading Room' //==================================================== // Histo de la température TEMPERATURE = MAXVAL(Haut-Haut(1), Bas(1)-Bas) SI TEMPERATURE < 0 ALORS TEMPERATURE = 0 // P1 = longueur de l'EMA MTEMPERATURE = EXPOSUIV(MTEMPERATURE,TEMPERATURE,P1) ![]() Interprétation (4 signaux) - le meilleur moment pour de nouvelles positions est quand la T° < sa moyenne - Sortir des positions quand la T° > 3 x sa moyenne - si la T° reste sous sa moyenne pendant 5 à 7 séances de bourse, il faut s'attendre à un mouvement violent - déterminer l'objectif pour le lendemain (CT): - HA -> obj = moyenne T° + haut(veille) - VAD -> obj = bas(veille) - moyenne T° Un petit graphe: ![]() Dites-moi si tout cela vous intéresse, j'ai encore en magasin le SafeZone, les canaux, le calcul du coefficient des canaux (pas aidé par le language pour celui-là), et le Chandelier Exit. Bon trades, RickenBroc et puis il y eu le Big Bang...
jeopardy ![]() (86
msg) #109962Posté
le : le 16-07-2003 15:38:25 jeopardy - jeopardy - ====================================================
En lalalalala, le copieur ;) Juste une question ca veut dire quoi EXPOSUIV?? Et une autre haut(1)??
RickenBroc ![]() (88
msg)
Bah, je fait comme les autres, j'utilise ce que des gens plus "expérimentés" ont
mis au point... Haut(1) c'est le plus haut de la veille EXPOSUIV c'est la formule pour calculer une moyenne mobile exponentielle donc FI_court c'est la MME à P1 jours (typiquement 2 jours) du volume par la différence du cours de cloture avec celui de la veille
et puis il y eu le Big Bang...
asynergy ![]() (1432
msg) asynergy' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #109991Posté
le : le 16-07-2003 16:06:31 asynergy - asynergy - ====================================================
J'ai tenté de programmer la formule de KST de Martin Pring, mais le résultat est
erroné. Voici ce que j'ai programmé pour le KST COURT TERME : //==================================================== // ROC //==================================================== ROC3 = CLOTURE/CLOTURE(3) ROC4 = CLOTURE/CLOTURE(4) ROC6 = CLOTURE/CLOTURE(6) ROC10 = CLOTURE/CLOTURE(10) MERROC3 = EXPOSUIV(MERROC3,ROC3,3) MERROC4 = EXPOSUIV(MERROC4,ROC3,4) MERROC6 = EXPOSUIV(MERROC6,ROC6,6) MERROC10 = EXPOSUIV(MERROC10,ROC10,8) M1=MERROC3*1 M2=MERROC4*2 M3=MERROC6*3 M4=MERROC10*4 // KST CT KSTCT=M1+M2+M3+M4 MKSTCT=EXPOSUIV(MKSTCT,cloture,8) Sur Metastock la forume est la suivante : (Mov(ROC(C,3,%),3, E)*1) + (Mov(ROC(C,4,%),4, E)*2) + (Mov(ROC(C,6,%),6, E)*3) + (Mov(ROC(C,10,%),8, E)*4) Si quelqu'un veut bien me corriger, Je l'en remercie par avance francis
RickenBroc ![]() (88
msg)
Bonjour, D'après moi le calcul est correct, (il faut juste penserà vérifier que le ROC en % de Métastock donne bien CLOTURE/CLOTURE(periode) et non pas un pourcentage de progression par rapport à la valeur du ROC de la veille). Sinon la dernière ligne me paraît inexacte, si c'est la MME du KSTCT que tu veux. Il faut remplacer cloture par KSTCT, ce qui donne: MKSTCT = EXPOSUIV(MKSTCT, KSTCT, 8) A l'écran cela donne: ![]() Si ce n'est toujours pas bon, donne moi des valeurs du KSTCT calculées par MetaStock, pour comparer. et puis il y eu
le Big Bang...
RickenBroc ![]() (88
msg)
Bon alors ça roule... ====================================================== // The Chandelier Exit selon Alexander Elder // p180 de 'Come Into My Trading Room' // -> sorties de tendances fortes MT // P1: True Range sur P1 jour // P2: Extrème sur P2 jour // P3: coef multiplicateur ATR //pour affichage EMA sur courbe EMA = EXPOSUIV(EMA,Cloture,P1) // ##### VERSION CORRIGÉE ##### // True Range : la plus grande valeur absolue entre // - le plus haut et le plus bas du jour // - le plus haut du jour et la cloture d'hier // - le plus bas du jour et la cloture d'hier TR(0) = 0 TR = MAXVAL( MAXVAL(Haut-Bas,ABSOLU(Haut-Cloture(1))), ABSOLU(Bas-Cloture(1)) ) // ############################ // Average True Range = la moyenne sur P1 jours // P1 = 22 équivaut à 1 mois si l'échelle est le jour ATR(0)=0 ATR = MOYENNE(TR, P1) // Calcul du Chandelier: 2 courbes // tendance haussiere CHANDELIER_UPT = MAX(Haut, P2) - P3*ATR //tendance baissière CHANDELIER_DNT = MIN(Bas, P2) + P3*ATR ========================================================= ![]() Ce qui donne à l'écran: ![]() édité le : 30-07-2003 16:22:46et
puis il y eu le Big Bang...
RickenBroc ![]() (88
msg)
Le SafeZone Je l'affiche de deux manières: - sur la courbe en appliquant un coef - en tant qu'histogramme (dérivé) pour calcul de stops quand les courbes ne sont pas en phase avec les prix. // D'après Alexander Elder // p173 de 'Come Into My Trading Room' // P1 : longueur de la période de recul (entre 10 et 20) // P2 : coefficient multiplicateur de l'écart (entre 2 et 3) EMA = EXPOSUIV(EMA,cloture,22) //Déclaration de données historisées (équivalent à les utiliser comme courbes non affichées) Val_UpPen(0)=0 Top_UpPen(0)=0 Avg_UpPen(0)=0 Val_DnPen(0)=0 Top_DnPen(0)=0 Avg_DnPen(0)=0 // ___ SafeZone en tendance baissière ___ SI(Haut>Haut(1)) ALORS Val_UpPen = Haut-Haut(1) Top_UpPen = 1 FINSI NbPen = SOMME(Top_UpPen,P1) SI(SOMME(Val_UpPen, P1)>0) ALORS Avg_UpPen = SOMME(Val_UpPen, P1) / NbPen FINSI SAFEZONE_DNT = MIN(Haut(1)+P2*Avg_UpPen(1), 3) // ___ SafeZone en tendance haussière ___ SI(Bas(1)>Bas) ALORS Val_DnPen = Bas(1)-Bas Top_DnPen = 1 FINSI NbPen = SOMME(Top_DnPen,P1) SI(SOMME(Val_DnPen, P1)>0) ALORS Avg_DnPen = SOMME(Val_DnPen, P1) / NbPen FINSI SAFEZONE_UPT = MAX(Bas(1)-P2*Avg_DnPen(1),3) ![]() Vous remarquerez la déclaration de deux courbes <Aucun> qui sont utilisées dans l'indicateur dérivé suivant(histogrammes) //pénétrations PEN_BAS= -Avg_DnPen PEN_HAUT = AVG_UPPEN ![]() Ce qui donne : ![]() et puis il y eu le Big Bang...
RickenBroc ![]() (88
msg)
Le Canal D'abord, faisons simple, pour le dessiner: // P1 = longueur de MCANAL // P2 = Coefficient du Canal //MACANAL P1 EMA13=MOYENNE2 MCANAL = EXPOSUIV(MCANAL,cloture,P1) //Ligne haute du canal UCANAL = MCANAL * (1 + P2%) //Ligne basse du canal LCANAL = MCANAL - MCANAL * P2% ![]() Voir le Thermomètre pour le dessin du canal
et puis il y eu le Big Bang...
RickenBroc ![]() (88
msg)
Enfin the big part: le calcul du coefficient de canal. Là c'est un peu plus compliqué. Il n'est pas possible (ou alors j'ai pas compris) de faire une boucle simple dans le language de Graphe AT. La boucle s'opère obligatoirement par balayage des cours, ce qui modifie le pointeur de l'historique. Bref j'aurais aimé pouvoir faire un truc du genre POUR K = 1 à 30 ma routine de calcul FIN POUR Donc là, c'est du copier-coller de la même routine 30 fois jusqu'à obtention du bon résultat (et encore parce que je suppose que K <= 30)... // P1 = nb de pénétrations pendant la période // P2 = longueur de l'historique de calcul K=1 UpPen=0 DnPen=0 POUR P2 COURS SI (Haut>(CANAL.MCANAL*(1+K%))) ALORS UpPen = UpPen + 1 SI (Bas<(CANAL.MCANAL*(1-K%))) ALORS DnPen = DnPen + 1 SI((UpPen>P1) OU (DnPen>P1)) ALORS break FINPOUR SI ((UPPen<=P1)ET(DnPen<=P1)) ALORS STOP // ------ DEBUT PARTIE DU CODE A COPIER/COLLER 28 FOIS ------- K=K+1 UpPen=0 DnPen=0 POUR P2 COURS SI (Haut>(CANAL.MCANAL*(1+K%))) ALORS UpPen = UpPen + 1 SI (Bas<(CANAL.MCANAL*(1-K%))) ALORS DnPen = DnPen + 1 SI((UpPen>P1) OU (DnPen>P1)) ALORS break FINPOUR SI ((UPPen<=P1)ET(DnPen<=P1)) ALORS STOP //---------- FIN PARTIE DU CODE A COPIER/COLLER 28 FOIS ------- ![]() pour calculer K et le reporter dans le P2 de CANAL il suffit alors de cliquer sur le bouton "Tester": ![]() Donc ici K = 8 issu d'un calcul de 4 pénétrations sur 80 jours de cours. et puis il y eu le Big Bang...
RickenBroc ![]() (88
msg)
Voilà. Si vous avez d'autres façon de faire, des améliorations, des extensions, je suis preneur. ![]() En ce qui me concerne, j'utilise plutôt le MACD histo et le ForceIndex(2) en tant qu'oscillateurs (en Journalier) et les MME comme indicateurs de tendances (en Hebdomadaire). Je n'ai pas de flux intraday, et je n'en ai pas besoin pour l'horizon de trading que je me suis fixé. Bien sûr je m'appuie également sur le Elder-Ray (Bull et Bear Power) pour confirmer, mais pour cela je préfère m'assurer que l'Impulse System ne donne pas de signal contraire à mon analyse. Pour le moment je suis encore en phase d'apprentissage et de "ressenti" du marché, mais en backtestant (comme décrit dans le livre), et en appliquant les règles de money management, ça donne de bons résultats. Y'a plus qu'a réunir le capital pour me relancer (ben oui, les warrant m'ont déjà ruiné une fois ![]() ![]() Bon trades et à bientôt, RickenBroc
et puis il y eu le Big Bang...
portalis ![]() (968
msg) #110197Posté
le : le 16-07-2003 21:01:05 portalis - portalis - ====================================================citation : Salut, Je ne suis pas d'accord avec ta formule de l'ATR, voici la composition officiel de cet indicateur: The True Range indicator is the greatest of the following: The distance from today's high to today's low. The distance from yesterday's close to today's high. The distance from yesterday's close to today's low. The Average True Range is a moving average (typically 14-days) of the True Ranges. Perso j'ai programmé un indicateur avec 3 courbes: TR, ATR à 5j et ATR à 20j M1= Haut-Bas M2= Cloture(1)- Haut M3= Cloture(1)- Bas TR = Maxval(MAXval(M2,M3), M1) ATR = MOYENNE(TR, P2) M2ATR = MOYENNE(TR, P1) // P1=5 // P2=20 Sinon tu sais où trouver une documentation sur la façon de programmer graphe AT pro.... pour le moment j'y vais un peu à taton.
providence ![]() (14121
msg) #110204Posté
le : le 16-07-2003 21:41:35 providence - providence - ====================================================
Merci RickenBroc pour tous ces nouveaux indicateurs.Mais cela va m'obliger à acheter
le livre d'Elder. ![]() Merci aussi à Portalis et Asynergy pour leur participation.
portalis ![]() (968
msg) #110247Posté
le : le 17-07-2003 07:03:58 portalis - portalis - ====================================================
Correction pour la formule du True Range: M2 = Haut - Cloture(1)
RickenBroc ![]() (88
msg)
Bonjour, **---------------------------- il a quelques jours je disais: Portalis: la définition du True Range que j'utilise est celle que donne Alexander Elder pour construire son signal de stop: il cherche en fait a dissocier le bruit (la dispersion des prix) de la tendance. Certes, je t'accorde qu'il n'aurait pas du utiliser la terminologie True Range de Welles Wilder. *** bon, j'ai vérifié la définition qu'en donne Alexander Elder, et il utilise le véritable True Range, donc mea culpa, mea maxima culpa. Merci Portalis pour ta perspicacité... **---------------------------- En ce qui concerne la programmation de Graphe AT, à ma connaissance il n'existe que le fichier d'aide de MLog et les quelques exemples qu'il a fourni. Amha, le principe qu'il faut bien intégrer est le fonctionnement des variables qui sont de 2 types: - statique, ex M1 =2 - de type tableau indicé ex: CLOTURE ou une courbe ou une variable déclarée explicitement comme MAVAR(0)=0 L'incide est un pointeur qui pointe la valeur courante - indice jours Ex: dans une boucle, c'est la valeur courante qui varie donc à la fin de la boucle nous sommes au jour le plus récent de l'historique; donc quand on dit CLOTURE(1) on a: 9 8 7 6 5 4 3 2 1 0 ................| ............CLOTURE(1) si dans la boucle la valeur courante est 5 alors on pointe vers 9 8 7 6 5 4 3 2 1 0 ......| ..CLOTURE(1) on peut même alors pointer vers la valeur du lendemain avec: 9 8 7 6 5 4 3 2 1 0 ..........| .......CLOTURE(-1) Une fois qu'on a saisi ce concept, il devient plus facile de programmer les indicateurs. C'est vrai qu'il manque un didacticiel de programmation, mais bon, cette file est aussi là pour aider à mieux utiliser ce nouvel outil de Graphe AT, voire à l'améliorer si MLog nous lit ! Cordialement, RickenBroc édité le : 29-07-2003
09:45:48et puis il y eu le Big Bang...
|