You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(32) |
Oct
(144) |
Nov
(14) |
Dec
(44) |
| 2002 |
Jan
(16) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(65) |
Nov
(4) |
Dec
(30) |
| 2003 |
Jan
(84) |
Feb
(101) |
Mar
(58) |
Apr
(30) |
May
(138) |
Jun
(336) |
Jul
(36) |
Aug
(12) |
Sep
(8) |
Oct
(4) |
Nov
(12) |
Dec
(12) |
| 2004 |
Jan
(186) |
Feb
(274) |
Mar
(248) |
Apr
(18) |
May
(104) |
Jun
(48) |
Jul
(144) |
Aug
(98) |
Sep
(60) |
Oct
(72) |
Nov
(32) |
Dec
(130) |
| 2005 |
Jan
(84) |
Feb
(130) |
Mar
(50) |
Apr
(106) |
May
(240) |
Jun
(154) |
Jul
(66) |
Aug
(82) |
Sep
(36) |
Oct
(18) |
Nov
(14) |
Dec
(4) |
| 2006 |
Jan
(68) |
Feb
(2) |
Mar
(14) |
Apr
(6) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(50) |
Dec
(4) |
| 2007 |
Jan
(14) |
Feb
(42) |
Mar
(70) |
Apr
(30) |
May
(8) |
Jun
|
Jul
(2) |
Aug
(2) |
Sep
|
Oct
(88) |
Nov
(168) |
Dec
(2) |
| 2008 |
Jan
(56) |
Feb
(372) |
Mar
(446) |
Apr
(112) |
May
(144) |
Jun
(94) |
Jul
(208) |
Aug
(90) |
Sep
(26) |
Oct
(10) |
Nov
(2) |
Dec
|
| 2009 |
Jan
|
Feb
(8) |
Mar
|
Apr
(46) |
May
(188) |
Jun
(120) |
Jul
(448) |
Aug
(202) |
Sep
(4) |
Oct
(72) |
Nov
(154) |
Dec
(2) |
| 2010 |
Jan
(58) |
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
(68) |
Aug
(24) |
Sep
|
Oct
|
Nov
|
Dec
(11) |
| 2011 |
Jan
(6) |
Feb
(11) |
Mar
(8) |
Apr
(10) |
May
(4) |
Jun
|
Jul
|
Aug
(8) |
Sep
|
Oct
(3) |
Nov
(2) |
Dec
|
| 2012 |
Jan
|
Feb
(13) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(31) |
Aug
(21) |
Sep
(2) |
Oct
(1) |
Nov
(29) |
Dec
(17) |
| 2013 |
Jan
(2) |
Feb
|
Mar
|
Apr
(25) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
(3) |
Oct
(4) |
Nov
(11) |
Dec
|
| 2016 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
|
From: Raphael H. <ra...@ge...> - 2001-12-10 14:24:19
|
Le Mon, Dec 10, 2001 at 01:48:04PM +0100, Fabien Fulhaber écrivait: > Si la chaîne contient par exemple "SMA" et qu'il n'y a qu'une série de > donnée, il ne faut pas amha renvoyer les valeurs dans un tableau, > qu'un objet de type "Curve" n'arriverait pas à gérer. Ce n'est pas vrai :-) Le tableau à un élément est équivalent à un scalaire tel que tu l'as codé ... parce que tu renvoies le tableau @tab et non pas la référence au tableau \@tab ... > > Tu veux que je te prête mes livres sur Perl ? :-) > > Bah, j'ai déjà 2 bouquins d'O'Reilly : Tu devrais arriver à faire des expressions rationnelles alors et à extraire les informations nécessaires ... $value =~ /(\w+)\s*\(\s*(.*)\s*\)/; et juste après tu as : $1 => type d'objet $2 => source de données A+ -- Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/ Le bouche à oreille du Net : http://www.beetell.com Naviguer sans se fatiguer à chercher : http://www.deenoo.com Formation Linux et logiciel libre : http://www.logidee.com |
|
From: Fabien F. <fa...@be...> - 2001-12-10 14:03:46
|
le lun 10-12-2001 à 13:25, Raphael Hertzog a écrit : > $ export EDITOR=vim > > Soit avant de lancer cvs, soit en le mettant dans ton .bashrc pour que > cela soit fait dans chaque shell lancé. Voilà, je l'ai mis dans le fichier ~/.bashrc > Je ne suis pas d'accord avec cette logique. À mon humble avis, il faut > séparer la data source en deux. Celle qui s'occupe de renvoyer une > série de données à partir d'un indicateur donné, et celle qui s'occupe > de renvoyer plusieurs séries de données ... > > La DS simple prend en entrée, un calculator et le nom "générique" de > l'indicateur ... "BOL/1 13" par exemple. > > Le DS multiple prend en entrée, un calculator, et des noms génériques > d'indicateurs ... Ok. > et chaque fois qu'un indicateur est non-qualifié (ie > pas de /1 ...) alors tu y mets toutes les valeurs dispo. Si la chaîne contient par exemple "SMA" et qu'il n'y a qu'une série de donnée, il ne faut pas amha renvoyer les valeurs dans un tableau, qu'un objet de type "Curve" n'arriverait pas à gérer. > Tu veux que je te prête mes livres sur Perl ? :-) Bah, j'ai déjà 2 bouquins d'O'Reilly : - Programmation avancée en Perl - Programmation de clients Web avec Perl A+ Fu |
|
From: Raphael H. <ra...@ge...> - 2001-12-10 13:32:47
|
Le Sun, Dec 09, 2001 at 08:27:52PM +0100, Fabien Fulhaber écrivait: > Je viens de commiter ce que j'ai fait cet après-midi. (Note : il n'y pas > de commentaire dans le cvs, parceque cvs me lancer un éditeur pourri > dans lequel je n'arrive pas à sauvegarder ce que j'écris...) Fais un : $ export EDITOR=vim Soit avant de lancer cvs, soit en le mettant dans ton .bashrc pour que cela soit fait dans chaque shell lancé. > Si la chaîne contient ne contient pas de paramètre, je considère que > l'utilisateur à voulu obtenir la série zéro; bref BOL et BOL/0 > correspondent à la même chose. > > Si la chaîne contient un paramètre /0 /1 /2 /etc, l'utilisateur > obtiendra la série demandé et l'échelle sera adaptée à sa série. > > Si la chaîne contient /99, l'utilisateur obtiendra toutes les séries > sous forme de tableau et l'échelle prendra en compte toutes les séries. > Bon, je sais que le /99 est un peu con, j'aurai bien voulu un /All mais > ce n'était pas compatible avec une fonction de Tools.pm Je ne suis pas d'accord avec cette logique. À mon humble avis, il faut séparer la data source en deux. Celle qui s'occupe de renvoyer une série de données à partir d'un indicateur donné, et celle qui s'occupe de renvoyer plusieurs séries de données ... La DS simple prend en entrée, un calculator et le nom "générique" de l'indicateur ... "BOL/1 13" par exemple. Le DS multiple prend en entrée, un calculator, et des noms génériques d'indicateurs ... et chaque fois qu'un indicateur est non-qualifié (ie pas de /1 ...) alors tu y mets toutes les valeurs dispo. > J'ai aussi mis ce que je pouvais dans le script graphic.pl pour que ce > soit fonctionnel. Tu peux lancer le script avec le paramètre > --add="Indicators::BOL" ou --add="Indicators::BOL/2", ça fonctionne, > mais ce n'est pas parfait; je ne suis pas un expert de la manipulation > de chaînes sous perl et je n'ai pas réussi à obtenir l'effet recherché, > à savoir que ça puisse fonctionner avec des chaînes du type > --add="Histogram(Indicators::Momentum)" ou > --add="Curve(Indicators::SMA 20)" Tu veux que je te prête mes livres sur Perl ? :-) A+ -- Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/ Le bouche à oreille du Net : http://www.beetell.com Naviguer sans se fatiguer à chercher : http://www.deenoo.com Formation Linux et logiciel libre : http://www.logidee.com |
|
From: Fabien F. <fa...@be...> - 2001-12-09 20:48:35
|
le sam 08-12-2001 à 00:23, Raphael Hertzog a écrit : > Hello Fu, > > hier soir j'avais bossé sur un script générique pour générer des > graphiques. Je l'ai commité. Il n'est pas encore complet puisqu'il ne > permet pas de mettre d'indicateurs et d'autres trucs de ce genre. > Mais c'est un début intéressant ... Oui, c'est très bien. Je viens de commiter ce que j'ai fait cet après-midi. (Note : il n'y pas de commentaire dans le cvs, parceque cvs me lancer un éditeur pourri dans lequel je n'arrive pas à sauvegarder ce que j'écris...) Tu trouveras dans GT/Graphics/DataSource, une source de donnée générique que j'ai appellé GenericIndicatorResults.pm contenant les calculs fait par un indicateur. La philosophie est la suivante; la fonction new reçoit en paramètre $calc et @args, $calc étant un objet calculator qui a été initialisé dans le script graphic.pl et @args corresponds à une chaîne du type "Indicators::BOL/2". Certains objets auront besoin de toutes les séries de données calculées par un indicateur (ex: BOL/0, BOL/1 et BOL/2), d'autres n'auront besoin que d'une seule série (ex: BOL/2). Si la chaîne contient ne contient pas de paramètre, je considère que l'utilisateur à voulu obtenir la série zéro; bref BOL et BOL/0 correspondent à la même chose. Si la chaîne contient un paramètre /0 /1 /2 /etc, l'utilisateur obtiendra la série demandé et l'échelle sera adaptée à sa série. Si la chaîne contient /99, l'utilisateur obtiendra toutes les séries sous forme de tableau et l'échelle prendra en compte toutes les séries. Bon, je sais que le /99 est un peu con, j'aurai bien voulu un /All mais ce n'était pas compatible avec une fonction de Tools.pm J'ai aussi mis ce que je pouvais dans le script graphic.pl pour que ce soit fonctionnel. Tu peux lancer le script avec le paramètre --add="Indicators::BOL" ou --add="Indicators::BOL/2", ça fonctionne, mais ce n'est pas parfait; je ne suis pas un expert de la manipulation de chaînes sous perl et je n'ai pas réussi à obtenir l'effet recherché, à savoir que ça puisse fonctionner avec des chaînes du type --add="Histogram(Indicators::Momentum)" ou --add="Curve(Indicators::SMA 20)" Tiens, je viens juste de mettre --add="Indicators::SAR" avec l'objet Marks, c'est très sympa ! :) Voilà, n'hésites pas à critiquer/améliorer ma contribution. A+ Fu |
|
From: Fabien F. <fa...@de...> - 2001-12-09 20:38:18
|
Je viens d'envoyer un mail, mais il n'a pas été diffusé sur la liste parceque je n'ai pas utilisé la bonne adresse d'expédition (fa...@be... au lieu de fa...@de...); le voici en fichier attaché. A+ Fu |
|
From: Raphael H. <ra...@ge...> - 2001-12-08 00:31:18
|
Hello Fu,
hier soir j'avais bossé sur un script générique pour générer des
graphiques. Je l'ai commité. Il n'est pas encore complet puisqu'il ne
permet pas de mettre d'indicateurs et d'autres trucs de ce genre.
Mais c'est un début intéressant ...
=head1 ./graphic.pl [ --timeframe=day|week|month ] [ --nb-item=100 ] \
[ --start=1999-02-01 ] [ --end=2001-03-23 ] \
[ --type=candle|barchart|line ] [ --novolume ] \
[ --width=200 ] [ --height=230 ] [ --logarithmic ] \
<code>
Tu peux faire quelques essais. Si tu ne donnes pas --width ou --height
la taille est adaptée aux nombre d'items. Si tu donnes les dates de
début et de fin, le nombre d'item est ignoré. Si tu imposes une taille,
les échelles seront forcées pour rentrer dans cette taille.
A+
--
Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/
Le bouche à oreille du Net : http://www.beetell.com
Naviguer sans se fatiguer à chercher : http://www.deenoo.com
Formation Linux et logiciel libre : http://www.logidee.com
|
|
From: Raphael H. <ra...@ge...> - 2001-12-03 18:24:25
|
Le Mon, Dec 03, 2001 at 05:59:11PM +0100, Fabien Fulhaber écrivait:
> Ca ne se fait pas automatiquement avec apt-get ?
Que si c'est nécessaire pour satisfaire les dépendances, mais il est
possible qu'un dépendance soit trop "lâche", genre qu'elle accepte à
partir du moment ou X est installé, peu importe la version alors qu'il
faut la dernière en fait.
> Justement. Au lieu de dessiner deux rectangles ("rectangle" et
> "filled_rectangle", cf. code de Candle.pm), je pense qu'on peut éviter
> l'erreur que l'on a avec le driver SVG en faisant appel à un rectangle
> où fill est défini avec la couleur interne et où stroke est défini
> avec la couleur de la bordure. En clair, on pourrait modifier la
> fonction "filled_rectangle" : s'il n'y a qu'une couleur en paramètre,
> on dessine un rectangle avec fill et stroke identiques; s'il y a deux
> couleurs en paramètre, on dessine un rectangle avec une couleur de
> remplissage et une couleur spécifique pour la bordure.
Non, ca ne me plait pas. L'interface des drivers est ainsi, elle doit
rester ainsi. Les driver doivent se plier à cela.
A+
--
Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/
Le bouche à oreille du Net : http://www.beetell.com
Naviguer sans se fatiguer à chercher : http://www.deenoo.com
Formation Linux et logiciel libre : http://www.logidee.com
|
|
From: <fa...@de...> - 2001-12-03 18:03:25
|
On Mon, Dec 03, 2001 at 05:03:17PM +0100, Raphael Hertzog wrote:
> Mais à mon humble avis, il faut mettre à jour l'ensemble des libs gnome
> dont Sodipodi dépend ...
Ca ne se fait pas automatiquement avec apt-get ?
> Un filled_rectangle c'est un rectangle avec fill et stroke ayant la même couleur. Un rectangle c'est juste avec stroke et sans fill.
Justement. Au lieu de dessiner deux rectangles ("rectangle" et "filled_rectangle", cf. code de Candle.pm), je pense qu'on peut éviter l'erreur que l'on a avec le driver SVG en faisant appel à un rectangle où fill est défini avec la couleur interne et où stroke est défini avec la couleur de la bordure. En clair, on pourrait modifier la fonction "filled_rectangle" : s'il n'y a qu'une couleur en paramètre, on dessine un rectangle avec fill et stroke identiques; s'il y a deux couleurs en paramètre, on dessine un rectangle avec une couleur de remplissage et une couleur spécifique pour la bordure.
> > Les couleurs s'affichent bien avec le SVG Viewer d'Adobe pour Mozilla.
>
> Et ca s'installe facilement ? (j'ai pas encore regardé)
Oui, c'est très simple.
A+ Fu
|
|
From: Raphael H. <ra...@ge...> - 2001-12-03 17:10:44
|
Le Mon, Dec 03, 2001 at 10:09:29AM +0100, Fabien Fulhaber écrivait: > Je viens d'installer la dernière version de Sodipodi, mais je n'arrive > même pas à lancer le programme : > > fabien@deenoo:~/bourse/GT$ sodipodi --version > Gnome sodipodi 0.24.1 Pareil : ii sodipodi 0.24.1-1 Vector based drawing program. Mais à mon humble avis, il faut mettre à jour l'ensemble des libs gnome dont Sodipodi dépend ... sodipodi Depends: bonobo Depends: gdk-imlib1 Depends: libart2 Depends: libaudiofile0 Depends: libbonobo2 Depends: libc6 Depends: libdb3 Depends: libesd0 Depends: libgal18 Depends: libgdk-pixbuf-gnome2 Depends: libgdk-pixbuf2 Depends: libglade-gnome0 Depends: libglade0 Depends: libglib1.2 Depends: libgnome32 Depends: libgnomeprint15 Depends: libgnomesupport0 Depends: libgnomeui32 Depends: libgtk1.2 Depends: liboaf0 Depends: liborbit0 Depends: libpng2 Depends: libxml1 Depends: oaf Depends: xlibs Depends: zlib1g Si après avoir mis à jour tout cela ca ne marche toujours pas, alors je ne sais pas. > C'est possible. En tout cas, il me semble qu'on pourrait éviter ce bug en ne > dessinant qu'un seul rectangle avec une propriété 'fill' => ... et 'stroke' => > ... au lieu d'afficher un filled_rectangle et un rectangle (cf. le code de > Object/Candle.pm). Je ne sais pas. C'est ce que j'ai fait. Un filled_rectangle c'est un rectangle avec fill et stroke ayant la même couleur. Un rectangle c'est juste avec stroke et sans fill. > Les couleurs s'affichent bien avec le SVG Viewer d'Adobe pour Mozilla. Et ca s'installe facilement ? (j'ai pas encore regardé) A+ -- Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/ Le bouche à oreille du Net : http://www.beetell.com Naviguer sans se fatiguer à chercher : http://www.deenoo.com Formation Linux et logiciel libre : http://www.logidee.com |
|
From: Fabien F. <fa...@de...> - 2001-12-03 10:10:43
|
On Mon, Dec 03, 2001 at 08:55:07AM +0100, Raphael Hertzog wrote: > Le Mon, Dec 03, 2001 at 01:57:45AM +0100, Fabien Fulhaber écrivait: > > Lorsque tu seras prêt, il suffira de lancer graph.pl 13000 > > > ~/essai.svg et d'ouvrir le fichier généré dans Mozilla. > > A noter que sodipodi affiche le SVG aussi et permet de le modifier. Je viens d'installer la dernière version de Sodipodi, mais je n'arrive même pas à lancer le programme : fabien@deenoo:~/bourse/GT$ sodipodi --version Gnome sodipodi 0.24.1 fabien@deenoo:~/bourse/GT$ sodipodi ** ERROR **: Ne peut créer l'usine sodipodi-svg-doc aborting... Abandon > C'est peut-être des bugs d'arrondis dans sodipodi ou autre chose C'est possible. En tout cas, il me semble qu'on pourrait éviter ce bug en ne dessinant qu'un seul rectangle avec une propriété 'fill' => ... et 'stroke' => ... au lieu d'afficher un filled_rectangle et un rectangle (cf. le code de Object/Candle.pm). > (d'ailleurs je n'ai pas de couleur dans sodipodi ...) Les couleurs s'affichent bien avec le SVG Viewer d'Adobe pour Mozilla. > > les possibilitées du format SVG, mais c'est sympa de pouvoir faire si > > rapidement ce genre d'extension pour GeniusTrader :) > > Héhé, c'est l'avantage d'une bonne conception. :) Oui, ça me plaît. A+ Fu |
|
From: Raphael H. <ra...@ge...> - 2001-12-03 08:58:55
|
Le Mon, Dec 03, 2001 at 01:57:45AM +0100, Fabien Fulhaber écrivait:
> Lorsque tu seras prêt, il suffira de lancer graph.pl 13000 >
> ~/essai.svg et d'ouvrir le fichier généré dans Mozilla.
A noter que sodipodi affiche le SVG aussi et permet de le modifier.
Il est utilisable mais pas fini ... j'ai des bugs avec le truc SVG
actuel, il y a des espaces entre les ombres des chandeliers et les
chandeliers en soi. Je ne comprends pas. Ou plutôt si je veux corriger
là où est l'erreur, j'ai d'autres problèmes après coup donc ... :)
Là où je soupçonne qu'il y a une erreur c'est :
$p->{'img'}->rectangle(x=>$xpt1, y=>$ypt1, width=>abs($xpt1 - $xpt2),
height=>abs($ypt1 - $ypt2),
En effet, un rectangle qui va de (100,100) à (200,200) est un
rectangle qui commence en (100,100) mais qui fait 101 de haut et de
large. Donc il faut abs($x1 - $x2) + 1 ... mais si je fais cela, les
chandeliers sont trop larges (mais à la bonne hauteur en général).
C'est peut-être des bugs d'arrondis dans sodipodi ou autre chose
(d'ailleurs je n'ai pas de couleur dans sodipodi ...)
> les possibilitées du format SVG, mais c'est sympa de pouvoir faire si
> rapidement ce genre d'extension pour GeniusTrader :)
Héhé, c'est l'avantage d'une bonne conception. :)
A+
--
Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/
Le bouche à oreille du Net : http://www.beetell.com
Naviguer sans se fatiguer à chercher : http://www.deenoo.com
Formation Linux et logiciel libre : http://www.logidee.com
|
|
From: Fabien F. <fa...@de...> - 2001-12-03 07:47:01
|
Salut Bugs, Je viens de voir tout ce que tu as fait par rapport à la personnalisation des couleurs, c'est très bien ! De mon côté, je viens de commiter le driver permettant de générer des fichiers SVG (Scalable Vector Graphics). Pour que tout soit fonctionnel chez toi, il te faut le plugin SVG Viewer pour Mozilla et l'extension SVG pour Perl : - http://download.adobe.com/pub/adobe/magic/svgviewer/linux/3.x/3.0x77/en/adobesvg-3.0-linux-i386.tar.gz - http://theoryx5.uwinnipeg.ca/scripts/CPAN/authors/id/R/RO/RONAN/SVG-1.13.tar.gz Lorsque tu seras prêt, il suffira de lancer graph.pl 13000 > ~/essai.svg et d'ouvrir le fichier généré dans Mozilla. Voilà, il y a encore beaucoup de choses à faire pour arriver à réellement exploiter les possibilitées du format SVG, mais c'est sympa de pouvoir faire si rapidement ce genre d'extension pour GeniusTrader :) A+ Fu |
|
From: Raphael H. <ra...@ge...> - 2001-12-02 23:45:38
|
Salut Fu, il est maintenant possible de personnaliser les couleurs par défaut d'un graphique en utilisant ~/.gt/options. Exemple de config (et son résultat attaché) : Graphic::BackgroundColor black Graphic::ForegroundColor white Graphic::Candle::UpColor light blue Graphic::Candle::UpBorderColor light blue Graphic::Candle::DownColor red Graphic::Candle::DownBorderColor red Graphic::Grid::Color dark grey Sinon, j'ai une nouvelle fonction dans GT::Conf. Il y a get_first qui permet d'avoir un système de fallback sur les paramètres ... genre je prends la couleur indiquée dans Graphic::Candle::BorderColor d'abord et s'il n'y a rien je retombe sur Graphic::ForegroundColor ... A+ PS: Je joins aussi ma dernière version du script graph.pl, il est mieux (100 chandeliers par défaut) car on voit plus de choses. -- Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/ Le bouche à oreille du Net : http://www.beetell.com Naviguer sans se fatiguer à chercher : http://www.deenoo.com Formation Linux et logiciel libre : http://www.logidee.com |
|
From: Raphael H. <ra...@ge...> - 2001-11-30 20:47:55
|
Le Fri, Nov 30, 2001 at 04:31:36PM +0100, Fabien Fulhaber écrivait: > > modif que tu aurais faite et qui ne me plaise pas. ;-) > > Ok. Je pensais que tu faisais un "diff" pour voir les nouveautés :) Ca m'arrive, mais c'est chiant parce qu'il faut que je précise avec quoi je fais un diff, soit avec une date soit avec une version de fichier. Mais avec un mail, j'ai les explications des changements et je peux comprendre directement la motivation du changement sans devoir le deviner. :-) > Entirèrement d'accord; on pourrait même basé ce deuxième datasource > sur des signaux (cf. Signals/Prices/Advance | Decline | Unchange | etc > ...). Oui c'est possible. A+ -- Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/ Le bouche à oreille du Net : http://www.beetell.com Naviguer sans se fatiguer à chercher : http://www.deenoo.com Formation Linux et logiciel libre : http://www.logidee.com |
|
From: Fabien F. <fa...@de...> - 2001-11-30 19:25:39
|
> Comme promis j'ai bossé sur la partie graphique. J'ai commité pas > mal de code (plus de 1500 lignes rédigées en 2 jours)... Bravo ! > Je t'invite déjà à regarder tout ce qu'il y a dans GT/Graphics pour > te familiariser avec les notions liées au graphique. Ca devrait pas > être trop compliqué ;-) Oui, je pense avoir compris toutes les notions de GT/Graphics. > PS: J'ai pas eu de nouvelles de toi depuis un certain temps et tu n'as > pas répondu à mes derniers mails. Ca va comme tu veux ? Comme je te l'ai rapidement expliqué au téléphone l'autre jour, j'ai eu un gros passage à vide. Ce qui m'énerve le plus, c'est que j'ai envie de vivre à 100 à l'heure et que je n'arrive pas à avancer ! C'est révoltant de voir qu'on ne te proposes pas un job parcequ'on te considères comme trop qualifié/ambitieux/etc... et que l'on préfère embaucher quelqu'un de pas très intelligent pour être sûr qu'il restera dans l'entreprise quelques années... C'est ridicule. A l'étranger et en particulier dans les pays plus libéraux, les mentalitées sont bien souvent différentes et l'on donne implicitement ou explicitement, à tous, l'opportunité de progresser; le mythe d'une amérique où tout le monde à sa chance, c'est justement de dire aux gens qu'ils peuvent finir PDG de McDo alors qu'ils ont commencé en tant qu'équipier... De la même manière, c'est révoltant de voir des entreprises réellement se foutre de la gueule du monde lorsqu'il s'agit de parler de salaire. J'avais postulé à un poste de conseillé clientèle chez Azur Assurances, je me suis déplacé à Strasbourg pour l'entretient, l'annonce était intéressante, au final c'était du pipo et ils me proposaient un fixe de 4000 Frs + commissions (ridicules) sur CA alors que de mon côté je devais non seulement faire l'effort de me constituer moi-même mon fichier clientèle en contactant les gens par téléphone et en faisant de la vente itinérante, et je devais (naturellement) supporter les frais d'un appartement sur Colmar puisque le poste était basé à Colmar/Munster. Dans la catégorie des bonnes nouvelles, j'ai le job de conseillé clientèle Wanadoo en agence France Télécom pour Noël. C'est une mission de seulement 9 jours, mais c'est payé correctement : 500 Frs brut + 60 Frs (transport) =~ 450 Frs net / jour. Ce matin, j'ai aussi reçu un coup de fil pour un entretien mercredi prochain sur Strasbourg, 5 minutes après avoir envoyé mon CV par email ! :) Là, c'est pour un job de Hotliner dans un centre d'appel qui apporte 24h/24 7j/7 du support technique aux FAI français et européens, et qui coordonne les interventions sur site. Ce job me plairaît vraiment bien; c'est 24 heures de travail les week-ends du vendredi au lundi rémunérées 35 ! (9500 Frs brut plus 13ème mois). En clair, c'est "bien payé", parce que tu travailles 2 fois soit de 12h à 24h soit de 24h à 12h, qu'il y a du travail de nuit et que tes heures comptent double le dimanche. A+ Fu |
|
From: Fabien F. <fa...@de...> - 2001-11-30 19:25:24
|
Salut Raphaël, > j'aimerai quand même que lorsque tu commites, tu m'explique le code > commité et sa justification. Ca m'évite de devoir découvrir par moi même > les changements effectués et ca évitera que par mégarde je loupe une > modif que tu aurais faite et qui ne me plaise pas. ;-) Ok. Je pensais que tu faisais un "diff" pour voir les nouveautés :) > Le support des polygones c'est bien fait (ainsi que le dashed_line et le > circle même si je n'en vois pas l'utilité encore). Les lignes pointillées permettent de différencier deux courbes en plus d'un changement de couleur (ex: un indicateur sous forme de ligne noire et la moyenne mobile de cet indicateur sous la forme d'une ligne rouge pointillée). Le cercle est utile pour l'objet "Point & Figure". > Par contre, le cross ne sert à rien, ce n'est pas un "primitive" > d'affichage. On peut l'offrir en supplément, mais alors elle n'est pas > implémenté par les différents drivers ... c'est juste que cross > correspond à deux appels à $driver->line pour faire une croix. J'ai > corrigé cela. > > J'aimerai aussi que lorsque tu touches à ce genre de choses, tu mettes à > jour la documentation, en l'occurence Driver.pm contient une liste des > fonctions que chaque driver doit fournir et tu ne l'avais pas mise à > jour, je l'ai fait maintenant. > > Et puis pour les nouveaux fichiers, mettre quelques commentaires > en haut pour expliquer son rôle, ca serait pas superflu. :) Ok. > A la place, il vaut mieux garder un histogramme simple > qu'on peut paramétrer par une deuxième datasource (synchrone cad avec les > mêmes index) qui fournira une couleur en fonction de l'évolution des > cours ... Entirèrement d'accord; on pourrait même basé ce deuxième datasource sur des signaux (cf. Signals/Prices/Advance | Decline | Unchange | etc ...). > Voilà, sinon c'est du bon boulot ! J'allais coder le support des > polygones et des "Mountain" ce soir, et j'ai juste vu que tu l'avais > fait. C'est cool. :) :-) A+ Fu |
|
From: Raphael H. <ra...@ge...> - 2001-11-30 07:52:44
|
Salut Fu, j'aimerai quand même que lorsque tu commites, tu m'explique le code commité et sa justification. Ca m'évite de devoir découvrir par moi même les changements effectués et ca évitera que par mégarde je loupe une modif que tu aurais faite et qui ne me plaise pas. ;-) Par exemple, j'ai vu que tu as ajouté plein de trucs à Driver/GD.pm. Certains trucs c'est bien, d'autres c'est pas bien. Le support des polygones c'est bien fait (ainsi que le dashed_line et le circle même si je n'en vois pas l'utilité encore). Par contre, le cross ne sert à rien, ce n'est pas un "primitive" d'affichage. On peut l'offrir en supplément, mais alors elle n'est pas implémenté par les différents drivers ... c'est juste que cross correspond à deux appels à $driver->line pour faire une croix. J'ai corrigé cela. J'aimerai aussi que lorsque tu touches à ce genre de choses, tu mettes à jour la documentation, en l'occurence Driver.pm contient une liste des fonctions que chaque driver doit fournir et tu ne l'avais pas mise à jour, je l'ai fait maintenant. Et puis pour les nouveaux fichiers, mettre quelques commentaires en haut pour expliquer son rôle, ca serait pas superflu. :) Il y a aussi des trucs discutables, la modification de DataSource/Volume.pm je ne l'aime pas. Le but des DataSource, c'est de rester simples et GENERIQUES. Et cette modif (associée à la modif de Histogram.pm) casse cette généricité. Je ne pourrais plus faire d'histogrammes pour représenter un quelconque autre indicateur qui ne fournit pas aussi le deuxième paramètre (ton $type). Je suis donc contre cela. A la place, il vaut mieux garder un histogramme simple qu'on peut paramétrer par une deuxième datasource (synchrone cad avec les mêmes index) qui fournira une couleur en fonction de l'évolution des cours ... et cette datasource pourra être réutilisée ailleurs (dans d'autres objets similaires). Je viens de le coder/modifier. [ en plus les tests que tu as rajouté sont pas très bien codés, on n'utilise pas defined() pour savoir si le jour d'avant est dispo ... il est forcément dispo sauf si $index == 0. ] Voilà, sinon c'est du bon boulot ! J'allais coder le support des polygones et des "Mountain" ce soir, et j'ai juste vu que tu l'avais fait. C'est cool. :) A+ -- Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/ Le bouche à oreille du Net : http://www.beetell.com Naviguer sans se fatiguer à chercher : http://www.deenoo.com Formation Linux et logiciel libre : http://www.logidee.com |
|
From: Raphael H. <ra...@ge...> - 2001-11-26 01:06:56
|
Le Sun, Nov 25, 2001 at 11:11:45PM +0100, Raphael Hertzog écrivait: > mal de code (plus de 1500 lignes rédigées en 2 jours)... mais il y a > encore pas mal de boulot (évidemment ;)). Heureusement je pense que cela > ira assez vite (encore un WE comme celui-ci et ca sera bon). Et pour prouver que cela peut aller vite : moins de deux heures après, j'ai ajouté le support des barcharts et des histogrammes. Je joins le même script exemple adapté pour un nouveau graphique généré (attaché lui aussi). A+ -- Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/ Le bouche à oreille du Net : http://www.beetell.com Naviguer sans se fatiguer à chercher : http://www.deenoo.com Formation Linux et logiciel libre : http://www.logidee.com |
|
From: Raphael H. <ra...@ge...> - 2001-11-25 23:34:43
|
Le Sun, Nov 25, 2001 at 11:11:45PM +0100, Raphael Hertzog écrivait: > Pour te prouver que c'est pas loin d'être utilisable, je te joins un > script et deux graphiques générés avec lui. Les textes sur les axes > horizontaux ne veulent rien dire (c'est les numéros des jours), j'ai pas > encore eu le temps de changer cela. J'ai oublié de te donner le mode d'emploi du script : $ ./graph.pl 13330 | display ou encore $ ./graph.pl 13000 >13000.png $ display 13000.png Je ferai un script plus propre rapidement et je le commiterai dans le module CVS "Scripts". A+ -- Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/ Le bouche à oreille du Net : http://www.beetell.com Naviguer sans se fatiguer à chercher : http://www.deenoo.com Formation Linux et logiciel libre : http://www.logidee.com |
|
From: Raphael H. <ra...@ge...> - 2001-11-25 23:14:14
|
Salut Fu ! Comme promis j'ai bossé sur la partie graphique. J'ai commité pas mal de code (plus de 1500 lignes rédigées en 2 jours)... mais il y a encore pas mal de boulot (évidemment ;)). Heureusement je pense que cela ira assez vite (encore un WE comme celui-ci et ca sera bon). Bon pour que le code marche il faut rajouter des options dans le ~/.gt/options : Path::Font::Arial /dos/windows/fonts/arial.ttf Path::Font::Courier /dos/windows/fonts/couri.ttf Path::Font::Times /dos/windows/fonts/times.ttf Evidemment, il faut que les fichiers existent ... le code utilise le module GD, il faut donc aussi installer le paquet libgd-perl. Pour te prouver que c'est pas loin d'être utilisable, je te joins un script et deux graphiques générés avec lui. Les textes sur les axes horizontaux ne veulent rien dire (c'est les numéros des jours), j'ai pas encore eu le temps de changer cela. Je t'invite déjà à regarder tout ce qu'il y a dans GT/Graphics pour te familiariser avec les notions liées au graphique. Ca devrait pas être trop compliqué ;-) J'espère que tu apprécieras. Le code est déjà documenté, la conception est propre pour une fois. Et ca prouve quand même que quand on a une bonne conception bien pensée, ca va plus vite pour écrire du code... 1500 lignes en deux jours, je n'ai pas fait ca souvent ! A+ PS: J'ai pas eu de nouvelles de toi depuis un certain temps et tu n'as pas répondu à mes derniers mails. Ca va comme tu veux ? -- Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/ Le bouche à oreille du Net : http://www.beetell.com Naviguer sans se fatiguer à chercher : http://www.deenoo.com Formation Linux et logiciel libre : http://www.logidee.com |
|
From: Fabien F. <fa...@de...> - 2001-10-24 09:47:41
|
On Tue, Oct 23, 2001 at 11:14:24PM +0200, Raphael Hertzog wrote: > Le Tue, Oct 23, 2001 at 09:59:26PM +0200, Fabien Fulhaber écrivait: > > Raphaël, > > > > Je viens de mettre à jour l'archive cvs avec un stop générique basé > > sur les valeurs d'un ou de deux indicateurs. > > Cool, un truc en moins dans le TODO :) Oui et je viens de le corriger pour ne positionner le stop que lorsque le niveau du stop est inférieur à la clôture actuelle pour un trade long, et inversement pour un trade short. A+ Fu |
|
From: Raphael H. <ra...@ge...> - 2001-10-23 23:15:49
|
Le Tue, Oct 23, 2001 at 09:59:26PM +0200, Fabien Fulhaber écrivait: > Raphaël, > > Je viens de mettre à jour l'archive cvs avec un stop générique basé > sur les valeurs d'un ou de deux indicateurs. Cool, un truc en moins dans le TODO :) > En lançant par exemple ./backtest.pl TFS 13000 > --close-strategy="Stop:BasedOnIndicators Indicators::SMA 150" tu C'est quand même gênant de positionner un stop si le niveau du stop d'un trade long est supérieur à la clôture actuelle. De même, pour un trade court, un niveau de stop inférieur à la dernière clôture est gênant aussi. Je propose que tu fasses cette vérification avant d'appeler set_stop. Un de ces quatre, je veux coder la méthode Weinstein. Mais il me faudra les indicateurs de marché pour le coder parfaitement (il utilise beaucoup les lignes A/D et la force relative) ;-) Et j'utiliserai le stop sur la MM30 semaine ;) A+ -- Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/ Le bouche à oreille du Net : http://www.beetell.com Naviguer sans se fatiguer à chercher : http://www.deenoo.com Formation Linux et logiciel libre : http://www.logidee.com |
|
From: Fabien F. <fa...@de...> - 2001-10-23 21:53:05
|
Raphaël, Je viens de mettre à jour l'archive cvs avec un stop générique basé sur les valeurs d'un ou de deux indicateurs. En lançant par exemple ./backtest.pl TFS 13000 --close-strategy="Stop:BasedOnIndicators Indicators::SMA 150" tu obtiendras : ## Global analysis (each position is 10keuros, value of portfolio) Analysis of the portfolio (1999-09-14 / 2001-08-31) : ----------------------------------------------------- Performance : 102.2% ( 42.2%) Buy & Hold : -39.2% (-22.1%) () => by year MaxDrawDown : 12.4% B&H MaxDrawDown : 82.6 A+ Fu |
|
From: Raphael H. <ra...@ge...> - 2001-10-23 21:16:49
|
Le Tue, Oct 23, 2001 at 07:24:09PM +0200, Fabien Fulhaber écrivait: > Je pensais que "being_closed" signifiait que la position va être > fermée aujourd'hui, de manière certaine... Ca veut dire qu'elle sera fermée demain de manière quasi sûre. :) Mais en fait, c'est positionné automatiquement dès que tu soumets des ordres suffisants (en quantité) pour fermer la position. Peut-être faudrait-il que je vérifie le type de l'ordre à ce moment, je n'en sais rien. > Pourquoi est-ce qu'on a "Can't call method "is_buy_order" without a > package or object reference at ../../GT/CloseStrategy.pm line 54." > lorsque l'on ajoute simplement l'option -full ? Ben parce que ton OrderFactory n'arrive pas à créer l'ordre pour le premier jour ... parce que ton indicateur pour définir la valeur de l'ordre n'est pas encore disponible. Et que comme le $order n'est pas un objet Order à cause de cela, et bien ca marche plus. Il faut que j'arrête le processus si l'ordre n'a pas pu être créé. Hop, j'ai commité la modif (dans SystemManager.pm). > J'ai aussi fait mumuse, regarde voir la différence de performance sur > Alcatel et FranceTélécom qu'il y a entre ces 2 stratégies qui sont > pratiquement identiques... Effectivement, c'est assez impressionnant. A+ -- Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/ Le bouche à oreille du Net : http://www.beetell.com Naviguer sans se fatiguer à chercher : http://www.deenoo.com Formation Linux et logiciel libre : http://www.logidee.com |
|
From: Fabien F. <fa...@de...> - 2001-10-23 19:24:11
|
On Tue, Oct 23, 2001 at 04:27:35PM +0200, Raphael Hertzog wrote: > Du coup la position est marquée en "being_closed" Je pensais que "being_closed" signifiait que la position va être fermée aujourd'hui, de manière certaine... > La solution c'est de modifier CS:ChannelBreakout pour "démarquer" la position ... en appelant $position->set_no_intent_to_close Ok. > J'ai commité la modif. Pourquoi est-ce qu'on a "Can't call method "is_buy_order" without a package or object reference at ../../GT/CloseStrategy.pm line 54." lorsque l'on ajoute simplement l'option -full ? > Et puis j'ai fait mumuse : > $ ./backtest.pl ENV 13000 --close-strategy="Stop:Breakeven 5 1" --close-strategy="Stop:Fixed 2" J'ai aussi fait mumuse, regarde voir la différence de performance sur Alcatel et FranceTélécom qu'il y a entre ces 2 stratégies qui sont pratiquement identiques... Aliases::ENV S:Generic Signals::Generic::True Signals::Generic::True|CS:ChannelBreakout Indicators::ENV/2 Indicators::ENV/1|TF:OneTrade|OF:ChannelBreakout Indicators::ENV/1 Indicators::ENV/2 Aliases::ENV2 S:Generic Signals::Generic::CrossOverUp Indicators::ENV/1 Signals::Generic::CrossOverDown Indicators::ENV/2|CS:OppositeSignal|TF:OneTrade A+ Fu |