smallcaps90 ![]() (1022
msg) #479912Posté
le : le 31-03-2006 10:10:23 ====================================================
Bonjour sla, Tu as raison : une moyenne à 30 semaines doit être évidemment paramètrée à P1=30 périodes sur un graphe hebdomadaire et à P1=150 (=30*5) périodes sur un graphe quotidien. C'est à dire que si tu fais apparaître un dyptique comportant un graphe semaine et un graphe jour avec P1=150, Graphe AT Pro conservant la même valeur du paramètre pour les deux graphes, la moyenne du graphe semaine ne correspond pas à ce que tu souhaites. Pour ce qui concerne la définition des phases, c'est moins évident que je ne l'ai laissé supposer...on va voir ce qu'il est possible de faire. Cordialement.
sla ![]() (6
msg) sla' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #482613Posté
le : le 06-04-2006 22:11:11 sla - sla - ====================================================
Bonsoir smallcaps J'utilise quotidiennement ta requête en faisant varier de temps en temps la moyenne et cela me donne satisfaction. Pour la courbure, cela aurait été bien pour éliminer un certain nombre de graphe, mais si c'est difficile laisse tomber.
Offramp ![]() (129
msg) Offramp' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #482685Posté
le : le 07-04-2006 07:28:14 Offramp - Offramp - ====================================================
Bjr à tous. Quelles sont les solutions possibles pour la mise à jour de la base de donnée ? Est ce fiable ? est ce compliqué ? Peut on avoir la totalité du marché action français ? Est il possible d'ecrire un script qui detecte les franchissement de nos propres supports resistances ? Merci pour vos reponses et bons trades.
pallas ![]() (6
msg) pallas' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #489365Posté
le : le 04-05-2006 11:19:35 pallas - pallas - ====================================================
Bonjour à tous, Vu le dynamisme de cette file je suis intéressée par GraphAT mais je voudrais savoir si l'on peut travailler avec les indices, les marchés de taux européens et US et les devises. Est-ce que quelqu'un l'utilise pour réaliser des backtests? Merci de vos réponses
![]() LONGWAY' - ![]() (38
msg) Bonjour Offramp, On peut effectuer des mises à jour facilement de deux manières différentes sur l'intégralité du marché français. Bonjour Pallas, On ne peut effectuer de backtest avec Graphe AT Cordialemen
smallcaps90 ![]() (1022
msg) #490380Posté
le : le 09-05-2006 11:36:21 ====================================================
Bonjour LONGWAY, On peut quand-même effectuer une ébauche de backtest avec GrapheAT Pro ... Voir entre autres : forums/topic.asp?TOPIC_ID=19855 Voir également l'aide complètée par MLOG à ce sujet dans le fenêtre "Règle Indicateur". Cordialement.
![]() LONGWAY' - ![]() (38
msg) Bonjour Smallcaps,
Effectivement mais Graphe AT n'offre pas un réel outil de backtest comme d'autre programmes. J'aurai du être plus précis. Cordialement
Gilda56 ![]() (145
msg) #490673Posté
le : le 10-05-2006 11:04:22 Gilda56 - Gilda56 - ====================================================
Bonjour à vous tous Je viens d'envoyer un petit message à Small pour une règle statistique Efficace le gars longway A bientôt
smallcaps90 ![]() (1022
msg) #490695Posté
le : le 10-05-2006 12:08:02 ====================================================
Bonjour Gilda, Regarde tes messages privés... Cordialement.
smallcaps90 ![]() (1022
msg) #495110Posté
le : le 28-05-2006 09:47:09 ====================================================
Bonjour, A la demande d'Alexandre voici un programme qui calcule "ULTIMATE OSCILLATOR" de Larry Williams. ----------------------------- //============ //Ultimate_Osc //============ //Larry Williams Ultimate Oscillator //le 27/05/2006 // TrueLow(0)=MinVal(Bas,Cloture(1)) Pre_Ach(0) = Cloture-TrueLow X1=Moyenne(Pre_Ach,P1) X2=Moyenne(Pre_Ach,P2) X3=Moyenne(Pre_Ach,P3) TrueRange(0)=MAXVAL(Haut,Cloture(1)) - MINVAL(Bas,Cloture(1)) Y1=Moyenne(TrueRange,P1) Y2=Moyenne(TrueRange,P2) Y3=Moyenne(TrueRange,P3) Si Y1=0 OU Y2=0 OU Y3=0 Alors Ultimate_Osc=0 Sinon Ultimate_Osc=100*(4*(X1/Y1)+2*(X2/Y2)+(X3/Y3))/7 FinSi L30=30 L50=50 L70=70 ----------------------------- Fenêtre Propriétés : ![]() Un exemple de divergence positive : ![]() Un exemple de divergence négative : ![]() édité
le : 28-05-2006 09:51:11
![]() alexandre' - ![]() (203
msg) #495231Posté
le : le 28-05-2006 23:45:55 alexandre - alexandre - ====================================================citation : Cela ne pouvait pas mieux tomber. Le marché nous a fourni deux belles divergences. Un vrai plaisir pour les yeux. Encore merci smallcaps ![]()
glave79 ![]() (11
msg) glave79' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #499089Posté
le : le 13-06-2006 23:02:03 glave79 - glave79 - ====================================================
Bonjour à tous et bravo pour ce forum passionnant. Je suis tout nouveau et j'avoue que je n'ai pas encore pris le temps de parcourir les 77 pages du forum consacré à Graphe AT PRO, mais le peu que j'ai parcouru m'a semblé réellement intéressant. Bref, ma question : je m'intéresse à la moyenne mobile "EPMA". Le sujet a peut être déjà été traité ? Dans ce cas, vous voudrez bien me dire à quel endroit. Si non, j'ai récupéré l'algorithme en code Walbasic : 'Moyenne EPMA (End Point Moving Average) ' Déclaration des variables Dim var as integer Var=LONGUEUR dim r as variant ' résultat intermédiaire dim i as integer ' contrôle de boucle dim c as double ' coefficient de pondération ' on initialise la valeur de 'r' avec le premier élément c = 2 / LONGUEUR * ( 3 * LONGUEUR / ( LONGUEUR + 1 ) - 1 ) r = c * tcrs() ' on calcule l'EPMA en fonction de la longueur demandée for i = 1 to LONGUEUR - 1 c = 2 / LONGUEUR * ( 3 * ( LONGUEUR - i ) / ( LONGUEUR + 1 ) - 1 ) r = r + c * tref( tcrs(), (-i)) next ' on retourne le résultat result = r Est-il possible de le "traduire" en langage de programmation Graphe AT (vraissemblablement oui) ? Cordialement ![]()
smallcaps90 ![]() (1022
msg) #499229Posté
le : le 14-06-2006 12:51:40 ====================================================
Bonjour glave79 et bienvenue...çà vient, çà vient...
michka ![]() (26
msg) michka' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #499707Posté
le : le 15-06-2006 15:42:59 michka - michka - ====================================================
Bonjour à Toutes et Tous Voici un petit programme permettant de tracer les divergences négatives et positives sur l'indicateur du MACD de Hemel pour une période déterminée (paramêtre P4=150 j pour l'exemple). Les paramêtres P1 P2 P3 étant ceux du MACD. Merci de faire vos commantaires. Le programme //MACD de Hemel et tracé des divergences //P1 Période de la moyenne 1 //P2 Période de la moyenne 2 //P3 Période de l'oscillateur //P4 péride étudiée pour les divergence //T_RH() Table du rang de l'historique //T_TY() Table donnant le type //T_D() Table du rang historique de la divergence //T_RT() Table du rang du tableau //init des variables si ranghisto=1 alors i=0 finsi // calcul du MACD de Hemel me1=exposuiv(me1,cloture,p1) me2=exposuiv(me2,cloture,p2) macd_hemel=me1-me2 // Moyenne du MACD mmacd_hemel=exposuiv(mmacd_hemel,macd_hemel,p3) //Oscillateur du MACD osc=macd_hemel-mmacd_hemel si osc>=0 alors osc_vert=osc sinon osc_rouge=osc finsi //Création du tableau de récupération des divergerces si ranghisto>finhisto-p4 alors si macd_hemel(2)>=macd_hemel(1) et macd_hemel(1)<macd_hemel alors t_rh((ranghisto-finhisto)+i)=finhisto-(ranghisto-1) t_ty((ranghisto-finhisto)+i)=-1 t_d((ranghisto-finhisto)+i)=0 t_rt((ranghisto-finhisto)+i)=0 i=i+1 finsi si macd_hemel(2)<=macd_hemel(1) et macd_hemel(1)>macd_hemel alors t_rh((ranghisto-finhisto)+i)=finhisto-(ranghisto-1) t_ty((ranghisto-finhisto)+i)=1 t_d((ranghisto-finhisto)+i)=0 t_rt((ranghisto-finhisto)+i)=0 i=i+1 finsi finsi si ranghisto=finhisto alors j=0 tantque j<i faire // détection des divergences négatives si macd_hemel(t_rh(j))>=0 et t_ty(j)>0 alors k=1 m_pt=-100 tantque k<20 faire si macd_hemel(t_rh(j+k))>=0 et t_ty(j+k)>0 alors si macd_hemel(t_rh(j+k))>macd_hemel(t_rh(j)) alors k=21 sinon i1=macd_hemel(t_rh(j)) i2=macd_hemel(t_rh(j+k)) c1=haut(t_rh(j)) c2=haut(t_rh(j+k)) si i2<i1 et c2>c1 alors pt=(i2-i1)/(t_rh(j)-t_rh(j+k)) si pt>m_pt alors m_pt=pt m_k=k finsi t_d(j)=t_rh(j+m_k) t_d(j+m_k)=t_rh(j) t_rt(j)=j+m_k t_rt(j+m_k)=j finsi finsi finsi si j+k+1>i alors k=21 sinon k=k+1 finsi fintantque finsi // détection des divergences positives si macd_hemel<0 et t_ty(j)<0 alors k=1 m_pt=0 tantque k<20 faire si macd_hemel<0 et t_ty(j+k)<0 alors si macd_hemel(t_rh(j+k))<macd_hemel(t_rh(j)) alors k=21 sinon i1=macd_hemel(t_rh(j)) i2=macd_hemel(t_rh(j+k)) c1=bas(t_rh(j)) c2=bas(t_rh(j+k)) si i2>i1 et c2<c1 alors pt=(i2-i1)/(t_rh(j)-t_rh(j+k)) si pt>m_pt alors m_pt=pt m_k=k finsi t_d(j)=t_rh(j+m_k) t_d(j+m_k)=t_rh(j) t_rt(j)=j+m_k t_rt(j+m_k)=j finsi finsi finsi si j+k+1>i alors k=21 sinon k=k+1 finsi fintantque finsi j=j+1 fintantque // tracer des divergences j=0 tantque j<i faire si t_d(j)<>0 et t_rt(j)<>0 alors si t_ty(j)>0 alors i1=macd_hemel(t_rh(j)) i2=macd_hemel(t_rh(t_rt(j))) tps=t_rh(j)-t_d(j) pente=(i2-i1)/tps k=0 tantque k<=tps faire div_neg(t_rh(j)-k)=(pente*k)+i1 k=k+1 fintantque finsi si t_ty(j)<0 alors i1=macd_hemel(t_rh(j)) i2=macd_hemel(t_rh(t_rt(j))) tps=t_rh(j)-t_d(j) pente=(i2-i1)/tps k=0 tantque k<=tps faire div_pos(t_rh(j)-k)=(pente*k)+i1 k=k+1 fintantque finsi si t_rt(j)>j alors j=(t_rt(j))-1 finsi finsi j=j+1 fintantque finsi Les paramêtres ![]() Un exemple sur AFONE ![]() Bonne journée Michka
smallcaps90 ![]() (1022
msg) #499765Posté
le : le 15-06-2006 17:12:46 ====================================================
Bonjour glave79, Il y aurait beaucoup de choses à dire sur l'EPMA (EndPoint Moving Average)! En principe il s'agit de la courbe obtenue en conservant uniquement le dernier point d'une régression linéaire glissante sur P1 périodes. L'algorithme utilisé est celui de la méthode classique des moindres carrés qui ajuste une droite aux cours sur les P1 périodes retenues comme paramètre en minimisant la somme des carrés de distances des cours à cette droite. Le programme peut-être obtenu dans les exemples fournis par MLOG (Reglin), je te le rappelle ci-dessous. Il revient à Patrick E. Lafferty (voir TASC oct 95 et juin 99) d'avoir tenté d'obtenir la même courbe en utilisant à chaque période une somme pondérée sur P1 cours , y compris le cours actuel. Si on raisonne sur les cours de clôture C, cela donne quelque chose du genre : EPMA(0)=k(0)*C(0)+ k(1)*C(1)+k(2)*C(2)+...+k(P1-1)*C(P1-1) On obtient une bonne approximation de la courbe obtenue par régression linéaire. L'expression donnée par Lafferty, réadaptée aux notations de GrapheAT Pro, est : ![]() Elle se programme facilement sous la forme : //==== //EPMA //==== //EndPoint Moving Average //d'après P.E. Lafferty //le 15/06/2006 // Som=0 i=1 TantQue i<=P1 Faire Tmp=(3*i-P1-1)*Cloture(P1-i) Som=Som+Tmp i=i+1 FinTantQue EPMA=2*Som/(P1*(P1+1)) Je te rappelle ci-dessous le programme de l'indicateur de régression linéaire : //======= //REGLIN //====== // Régression linéaire //d'après exemples MLOG // somx = 0 somy = 0 somxx = 0 somxy = 0 somx2 = 0 somy2 = 0 somxx2 = 0 somxy2 = 0 Pour P1 Cours somx = somx+RangPour somy = somy+Cloture somxx = somxx+ RangPour* RangPour somxy = somxy+ RangPour*Cloture FinPour a = (P1*somxy-somx*somy)/(P1*somxx-somx*somx) //pente de la reg lin b = (somy-a*somx)/P1 //ordonnée à l'origine REGLIN = a*P1+b J'ai regroupé les deux indicateurs dans le même programme pour comparer les tracés obtenus. ![]() EXEMPLE COMPARATIF ![]() L'écart relatif entre les deux courbes dépasse rarement 1%. Cordialement...
77
|