![]() kiki27' ![]() (1267
msg) Smallcap : clap clap clap je ne sais pas ou tu vas checher tout çà mais puisque le soft fonctionne ce doit etre good :-) Sur les
marchés tout est toujours possible . «//kiki27dt@free.fr » et «short-term-trading.over-blog.com
»
smallcaps90 ![]() (1022
msg) Bonjour, Je place ici un post qui montre comment améliorer légèrement le tracé du SAR avec GrapheAT Pro dernière version. Cela évitera de polluer la file "Parabolique(s) de GrapheAT Pro" du forum "Méthode ATDMF" dans laquelle nous avions abordé le sujet en décembre dernier pour corriger le SAR et le rendre compatible avec celui de ProReal Time. La nouvelle version 3.07 nous offre dorénavant le style "Tirets" de tracé des courbes. Si on l'utilise pour tracer le SAR on a des tirets qui sont pile-poil synchros avec les cours. Il suffit pour cela de remplacer le style de tracé "Parabolique" de la courbe RSAR dans la règle "Règle Bollinger.RBOLL+RSAR" par le type "Tirets" et le tour est joué : ![]() On voit bien le décallage inhérent au style "Parabolique" à gauche qui faisait que le SAR semblait comme décallé par rapport aux cours (point A). Alors qu'avec le type "Tirets" tout se passe bien (point B figure de droite). Bonne journée.
RickenBroc ![]() (88
msg) Bonjour, Merci SmallCaps90 pour l'astuce du tiret... Dans le cadre d'un projet plus vaste, je vous livre un programme qui affiche un ZigZag sur les cours (Pic et creux). C'est grâce aux courbes segments que cela devient possible. Fenêtre propriété: ![]() Le Code: // ZigZag(serie, Taux retournement) // par RickenBroc // P1 P2 // un retracement de au moins P2% par rapport au dernier pic/creux // déclenche un zig ou un zag // P1 <- 0 = Ouverture // <- 1 = Haut // <- 2 = Bas // <- 3 = Cloture Si P1=0 alors serie(0)=Ouverture Si P1=1 alors serie=Haut Si P1=2 alors serie=Bas Si P1>=3 alors serie=Cloture //___ Init pour début historique ___ Si RangHisto=1 alors BARMAX=1 BARMIN=1 VALMAX=serie VALMIN=serie FinSi // si on trouve un creux Si ( (serie < (VALMAX/(1+P2%))) ET (serie = MIN(serie,RangHisto-BARMAX)) ) Alors VALMIN=serie //valeur au creux BARMIN=RangHisto //date du creux A=((VALMIN-VALMAX)/(BARMIN-BARMAX)) //a=(y'-y)/(x'-x) la pente B=VALMIN-A*(BARMIN-barmax) //b=y-ax i=0 //une boucle "Pour n cours" ne trace pas la droite complètement (il manque le 1er point) TantQue(i<=(BARMIN-BARMAX)) Faire //longueur de l'intervalle zig(i)=A*((BARMIN-BARMAX)-i)+B //tracé du segment y=ax+b i=i+1 FinTantQue FinSi // on trouve un pic Si ( (serie > (VALMIN*(1+P2%))) ET (serie = MAX(serie,RangHisto-BARMIN)) ) Alors VALMAX=serie BARMAX=RangHisto A=((VALMAX-VALMIN)/(BARMAX-BARMIN)) B=VALMAX-A*(BARMAX-barmin) i=0 TantQue(i<=(BARMAX-BARMIN)) Faire zag(i)=A*((BARMAX-BARMIN)-i)+B i=i+1 FinTantQue FinSi //__________________FIN DU CODE_________________________ Et l'exemple en couleur: ![]() Cordialement, Rickenbroc
édité le : 14-04-2004
19:13:47et puis il y eu le Big Bang...
smallcaps90 ![]() (1022
msg) Bonsoir Rickenbroc, Echange d'amabilités...bravo pour ton programme "ZigZag". Il est vrai que les nouveaux styles de tracés nous facilitent bien la vie dorénavant. Je rêve de mon côté d'une version 3.08 qui nous permettrait de manipuler facilement de vraies matrices, sans être obligé de les simuler par des vecteurs...
augusseau ![]() (178
msg) slt smallcaps, une matrice, pour
quoi faire? d'un point de vue mathématiques, une matrice n'est n'une série finie de vecteurs... carca
smallcaps90 ![]() (1022
msg) Bonsoir Augusseau, Pourquoi des matrices me demandes-tu? Tout simplement pour pouvoir traiter les régressions polynomiales, trigonométriques... et quelques autres petites choses avec GrapheAT Pro. Oui pour l'instant c'est ce que je fais...je mets les colonnes de mes matrices à la queue leu-leu dans des variables historisées vues comme des vecteurs. Pas toujours très facile de gèrer les indices! Cà va à peu près quand on va dans le sens RANGHISTO=1 vers RANGHISTO=FINHISTO. Mais dans l'autre sens....oufffffff...ce n'est pas la même chanson! J'y avais déjà touché avec la programmation des splines cubiques. Programmer la méthose de Choleski pour résoudre un système linéaire, par exemple, n'est pas aussi facile qu'en C ou en Basic... A propos Augusseau, qu'a donné l'analyse du CAC que je t'avais envoyée en message perso? Pas si fausse finalement... Bonne soirée.
providence ![]() (14121
msg) Merci RickenBroc. Quel est l'intérêt de ces régressions par rapport à la régression linéaire Smallcaps90?
RickenBroc ![]() (88
msg) Bonjour Providence, Les ZigZag ne sont pas des regressions (au sens mathématique du terme) mais plutôt un tracé de sommets en sommets à partir d'un pourcentage de retracement. Dans Stocks & Commodities de mars, le ZigZag est utilisé comme outil pour automatiser la recherche de configuration en triangle, ce que je me proposait de développer dans GrapheAT pro dans le module statistique... On peut également l'utiliser comme référence pour un apprentissage supervisé (neuronal ou flou ou les 2). En ce qui concerne les référentiels temporels mouvants, c'est sûr, ça fait phosphorer à chaque problématique de boucle... Cordialement, Rickenbroc et puis il y eu le Big
Bang...
smallcaps90 ![]() (1022
msg) Bonjour Providence, L'intérêt est de coller davantage à la réalité. Regarde les deux figures ci-dessous : ![]() ![]() Laquelle préfères-tu? Et puis il y a aussi les Sigma-Bands. Il faudra bien qu'on parvienne à les programmer dans GrapheAT Pro.
xave06 ![]() (2329
msg) Rickenbroc, merci pour ton soft sur zig-zag,je viens de l'installer sur mon log par simple copier/coller et ça marche super bien,j'ai juste ramené le pourcent de variation à 5%. Je vais peut-être pouvoir enfin essayer de me remettre à elliot avec de meilleurs repères. Entre toi et smallcaps90 vous me filez le tournis car vous programmez des nouveautés plus vite qu'on ne peut les essayer,on va vous appeler "les lucky kuke de la programmation"... ![]() xavier
smallcaps90 ![]() (1022
msg) Bonjour Xavier, Il est vrai qu'on a encore du pain sur la planche en développements de toutes sortes si on veut hisser notre logiciel préféré au niveau des soit-disant "logiciels majeurs" auxquels il n'a, à vrai dire, pas grand chose à envier si ce n'est qu'un outil vraiment universel de backtest. Et comme MLOG est vraiment réactif et sait déceler nos besoins, cela va dans le bon sens. Merci pour tes encouragements à poursuivre ces modestes travaux... édité
le : 15-04-2004 14:55:26
xave06 ![]() (2329
msg) Pour smallcaps90 et rickenbroc:
je me permets de solliciter vos connaissances en programmation pour m'aider à résoudre un problème sur lequel je me casse les dents. Je précise que ce script fonctionne parfaitement dans les règles "indicateur". xavier
providence ![]() (14121
msg) Ce que je voulais savoir c'était
l'intérêt des régressions polynomiales, trigonométriques comparées aux régressions
linéaires.Je prefère effectivement une courbe à une droite,mais avec les régressions
linéaires nous en avons déjà grâce au travail de Smallcaps90.
smallcaps90 ![]() (1022
msg) Re Xaxier, Non tu ne fais pas de bourde et ce n'est pas un pb de programmation puisque ton indicateur fonctionne bien. Le pb vient du fait que les statistiques dans GrapheAT Pro sont exécutées pour LE jour que tu sélectionnes uniquement. Donc c'est tout à fait normal qu'il ne Te donne qu'une valeur...celle du jour sélectionné. ![]() Alors si tu veux d'autres valeurs, tu peux changer de jour évidemment mais ce n'est pas très commode. Une solution possible à ton pb, pour l'instant, serait peut-être d'utiliser la règle de backtest "Tradind System 2" qui se trouve dans le dossier "Exemples" de la nouvelle version, en incorporant la règle qui t'intéresse dans l'indicateur "TRADSYS2". Bon courage...
édité le : 15-04-2004
16:09:44
smallcaps90 ![]() (1022
msg) Xavier, Je viens de comparer les courbes de volatilité que donnent ton script et celui que j'ai dans mon prédicteur de pente de la volatilité. Cà ne marche pas. Tu as des saturations à 100% qui apparaissent : ![]() En regardant de plus près ton calcul, tu prends 150 jours comme période de référence pour déterminer les valeurs maxi et mini de BOLLVAR pour calculer ensuite BOLLHISTO. Pourquoi fais-tu cela? Si tu veux avoir une volatilité ramenée entre 0 et 100%, sur la totalité de tes périodes je suppose, il faut que tu procèdes autrement. Voici un script qui fait ce travail : A- D'abord on calcule la volatilité type Bollinger pour la totalité de l'historique----->VOLAT B- Ensuite on la ramène entre 0 et 100%---->VOLATILITY C- Puis, si on veut, on peut chercher les valeurs VOLMAXI et VOLMINI de VOLATILITY sur une durée P1 au choix. D- Et éventuellement faire apparaître une LIMITE basse de VOLATILITY en choisissant un pourcentage P2% de l'écart (VOLMAXI-VOLMINI). ----------------------------------- //Volatility = Volatilité type Bollinger en % // // //A- On calcule d'abord la volatilité type Bollinger //sur tout l'historique VOLAT(0)=100*(UBOLL-LBOLL)/MBOLL //B- Et seulement ensuite on la ramène dans un range 0,100% SI RANGHISTO = FINHISTO ALORS MAXVOL=MAX(VOLAT,FINHISTO) //Valeur maxi de la volatilité sur l'historique //Maintenant on peut la ramener ds le range 0,100% POUR FINHISTO COURS VOLATILITY(0)=100*VOLAT/MAXVOL FINPOUR //C- Ensuite, si on veut, on peut chercher //la volatility max et min sur une certaine durée P1 POUR FINHISTO COURS VOLMINI = MIN(VOLATILITY,P1) VOLMAXI = MAX(VOLATILITY,P1) //D- Et tracer si on veut une limite inférieure de volatilité //qui sera P2%*(VOLMAXI-VOLMINI) LIMITE=P2*VOLMAXI+(1-P2)*VOLMINI FINPOUR FINSI ----------------------------------- Voici ce que cela donne en gardant explicitement le range 0-100 et en ne le gardant pas, ce qui dans ce deuxième cas est meilleur du point de vue lisibilité : ![]() Bien sûr cela ne règle pas ton autre problème de règle statistique.
18
|