ProRealTime
Zone de développement des applications API, des logiciels et utilitaires développés par les membres du forum

Re: Labview

par Tartempion » 22 oct. 2015 00:51

pour la souris , je parle sous windows, quelque soit le prog. De là à faire chauffer le proco non ou alors c'est une séance d'aérobic que tu fais sur ton bureau avec le mulot. Mais ça pompe quand même. Fais des grands ronds lentement avec ton mulot ou des allés-retours sur toute la largeur et tu verras dans le gestionnaire de performance que ça monte tranquillement à 10% ou plus . C'est pas une question de vitesse de déplacement de la souris. Au contraire c'est surtout quand tu fais ça lentement. (en tout cas ça fait ça sur ma bécane et sur toutes celles d'avant et c'est normal).
Pour les listes j'ai pas été clair du tout. Désolé. Les listes sont obtenues par la requete watchlist, normal quoi. C'est juste que j'ai fais en plus un sous-programme qui permet de créer , modifier ou supprimer mes listes. À l'identique de ce que tu fais sur la plateforem ig , c'est à dire par drag&drop entre l'arbre général de tous les produits ig et tes listes. Mais ce sous-programme je ne l'utilise pas et n'ai pas fait de bouton pour le lancer parce que c'est comme ça :?: Il interroge l'arbre ig, et par drag&drop tu modifies tes watchlists directement sur le serveur ig. Quand ensuite tu te logues sur la plateforme web tu constates que tes listes sont modifiées. En fait c'est pour ne plus avoir à me connecter à la plateforme web. C'est juste que j'ai galéré pour gérer les arbres et les drag&drop. Parce que les listes sont taguées par ig. Certaines sont supprimables, d'autres éditables etc… :?
Le bouton REST c'est pour couper toutes les connexions. Interrupteur général.
D'ailleurs l'état du portif (couv,dispo,solde et latent) n'est actualisé que par le REST. C'est à dire après chaque fermeture de position c'est actualisé mais ça ne dépend pas du stream. Comme ça si le stream plante , le latent et la couverture m'indiquent si il y a une position ouverte qui reste planquée. En stream les points suffisent à mon humble avis. (sur la capture y a 0,7 pt à l'instant de la capture mais y a 0 en latent) . C'est du "latent" hors trading (nouveau concept :lol: )

Oui l'agenda et la table des transac n'apparaissent que sur le clic B. Premier clic l'agenda apparaît, second clic l'agenda disparaît et les transacs apparaissent et troisième clic les transacs disparaissent. Autant dire qu'à la fin de la journée tu connais bien l'agenda :mrgreen:
Bonne nuit !

Re: Labview

par beni » 22 oct. 2015 09:43

Ok merci pour ces explications.
Tartempion a écrit : Oui l'agenda et la table des transac n'apparaissent que sur le clic B
Ça me rappelle les fps en ligne type CS ou DoD :) , un p'tit coup sur la touche TAB pour voir ton classement, combien de mecs t'avais derrouillé

Re: Labview

par Tartempion » 05 nov. 2015 11:22

**** Rajout d'une "volatilité" (version home made) tracée en continu, tick by tick, en superposition sur le graphe du cfd à risque limité. Longueur de l'échantillon modifiable à la volée par commande numérique. La formule choisie pour la volat :
Soit n entier naturel non nul = la longueur de l'échantillon,
Pour tout i naturel compris entre 1 et n, soit S(i) la valeur du tick i,
Alors volat=Racine carrée [Somme [ i = 1 à n de (S(i+1) - S(i))^2] /n].
**** Rajout d'un enregistrement, à chaque ouverture de position et à chaque fermeture de position, des infos affichées sur la face-avant, des historiques des graphes et différents paramètres (hh:mm:ss etc…). Ces data sont stockées dans un fichier journal.
**** Création d'une liseuse-analyseuse : une appli permet à la fin de la journée de visioner chaque trade. Elle reproduit la face-avant telle qu'elle était à chaque ouverture et femeture de position ( lecture du fichier journal pour re-tracer les graphes, afficher les textes et numériques capturés au moment du passage d'ordre) et analyse différentes grandeurs (conditions de trading , portif). Avec la visionneuse on se déplace d'un trade un l'autre. C'est une liseuse pour analyser mes trades a posteriori.
**** Pour l'instant j'ai laissé tomber la capture d'écran (jpg) à chaque ouverture et chaque fermeture , ça marche ( c'est on ne peut plus simple à faire) mais je ne trouve pas de composant .NET ou activex pour les agréger en video (le seul intéret de la manip). La liseuse fait beaucoup mieux le taff puisqu'elle fourni une analyse quantitative de n'importe quel paramètre que je veux.

Voili voilou . Y en a qui se font un journal de trading ben moi c'est mon petit journal Labview. On s'éclate comme on peut. :oops:
En route vers l'implémentation de la logique floue ! Et surtout vers une solution d'acquisiton du stream en continue sur une bécane tierce pour stocker les ticks en continue hors de mes horaires de trading.

Re: Labview

par Tartempion » 05 nov. 2015 11:42

Pour la config d'acquisition en continu je me suis monté ça (config zéro bruit) :
http://www.ldlc.com/b-2eeab93fa94415bb.html (les balises url sont interdites)
avec carte-mere N3700 format ITX : http://www.ldlc.com/fiche/PB00192694.html
Ben c'est pas mal pour l'instant. Mais bon faut pas faire de gros calculs.
L'intéret c'est les 4 coeurs puisque sous Labview on parallélise à mort.

Re: Labview

par Tartempion » 09 avr. 2016 22:18

Du nouveau : Vibration de la manette Xbox en retour à certains évènements. (Une manette xbox possède deux moteurs à masses vibrantes . Une lourde à gauche et une légère à droite . Chacun paramètrable de 0 à 65536.)
Création automatique d'une video par agrégation des captures d'écrans effectuées à chaque ouverture et fermeture de position ce qui permet de retracer en video la succession des trades.
Enregistrement de la durée du trade et du draw-down (précisément pire moins-value latente) de chaque trade dans la table des transactions et donc dans le fichier journal.
D'autres trucs en chantier.

Re: Labview

par Tartempion » 13 avr. 2016 14:33

Affichage d'un chronomètre à chaque ouverture de position. C'est pas mal cette idée lue dans le journal Swinging de se fixer un timing.
Affichage de l'heure du dernier ordre exécuté. (ouverture ou fermeture).
AH sinon il est prévu d'acheter une manette microsoft Elite. Je l'ai prise en main c'est pas mal. Elle pèse son poids. Très intéressé par les palettes sous la manettes. Mais d'un autre côté ça me semble assez risqué de déclencher un ordre non désiré. C'est l'impression que j'ai eue. Faut la prendre en main avec soin.

Tout ça c'est fait. Le seul truc qui reste en chantier c'est la logique floue. Mais ça demande reflexion et sérénité. Voire de la méditation… :mur:

Re: Labview

par Tartempion » 13 juin 2016 02:43

Module de création de vidéo de la session de trading:

il est opérationnel, le plus important est fait. Reste plus qu'à fignoler l'interface virtuelle qui apparaitra dans les videos , optimiser le code et la compression.

Définition : Après chaque session de trading le module fabrique une video de tous les trades de la session.
Une video est un enchainement de différents "passages" ("passage" ou "scène", je ne sais pas comment appeler ça), chacun consacré à un trade successif.
Dans la video chaque passage débute peu de temps avant l'ouverture du trade et s'achève peu de temps après la fermeture du trade.
La video n'est pas capturée en temps réel pendant la session (beaucoup d'inconvénients et aucun avantage) mais construite a posteriori par programmation par le module.
La video retrace l'évolution de chaque trade tick by tick en respectant la temporalité c'est à dire que la durée entre deux ticks successifs est respectée du mieux possible comme le ferait une capture temps réel par un logiciel de capture video.
sauf qu'elle ne dure que la durée totale de tous les trades de la session puisque, de fait, les zones de non trade ne sont pas synthétisées.
Puisque la video est complètement construite par programmation par le module, l'interface (graphes, affichage d'infos et autres) n'est pas l'interface de mon logiciel de trading (trop volumineuse pour une video) mais une interface virtuelle computée par le module.

Explications:
En début de session la connexion souscrit à deux tables : CHART et OPU. (je ne souscris ni à WOU ni à CONFIRMS)
Lors d'une session de trading deux fichiers sont créés :
-un "fichier de stream", dans lequel sont stockés les ticks ( ticks by ticks avec bien-sûr le timestamp donné par IG en millisecondes, table CHART mode DISTINCT),et les OPU (horodatés en ms par IG également, on reviendra dessus). Ticks et OPU sont stockés dans ce fichier dans l'ordre qu'ils arrivent par le stream.
-un "fichier des transactions" constitué des champs : timestamp d'ouverture, niveau d'ouverture, taille (algébrique), timestamp de fermeture, niveau de fermeture, points du trade (par lot), programmation neuro-linguistique de la transac (€), durée du trade (secondes), drawdown du trade (pire moins-value en point par lot pour ce trade).

Grace au fichier des transactions le module connaît les timestamps de chaque ouverture de position (respectivement chaque fermeture), leur retranche 5 secondes (resp. additionne 5s), délai paramétrable, puis prélève la portion des ticks correspondante dans le fichier de stream. Le délai de 5s permet à ce que chaque passage consacré à un trade dans la video débute 5s avant l'ouverture de la position et finisse 5s après la fermeture.
Pour l'instant la fréquence des trames est de 20 trames par seconde. Je peux monter à 60 fps mais bof ça explose la taille pour un intéret négligeable a priori.

Dans la suite on appelle «publication» tout tick ou opu collecté depuis le stream et stocké dans le fichier de stream.

Soient m,n deux entiers naturels :
1) Soit P(n) une publication dans le fichier de stream, et soit T(n) son timestamp. P(n) est traitée par le module pour actualiser l'interface virtuelle qui apparaitra dans la video. Une image I(m) de l'interface actualisée est créée.
2) I(m) est concaténée aux images précédentes dans le fichier avi.
3) m est incrémenté et I(m) est copiée. Cette étape 3) est réalisée autant de fois que l'on peut mettre de trames entre T(n) et T(n+1).
4) n est incrémenté et retour à l'étape 1).

Remarque : le timestamp renvoyé par IG sur les OPU de fermeture de position sur limite touchée est assez dégueu car sans milliseconde, arrondi à la seconde, par contre faut juste le savoir et adapter son code quand on fait se genre de module car au début je n'avais pas percuté et ça m'a joué un drôle de tour je comprenais rien au bug dans la video.

Limitation : Je ne sais pas ( et je crois que je ne saurai jamais faire) introduire du son dans la video. C'est vraiment dommage car le visionnage d'un trade sans entendre un «ding» ou un «dong» à chaque OPU (ouverture de position, fermeture de position, posage d'une limite=0 ) est assez pénible.
Ça serait beaucoup plus confortable avec une illustration sonore. Bien-sûr que on peut poser une bande son à coté de la bande video dans la capsule avi mais sa construction se fait habituellement in-extenso. Son cheminement est parallèle à celui de la video.
Sauf que ici il s'agit d'introduire un ding synchronisé précisément avec un opu, et ça pour l'instant, et pour longtemps, je ne sais pas faire.

Pour fabriquer une video d'une longueur de 7min en gros il faut 2min. (32bits en profondeur de couleur à 20fps sur un format 1200*700 en gros) . C'est un peu long comme temps mais bon le code n'est pas fignolé. C'est fait à la truelle , je voulais déjà un code simple stable qui marche. Et puis faut se pencher sur le choix du codec et le niveau de compression des images.

Certainement une video en ligne cette semaine…(mais chut ! :mrgreen: )

Re: Labview

par Tartempion » 13 juin 2016 04:30

/!\ Me suis trompé dans le message précédent : ce sont les ouvertures qui sont horodatées à la seconde et non les fermetures sur limite touchée.

Replay
Cette semaine également verra la mise au point d'une option dans mon logiciel de trading, celle de trader non pas sur le stream de IG mais sur "le stream" d'une séance de bourse passée. Euh c'est du training-trading :roll:
Puisque le stream est stocké dans un "fichier de stream" (cf. message précédent) il suffit de choisir la date et roule ma poule !
Puisque les OPU sont stockés dans le même fichier on peut décider de publier ou de ne pas publier le stream des ordres exécutés durant la journée enregistrée entrelacé dans le stream des ticks pendant que l'on est en train de la refaire. Histoire de se comparer soi-même en temps réel.
Les ticks du fichier de stream sont horodatés en milliseconde donc aucun souci pour fournir un stream-replay qui reproduit parfaitement le stream originel. Cette semaine je mesurerai la gigue mais elle doit certainement être inférieure à la durée minimale relevée entre les timestamps de deux ticks consécutifs publiés et horodatés par les serveurs d'IG.

Le principe est très simple, tu crées:
* un producteur (de stream),
* un consommateur (=le logiciel de trading mais il existe déjà),
* une file d'attente.
Dans la file d'attente le producteur dépose les ticks en respectant entre deux dépots consécutifs les durées séparant les timestamps correspondant. File d'attente dans laquelle le consommateur extrait (lit et supprime) les éléments un par un aussi vite qu'il le peut de ce côté (il a du traitement à faire le pauvre et il sait qu'on est pressé ;) ) et si la file d'attente est vide il attent, jusqu'au timeout, qu'un élément soit déposé bien-sûr. Ce dernier cas correspond au fonctionnement usuel du logiciel de trading heureusement :musique: !

Le producteur est parallélisé sur un autre coeur que le consommateur du logiciel de trading.

L'avantage de cette architecture c'est que ça laisse la possibilité de mobiliser un troisième coeur (également consommateur du stream) pour des traitements parallélisés plus lourds qui alimentera une seconde file d'attente consommée par le logiciel de trading tous les x ticks.

J'ai commis une bourde car jusqu'à présent le logiciel téléchargeait chaque semaine le fichier agenda (perso je m'alimente sur abcbourse ça me suffit) et écrasait celui de la semaine précédente. Héhé ben maintenant faudra plus faire ça…

Re: Labview

par DarthTrader » 13 juin 2016 05:09

:top: beau boulot !!!!

Merci ! Mais tu ne dors jamais DarthTrader ??

par Tartempion » 13 juin 2016 05:11

Merci ! Mais tu ne dors jamais DarthTrader ?? À l'étranger ?

Re: Labview

par DarthTrader » 13 juin 2016 05:50

oui suis en amerique du sud , raison pour laquelle je veille sur le forum la nuit ...

Re: Labview

par Tartempion » 12 avr. 2017 22:43

Ouch ! Journal longtemps inactif (pourtant y a eu des évolutions depuis !).

L'actualité chaude c'est l'attente de la réception d'une carte Arduino commandée cette semaine.
A000066-Arduino-Uno-TH-1front.jpg
A000066-Arduino-Uno-TH-1front.jpg (94.28 Kio) Vu 563 fois

Première mission qui lui incombera : détecter mes pulsations cardiaques qui seront transmises et affichée par mon logiciel de trading. Avec certainement graphe tracé sous celui du dax ( :D ) et enregistrement dans un fichier. Je suis juste curieux de voir ce qui va en sortir :hein: .


Pour ce qui est de la programmation CUDA , ça marche mais j'ai encore rien connécté au logiciel de trading. Et à vrai dire je n'ai pas beaucoup bossé dessus par manque de temps. Quand je traderai plusieurs marchés à la fois peut-être (et encore) mais pour l'instant c'est en stand-by. Ça marche c'est ce qui m'importait le plus de savoir.

Ah oui y a un truc quand même qui me tient à cœur : configs similaires (i7 6700k ressources tranquilles), la prt en mode minimaliste en infos affichées se fait bien distancée par labview son gros avantage à labview c'est la parallélisation.. Déjà en marché calme la différence est visible à l'œil écrans cote à cote. Et quand ça papillote à fond sur les marchés alors là , labview la met dans le vent . (en mode chart et pas graphe pour ceux qui connaissent labview). Le mode chart est assez pauvre en interface (pas de curseur par exemple comme dans le graphe mais par contre ça se laisse jamais distancer par le buffer, il colle au marché j'adore le voir tracer sa route à fond) et puis toute façon le logiciel fonctionne sans souris mais tout à la manette. Curseur du graphe inutile dans ce cas. Y a les graphes pour les plus grandes échelles de temps à coté ou encore la prt qui offre un grand confort au niveau interface c'est vrai.


D'autres choses en tête. :mur:

Re: Labview

par Tartempion » 13 avr. 2017 00:05

Salut - , non ta question n'est pas bète. BeagleBone je connais juste de nom , Odroid inconnu au bataillon. J'avais acheté un Raspberry en 2015 (suite à cette file creer-serveur-raspberry-recuperation-de ... 10192.html mais bof revendu . C'est de l'informatique. C'est une bécane avec un linux (ou autre os ?), la diversité des capteurs numériques et analogiques (d'ailleurs je suis pas sûr qu'il gère les capteurs analogiques) est bien moins grandes il me semble dans le Rasp.
Arduino c'est pas une bécane, c'est une carte électronique qui peut interfacer un très grands nombres de capteurs analogiques ou numériques. Et puis surtout il existe une communauté Labview-Arduino très productive et ça m'arrange ;) . T'as juste à connecter la carte arduino au pc par un cable usb. Pas besoin de l'alimenter au secteur par exemple. Après tu bosses le code sur labview mais ça m'a l'air facile d'uploader le code vers la carte . Les modules de gestion - communication Labview - arduino sont gratuits, très bien documentés par National Instrument et par la communauté.
Mais oui un raspberry aurait certainement fait l'affaire.
Si quelqu'un (ou toi ) souhaite apporter des précisions sur Arduino / Raspberry dans cette file il est le bienvenu. Je débute ça sera ma première arduino.

Re: Labview

par chad » 13 avr. 2017 00:09

Salut TArtempaf !

tu veux capter tes pulsations cardiaques ? dans quel but ?

Re: Labview

par Tartempion » 13 avr. 2017 00:25

Oui dans un premier temps juste avoir les battements par minutes (bpm). Pour voir l'évolution des bpm parallèlement à celle du dax et de mes prises de positions. C'est peut-être un moyen supplémentaire de se surveiller.

En ce qui concerne un ecg , là ça serait une toute autre tâche. C'est la partie capteurs qui risque de poser le plus de problème que la partie traitement du signal. (en plus je dois avoir les cours sur les ecg dans mes pdf ! ou les demander à des anciens élèves). Bref faut bosser la théorie et la technique donc ça attendra . En plus trader avec des électrodes collées sur la poitrine punaise c'est quasiment injouable chaque jour.

Alors que pour les bpm il faut juste un petit capteur bien placé et discret et hop. Et puis ça me suffirait certainement comme mesure de l'état de stress .

Re: Labview

par chad » 13 avr. 2017 00:33

ok lol le dax en parrallèle avec les BPM !

ça peut etre funny !

pour l'ECG y'a des modeles très discrets maintenant
va falloir se tondre le torse !

y'a des trucs à brancher à l'iphone ou autre ... ça bouge bien en ce moment la médecine du futur, connectée ! pour éviter des déplacements chez le doc = gestion à distance ...

https://www.getqardio.com/fr/qardiocore-wearable-ecg-ekg-monitor-iphone/

https://www.google.fr/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=ecg+iphone


après est-ce que l'ECG est nécessaire dans ce cas ? BPM peut-etre suffisant

Re: Labview

par DarthTrader » 13 avr. 2017 01:17

excellent je connaissais pas ,
je viens de regarder un peu les forums, effectivement l Arduino semble plus simple a programmer et à interfacer avec pletore de capteur c est plus a comparer avec un automate / PLC qu avec un ordinateur
il a 5 entré Analogique et 14 I/O digital
ça à l air sympa , j attend avec impatiente des retours :top:

Re: Labview

par beni » 13 avr. 2017 05:56

Waou ! Sacré projet :top:
Pour les graphes, faire des chandelles c'est possible avec LabView ?

Re: Labview

par Tartempion » 13 avr. 2017 13:21

salut beni ! Pas nativement. J'avais cherché un peu et y a une boite privé qui vend un pakage mais j'ai pas pu tester leur demo parce qu'il faut la version 2015 minimum (que j'ai pas). De mémoire , dans le libre certains ont essayé mais ça doit au minimum perdre en rapidité et au pire tourner en en machine à gaz. Je dis pas que c'est pas possiible mais je pense qu'il vaut mieux se tourner vers l'intégration d'un control .NET au lieu de réinventer la roue avec un langage qui n'est pas fait pour les chandelles. Par ailleurs j'ai jamais tradé à la chandelle je fais un blocage. Je crois que takapoto aussi trade "au trait" . La chandelle ça m'intéresserait pour les grandes périodes, les grandes échelles de temps. Mais pour ça y a la prt sur une config à part qui permet d'avoir une vision globale et une interface hyper confortable.
Donc pour répondre à ta question je pense que le mieux à faire pour quelqu'un qui souhaite des bougies c'est d'intégrer un control .NET. (ou un active-X si ça existe pour celui qui préfèrerait cette techno ).

Pour l'interface graphique c'est vrai que c'est pas top mais en jouant avec la transaparence des objets on peut améliorer un peu l'esthétique . En plus quand on fait une recherche sur le web on tombe toujours sur des captures d'écrant avec un graphisme années 90 genre concours de mocheté. :hein:

Lancer prt dans labview c'est carrément impossible et pas désirable d'ailleurs. Au mieux le lancer depuis labview comme depuis le bureau mais je crois que c'est falex qui avait expliqué la difficulté. Faudrait lui redemander. Pour ne pas reproduire chaque matin la même procédure :
 se connecter sur le site d'IG
cliquer 3 ou 4 fois
puis fermer la fenetre du navigateur.

Re: Labview

par beni » 13 avr. 2017 17:11

Tartempion a écrit :Je crois que takapoto aussi trade "au trait"
On est 3 alors ;). J'ai abandonné les bougies quand je suis passé par les API. Un seul graph en tick par tick et comme tu le dis, quand il y a de la volatilité même avec une connexion moyenne et un PC moyen, ca pulse !
Merci pour pour la réponse, j'étais septique sur l'utilisation de Labview mais tu m'a fait ravaler mon caquet :mrgreen: :lol: :mercichinois: