smallcaps90 ![]() (1022
msg) Bonjour Xavier, Ok. Tu vois, on parvient toujours à trouver une solution qui marche... ![]() Cordialement. ______________________ Bonjour Edge, Bienvenue au club... Effectivement j'ai oublié cela, Programme du REPULSE_NJ (signifie Répulse N Jours) : ------------------------------------------ //REPULSE d'Anaphraïs à N jours //le 06/09/2005 // N=P1 //pas vraiment utile à vrai dire... PH(0) = 100*(3*CLOTURE-2*MIN(BAS,N)-OUVERTURE(N-1))/CLOTURE PB(0) = 100*(OUVERTURE(N-1)+2*MAX(HAUT,N)-3*CLOTURE)/CLOTURE MPH(0) = EXPOSUIV(MPH,PH,N) MPB(0) = EXPOSUIV(MPB,PB,N) REPULSE_NJ =MPH-MPB M = EXPOSUIV(M,REPULSE_NJ,P2) MREPULSE_NJ = 3*M ------------------------------------------ Propriétés : ![]() C'est ce réglage (à N=3 jours) qui est utilisé dans les exemples de divergences postés ci-dessus et dans lesquels le Répulse est récupéré sans sa moyenne M_REPULSE_NJ. Bon week end.
augusseau ![]() (178
msg) slt a tous pour completer la panoplie d'indicateur, je vous propose un programme sur les stops. il représente des developping stop (introduit par cynthia kase) qui sont basé sur la volatilité (1 ATR, 2 ATR + 10%, 3 ATR+10%) je ne vais pas développer toute la téorie en qq lignes, mais au moins ils ont l'avantage de permettre de suivre une tendance sereinement. Le programme : HT(0)=MAX(HAUT,2) BS(0)=MIN(BAS,2) TR(0) = MAXVAL( MAXVAL(HT-BS,ABSOLU(HT-Cloture(2))), ABSOLU(BS-Cloture(2)) ) ATR(0)=MOYENNE(TR,P1) SDEV(0)=ECARTYPE(TR,P1) DEV1(0)=CLOTURE-ATR DEV2(0)=CLOTURE-ATR-SDEV DEV3(0)=CLOTURE-ATR-2.2*SDEV DEV4(0)=CLOTURE-ATR-3.6*SDEV SI DEV1<DEV1(1) et cloture>DEV4(1) alors DEV1=DEV1(1) SI DEV2<DEV2(1) et cloture>DEV4(1) alors DEV2=DEV2(1) SI DEV3<DEV3(1) et cloture>DEV4(1) alors DEV3=DEV3(1) SI DEV4<DEV4(1) et cloture>DEV4(1) alors DEV4=DEV4(1) DEV5(0)=CLOTURE+ATR DEV6(0)=CLOTURE+ATR+SDEV DEV7(0)=CLOTURE+ATR+2.2*SDEV DEV8(0)=CLOTURE+ATR+3.6*SDEV SI DEV5>DEV5(1) et cloture<DEV8(1) alors DEV5=DEV5(1) SI DEV6>DEV6(1) et cloture<DEV8(1) alors DEV6=DEV6(1) SI DEV7>DEV7(1) et cloture<DEV8(1) alors DEV7=DEV7(1) SI DEV8>DEV8(1) et cloture<DEV8(1) alors DEV8=DEV8(1) //SI CLOTURE>=DEV4(1) ALORS //ALERT=DEV1 //STD1=DEV2 //STD2=DEV3 //STD3=DEV4 //SINON //ALERT=DEV5 //STD1=DEV6 //STD2=DEV7 //STD3=DEV8 //FINSI P1 représente le nombre de jours pour calculer l' aTR pour les courbes le paramétrage est le suivant : ![]() cela donne ![]() Je n'utilise c'est stop que pour le suivi de tendance et non en stop initial. carca
![]() christol ![]() (128
msg) Merci Smallcaps pour les divergences
de REPULSE. Je vais tester différents parametres pour trouver celui qui correspond
le mieux à mon style de trading. Bien cordialement Chris Trade small, don\'t be greedy
lego ![]() (21
msg) lego' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Bonsoir tout le monde, Merci Smallcap pour tes précisions "Ta règle statistique est bien utile pour prolonger l'étude que j'avais postée sur la recherche de l'anticipation des croisements éventuels de 2 moyennes mobiles arithmétiques. Je rappelle qu'il est possible d'utiliser la même démarche avec des moyennes exponentielles ou encore des DEMA. Les formules à employer sont sur le forum." Un petit programme suite au lecture du livre de Robert Edwards et John Magee Bien sur on peut mettre RSI à d'autres valeurs (ex : 30) j'ai mis 15 à nb_périodes pour qu'il balaye la base je suis obligé de faire deux fois POUR NB_PERIODES COURS pour qu'il m'efface pas les variables. Pourquoi divisez en deux (ex : croisement rsi le 29/09/2004 et cours en dessous de la bande le 23/09/2004 , il m'efface le var_boll s' il y a une seul boucle POUR NB_PERIODES COURS). Peut-on faire autrement ? règle statistique colonne1 = texte // RSI < 50 ET CROISEMENT AVEC SA MM et CLOTURE AU DESSOUS DE LA BANDE BOLL (achat à vérifier avec d'autres paramètres bien sur) VAR_SELECT=0 NB_PERIODES=15 POUR NB_PERIODES COURS // rsi en dessous de 50 et croisement Rsi avec sa Moyenne SI RSI<50 ALORS VAR_RSI = 1 SI CROISE(RSI,MRSI)>0 ALORS VAR_RSI = VAR_RSI + 1 FINSI FINSI FINPOUR // cherche si la cloture est au dessous de la bande bollinger NB_PERIODES=15 POUR NB_PERIODES COURS SI CLOTURE<LBOLL ALORS VAR_BOLL= 1 FINSI FINPOUR SI VAR_RSI = 2 ET VAR_BOLL = 1 ALORS COLONNE1 = "RSI - LBOLL " & DATEHISTO$ VAR_SELECT=1 FINSI SI VAR_SELECT=1 ALORS SELECTION FINSI essai avec la date 29/09/2004 Groupe : cac40 Date : 29/09/2004 RSI - LBOLL 29/09/2004 Accor RSI - LBOLL 29/09/2004 Air Liquide RSI - LBOLL 29/09/2004 AXA RSI - LBOLL 29/09/2004 Danone RSI - LBOLL 29/09/2004 EADS RSI - LBOLL 29/09/2004 L'Oreal RSI - LBOLL 29/09/2004 Thales
smallcaps90 ![]() (1022
msg) Bonjour, Super, çà s'anime!... Merci Augusseau pour ton programme de définition des "DevStops" selon C .Kase. Merci aussi Lego pour ta statistique. Je te propose une solution qui fonctionne avec une seule boucle POUR. ----------------------------------------------------------------- // RSI < 50 ET CROISEMENT AVEC SA MM et CLOTURE AU DESSOUS DE LA BANDE BOLL ----------------------------------------------------------------- Deux choses à bien comprendre. Première chose : - le passage sur l'instruction SELECTION arrête l'examen des périodes restantes pour l'action qui est actuellement examinée (le programme sort de la boucle POUR). Comme tu peux le constater, j'ai réintégré cette instruction dans la boucle POUR, donc plus besoin de la variable VAR_SELECT. De cette manière, si ton critère de sélection (VAR_RSI = 2 ET VAR_BOLL = 1) est satisfait, la stat nous indique en COLONNE1 du rapport de statistique : le message "RSI_LBOLL", suivi de la date pour laquelle le critère est satisfait et, du fait, de la présence de l'instruction SELECTION, le nom de l'action concernée. Deuxième chose : - il faut remettre impérativement à 0 : VAR_RSI et VAR_BOLL chaque fois que l'on sort de la boucle POUR, que ton critère de sélection soit satisfait pour l'action en cours ou non. Cette RAZ est réalisée ici en tête de programme, avant de traiter une nouvelle action. Si tu ne réalise pas cette RAZ, les 2 variables VAR_RSI et VAR_BOLL conservent les valeurs qu'elles ont acquises lors de la première boucle POUR, et c'est la panique pour la suite... La fenêtre Propriétés est inchangée. J'ai appliqué ta stat sur le CAC40 en date de vendredi dernier le 09/09/2005 avec un RSI règlé sur 14 et 3 pour le MRSI3. Voici les résultats : Système de Robert Edwards et John Magee programmé par Lego RSI - LBOLL 05/09/2005 AGF RSI - LBOLL 31/08/2005 Air Liquide RSI - LBOLL 31/08/2005 Alcatel RSI - LBOLL 30/08/2005 Arcelor RSI - LBOLL 31/08/2005 AXA RSI - LBOLL 31/08/2005 Bnp Paribas RSI - LBOLL 31/08/2005 Cap Gemini RSI - LBOLL 31/08/2005 Carrefour RSI - LBOLL 31/08/2005 Casino Guichard RSI - LBOLL 29/08/2005 Credit agricole RSI - LBOLL 29/08/2005 Dexia RSI - LBOLL 29/08/2005 France Telecom RSI - LBOLL 29/08/2005 Lafarge RSI - LBOLL 31/08/2005 Lagardere RSI - LBOLL 31/08/2005 Michelin RSI - LBOLL 01/09/2005 Peugeot RSI - LBOLL 06/09/2005 Publicis Group RSI - LBOLL 31/08/2005 Renault RSI - LBOLL 05/09/2005 Sanofi-Aventis RSI - LBOLL 24/08/2005 Schneider RSI - LBOLL 29/08/2005 Societe Generale RSI - LBOLL 05/09/2005 STMicroelectronics RSI - LBOLL 05/09/2005 TF1 RSI - LBOLL 29/08/2005 Vivendi universal Bonne fin de week end. édité
le : 11-09-2005 16:39:44
lego ![]() (21
msg) lego' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Bonsoir et Merci Smallcaps, A vrai dire je croyais que mon programme marchait, eh ben non! heureusement que tu l'as corrigé et expliqué , merci beaucoup, maintenant il faut que je comprends comment ça marche, là il me faut un peu du temps. Prudence, prudence, toujours pour des achats ou des ventes (tendance largement entamée, et puis c'est le marché qui a tj raison etc...) A bientot pour d'autres programmes.
lego ![]() (21
msg) lego' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Suite au corriger de Smallcap,
je vous propose un petit plus , bien sur après c'est à chacun d'ajouter ou d'enlever
les indicateurs qui veulent. Merci encore des précieux conseils de Smallcaps et de tous les autres qui nous permet de comprendre comment fonctionne Graphe At. Sans vous je crois que je suis encore dans les limbes. Ca veut pas dire que j'aie tous compris (j'espère comprendre un peu plus graphe at d'ici quelques mois). // les zones de test en dehors de la boucle sont testés avec la date d’exécution du règle de la statistique // les zones à l’intérieur de la boucle sont testées avec j(0) , j(-1), j(2),…j(15) // RSI < 50 ET CROISEMENT AVEC SA MM et CLOTURE AU DESSOUS DE LA BANDE BOLL //A remettre impérativement à 0 avant l'examen d'une autre action VAR_RSI=0 VAR_BOLL=0 VAR_SELECT=0 VAR_DI=0 SI DIPLUS > DIMOINS ALORS // DI+ doit etre > DI – le jour du passage SI DIPLUS(0) > DIPLUS(1) ALORS // DI+(J) doit être plus grand que DI+(J-1) VAR_DI=1 FINSI FINSI // Le cours de l’action doit être < la moyenne bollinger pour que nb_périodes=15 SI CLOTURE < MBOLL ALORS NB_PERIODES=15 SINON NB_PERIODES=0 FINSI POUR NB_PERIODES COURS // Cloture au dessous de LBOLL SI CLOTURE<LBOLL ALORS VAR_BOLL= 1 FINSI // RSI<50 et croisement à la hausse de MRSI par RSI SI RSI<50 ALORS VAR_RSI = 1 SI CROISE(RSI,MRSI)>0 ALORS VAR_RSI = VAR_RSI + 1 FINSI FINSI SI VAR_RSI = 2 ET VAR_BOLL = 1 ET VAR_DI = 1 ALORS COLONNE1 = "DI- RSI – LBOLL " & DATEHISTO$ SELECTION //A pour effet de sortir de la boucle POUR quand on passe ici FINSI FINPOUR Essai avec la date du 07/09/2005 Groupe : cac40 Date : 07/09/2005 RSI - BOLL - DIPLUS - DIMOINS DI - RSI - LBOLL 01/09/2005 Carrefour DI - RSI - LBOLL 01/09/2005 Peugeot Cordialement
michka ![]() (26
msg) michka' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Bonjour à tous, Ayant quelques soucis de programmation, je me tourne vers les champions de la file pour voir si il est possible de résoudre nom problème. J’essais de récupérer les valeurs des +haut ou +bas dans un tableau ( valb(rang), valh(rang), …,) pour pouvoir les traiter dans la suite du programme (boucle finale) . Lorsque je reprend les valeurs pour les tracer, elles sont toutes à zéro. Une partie du programme // Suivi des +bas si ranghisto=finhisto-dec_fh alors pour nb_je cours // Préparation des données si vp1=0 alors var_b=bas var_b1=bas(1) var_b2=bas(-1) sinon var_b=cloture var_b1=cloture(1) var_b2=cloture(-1) finsi si vp2=0 alors var_h=haut var_h1=haut(1) var_h2=haut(-1) sinon var_h=cloture var_h1=cloture(1) var_h2=cloture(-1) finsi // Recherche des +bas si var_b<var_b1 et var_b<var_b2 alors valb(rang)=var_b1 valh(rang)=var_h1 valr(rang)=ranghisto valt(rang)=0 vbas=10 bas_rang=rang rang=rang+1 finsi // Recherche des +haut si var_h>var_h1 et var_h>var_h2 alors valh(rang)=var_h1 valb(rang)=var_b1 valr(rang)=ranghisto valt(rang)=1 vhaut=10 haut_rang=rang rang=rang+1 finsi finpour finsi // Tracer n=0 tantque n<=rang faire ind=finhisto-valr(n) var1(ind)=valr(n) // var1 est une courbe de l’indicateur n=n+1 fintantque var2=valb(1) ) // var2 est une courbe de l’indicateur Merci de me dire si il y a une erreur ou éventuellement une solution pour réutiliser un tableau de valeur. Cordialement
smallcaps90 ![]() (1022
msg) Bonsoir Michka, Il est tout à fait possible de considérer une variable historisée comme un tableau à une dimension. J'utilise souvent cette solution. On peut aussi généraliser à plusieurs dimensions. La principale difficulté que j'ai rencontrée consistait en la gestion des indices qui permettaient d'accéder aux valeurs stockées dans les tableaux suivant que j'employais une boucle POUR ou une boucle TANTQUE. Cela nécessitait de faire quelques calculs. Pour le pb plus particulier que tu poses, difficile de te répondre vu que tu ne postes qu'une partie du programme, sans cahier des charges... Je suppose, entre autres, que l'indice que tu nommes "rang" est initialisé dans la partie "invisible" du programme... Amha, tes "tableaux" valb et valh ont bien les valeurs que tu y stockes, mais tu ne sais plus où elles sont... Cordialement.
smallcaps90 ![]() (1022
msg) Re Michka, J'ai oublié qq chose d'important dans mon post précédent. A la mise au point de ton programme, pour pouvoir retrouver là où sont placées les valeurs que tu stockes dans tes tableaux, crées donc des courbes correspondantes aux variables dans lesquelles tu les places. Evidemment tu règleras l'affichage de ces "courbes" sur "Aucun" puisqu'elles ne correspondent pas à de vraies courbes que tu souhaites tracer (à moins que tu veuilles le faire...). Ainsi après avoir lancé la règle indic., en cliquant sur l'onglet Jour en haut dans la fenêtre graphique, tu verras apparaître les listes qui correspondent à ces variables. Et tu pourras vérifier si leurs valeurs sont situées aux emplacements corrects....
édité le : 12-09-2005
19:59:45
![]() chzame' - ![]() (384
msg) Bonjour; J'ai acheté GraphAtPro en 2004 et suite à une reinstallation j'ai plus le même code utilisateur par conséquent ma clé d'enregistrement n'est plus valide. j'ai contacté mlog mais pas eu encore de réponse. Est ce quelqu'un a déjà eu ce probléme? Ce n'est pas trés pratique ce systéme si à chaque fois mlog doit fournir une nouvelle clé. J'espére que cela ne va pas poser probléme? L'éditeur de Grapheat est-il tjrs en activité?
lego ![]() (21
msg) lego' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Bonsoir Chzame, Il me semble que sur la page 49, c'est toi qui a expliqué comment reinstallé Graphe at sans à redemander à Mlog la clé. J'ai perdu la clé une fois, Mlog m'a renvoyé une autre clé, mais il faut attendre un peu. SInon il y a la solution Norton Ghost pour sauvegarder ton disque pour la prochaine fois(disque mort - virus...) Cordialement
![]() chzame' - ![]() (384
msg) lol, je vois que tu suis bien Oui, c'etait moi, mais j ai copié le dossier graphatpro sur cd, j ai formate, remis mon dossier et le log a change de code, ou alors j ai pas garde la bonne cle mais ca m etonnerait. En tout cas, j espere que mlog va me croire car là je peux pas utiliser le log. Ca me ![]() En tout cas, je sais pas comment fais mlog pour gerer les cas comme celui ci mais j 'espere qu'il a une solution car moi je formate de temps en temps et si je dois demander une cle a chaque fois!! ![]() Oui, la methode precedente fonctionne mais je sais pas ce qu il s est passe là! soit c est la mise à jour qui a change mon code et lors de la reinstalle j ai vu le pb enfin je sais pas qu en pensez vous? (J'utilise trés peu les images disques, je n'ai pas trop confiance, je ne connais pas trop aussi ![]() édité
le : 12-09-2005 22:55:19
michka ![]() (26
msg) michka' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ Bonjour Smallcaps et merci de me
répondre si vite. Je met le programme au complet avec les courbes pour voir les
valeurs (faisant beaucoup d’erreur de programmation, j’utilise ce moyen pour faire
les vérifications). Je visualise des choses mais ne comprend pas le résultat.
// Init des variables si ranghisto=1 alors valb(0)=0 valh(0)=0 valr(0)=0 valt(0)=0 rang=0 dec_fh=0 // décalage avant finhisto nb_je=100 // nombre de jour etude du suivi des +haut et +bas par raport à finhisto vp1=0 // paramètre pour +bas, vp1=0 -> bas, vp1=1 -> cloture vp2=0 // paramètre pour +haut, vp2=0 -> haut, vp2=1 -> cloture finsi // Suivi des +bas si ranghisto=finhisto-dec_fh alors pour nb_je cours // Préparation des données si vp1=0 alors var_b=bas var_b1=bas(1) var_b2=bas(-1) sinon var_b=cloture var_b1=cloture(1) var_b2=cloture(-1) finsi si vp2=0 alors var_h=haut var_h1=haut(1) var_h2=haut(-1) sinon var_h=cloture var_h1=cloture(1) var_h2=cloture(-1) finsi // Recherche des +bas si var_b<var_b1 et var_b<var_b2 alors valb(rang)=var_b valh(rang)=var_h valr(rang)=ranghisto valt(rang)=1 vbas=valb(rang) bas_r=rang vhaut=valh(rang) var1=valr(rang)/100 haut_r=valt(rang) //courbes rang=rang+1 finsi // Recherche des +haut si var_h>var_h1 et var_h>var_h2 alors valh(rang)=var_h valb(rang)=var_b valr(rang)=ranghisto valt(rang)=2 vbas=valb(rang) bas_r=rang vhaut=valh(rang) var1=valr(rang)/100 haut_r=valt(rang) //courbes rang=rang+1 finsi finpour finsi // Tracer du sup_res n=0 tantque n<=rang faire ind=valr(n) var2(n)=ind //courbe n=n+1 fintantque Sur les courbes, j’ai bien les valeurs car je suis dans la première boucle. Par contre dans la deuxième boucle (tantque) la courbe var2 me donne que la 1er ou 2ème valeur et placée à un endroit que je ne comprend pas. Voici le cahier des charges du programme pour le tracer de la tendance selon F Baron. Une tendance haussière est une succession de +haut (+haut de n> +haut de n-1) avec des consolidations +bas (+bas de n> +bas de n-1). Inversement pour la tendance baissière. Dans le première partie je récupère les +haut et +bas (actuellement tout est récupéré, il faudra par la suite éliminer les intermédiaires). D’où l’utilité du tableau pour faire les tests de la tendance dans la deuxième partie du programme. J’espère aussi utiliser le même tableau pour dessiner les supports/résistances. Je ne sais si j’ai été assez clair. Merci de te penché sur mon problème. Cordialement
sphinx ![]() (91
msg) j'ai été confronté au problème
suite au passage à XP. La clé avait changé. C'était il y a un mois et Mlog m'a
réadressé une clé. Je suppose que le générateur de clé de grapheAT utilise la
configuration de la machine. Certes, je fais des sauvegardes mais si le disque
casse, je risque d'avoir le même soucis. Tant que Mlog répond, pa s de soucis.
Mais si pas de réponse, alors quoi faire?
62
|