|
| Envoyé par capitol le 20 Mars 2008 à 15:06
|
|
|
Je reviens vers vous, et je vais simplifié ma question peut etre que je ne suis pas très clair.
Est il possible que le programme easylangage se lance dans une échelle plus petite que la minute ?
Je voudrais faire un test quasi permanent, au moins toutes les 10 secondes, pour savoir si mon ordre a seuil de déclenchement est en position ou non...
Comment puis je faire ?
|
|
Haut de la page |
| |
|
|
| |
| Envoyé par marcd le 21 Mars 2008 à 14:40
|
|
|
backtest ou temps reel?
Vous pouvez utiliser look inside bar dans tradestation et specifier "en tick" pour du backtest. Ou alors afficher le graphe en ticks. L'historique est cependant limite a 90j
Je ne recommande pas de faire des strategies en tick car de ttes facons les ordres n'auront pas le temps d'etre annules que vous en passerez deja d'autres
__________________ Marc Defosse
|
|
Haut de la page |
| |
| Envoyé par capitol le 21 Mars 2008 à 15:21
|
|
|
Ok merci marc je crois comprendre le principe, mon programme deviendrait une véritable usine à gaz.
Je crois que la meilleure solution serait de lié les ordres entre eux, mais est ce possible dans Tradestation ?
A la manière d'un OCO (ordre cancels order), si je suis dans un canal, je pose donc deux ordres a seuil de déclenchement l'un sur le support, l'autre sur la résistance et j'attends simplement un break de part et d'autre
Comment dois-je écrire en Easylangage pour que l'un des deux ordres s'enlèvent si l'autre se déclenche, soit comment écrire sous EL un OCO et un OSO svp ?
Editer par capitol sur 21 Mars 2008 à 18:42
|
|
Haut de la page |
| |
| Envoyé par marcd le 21 Mars 2008 à 22:04
|
|
|
tu n'as pas besoin. En Eesylanguage la strategie ne rentre qu'une fois a moins que tu demandes de pyramider
Donc si tu mets It time = 1000 then begin buy next bar at highest(high,3) stop; sellshort next bar at lowest(low,3) stop; end;
Le premier ordre execute ne permettra pas a l'autre de rentrer en position (sauf si tu precises de pyramider les ordres dans les parametres de la strategie de tradestation).
Lire guides Tradestation pour de plus amples renseignements sur comment pyramider/ne pas pyramider.
__________________ Marc Defosse
|
|
Haut de la page |
| |
| Envoyé par capitol le 22 Mars 2008 à 15:43
|
|
|
Bonjour (et merci de vous prendre la tête avec mon cas désespéré ),
J'ai le guide de Tradestation sur Easylanguage et Tradestation, mais ils ne m'apportent pas d'aide sur ce que je recherche précisément (je l'ai acheté il y a un moment, peut etre y a t'il eu des évolutions?).
Dans mon système, construit sur des moments particuliers, je ne peux pas me servir du temps, et je ne peux pas savoir quand le break va avoir lieu, ni dans quel sens. En une minute il peut très bien y avoir un break dans un sens ou dans l'autre.
Je désire réellement dissocier deux choses. D'une part mes instructions easylanguage qui se lance toute les barres (dans mon cas en 1 mn), et qui gère mes entrées de trade, et d'autre part, la plate forme tradestation qui gère elle même en temps réel les sorties par les stops de protection et les objectifs de gain.
Donc deux solutions se présentent à moi à mon avis :
- Soit j'ai moyen de savoir en tick par tick quel ordre a été exécuté, dans ce cas j'annule celui que je ne désire plus.
- Soit, et là si c'est possible, cela m'éviterait de longues heures de programmation, je souhaiterai non seulement programmé en easylanguage des OSO (par exemple si un ordre long est executé, un ordre limit (objectif de gain) et un ordre stop (stop de protection) se lanceraient automatiquement), mais aussi des OCO (le premier de l'ordre limit, ou du stop qui est touché dans l'exemple précédent annulerait automatiquement l'autre).
Je pense tout de même que cela doit existé sur easylanguage, sans ça, je trouverai vraiment peu puissant ce langage de programmation dans le secteur du passage d'ordre, par rapport à la plate forme qui elle, le gère très bien en manuel (voir dans l'aide de Tradestation "Understanding OCO/OSO Templates" qui parle précisément de ce que je voudrais, mais il ne parle pas dans EasyLanguage, uniquement dans la plate forme Tradestation a partir de l'order bar et de la Matrix ).
Mon système est pret à etre taper, il ne me manque plus que ce point là, et j'avoue que j'en suis frustré!
Editer par capitol sur 22 Mars 2008 à 15:58
|
|
Haut de la page |
| |
| Envoyé par marcd le 26 Mars 2008 à 19:54
|
|
|
les ordres OCO/OSO n'ont pas besoin d'exister en EasyLanguage. Le premier ordre qui s'execute ne permet plus aux autres d'etre executes. Donc le OCO est par defaut.
Si tu travailles sur des plus petits intervalles que la minute passe ton graphe sur du tick. une fois encore est-ce en backtest ou temps reel?
Editer par marcd sur 26 Mars 2008 à 20:09
__________________ Marc Defosse
|
|
Haut de la page |
| |
| Envoyé par capitol le 26 Mars 2008 à 20:23
|
|
|
C'est uniquement en backtest.
Mais j'avoue que sans ordre OCO/OSO je ne vois pas comment mettre deux ordres à seuil de déclenchement, l'un sur le support l'autre sur la résistance, pour capter le breakout et que celui qui se déclenche enlève celui qui est posé, et ensuite enchainer encore sur le meme shcéma pour prendre le breakout suivant, pour enfin arréter ?
|
|
Haut de la page |
| |
| Envoyé par capitol le 27 Mars 2008 à 19:15
|
|
|
En me renseignant sur le site aazsysteme, j'essaie d'étudier toutes les possibilités.
Sachant que mes ordres à seuil de déclenchement sont posé en fonction des bougies dessinées (forme, couleur, etc...) à la minute, je pourrais étudier la couleur des bougies grace a un compteur de minute, dans mon programme en tick par tick, qui me précise toute les minutes, quel sont les formes/couleurs des bougies prédédentes, et ou est le support et ou est la résistance.
Ensuite, je pourrais effectivement faire que mon programme étudie chaque tick, pour savoir qui de la résistance, ou du support est franchit dans la minute (un ordre ne se lançant pas si l'autre est exécuté).
Par contre, et j'en reviens toujours là, comment puis je faire si je veux capter le second break up ou break down ? je dois bien savoir si tel ou tel ordre a été executé avant. Et deuxièmement, comment lui dire d'arréter si j'ai fait deux trades dans la journée, car je m'arrète au deuxième trade ?
PS : Je maintiens par contre (et je pense qu'ils le feront dans le future, car la plateforme NinjaTrader semble pouvoir annuler des ordres dans son code apparemment) que l'utilisation des OCO/OSO serait non seulement une économie d'instruction dans easylanguage, mais je pourrais mettre mon code toute les minutes, et non pas à chaque tick, ce qui a pour conséquence une analyse perpétuel que tout le monde semble déconseillé, n'est ce pas ?
Editer par capitol sur 27 Mars 2008 à 19:17
|
|
Haut de la page |
| |
| Envoyé par capitol le 29 Mars 2008 à 22:18
|
|
|
hello,
Dans un backtesting en tick par tick, je peux récupérer les informations comme HighD, LowD qui permettent de récupérer les haut et bas des bougies journalières précédent, ce qui est très utile en Intraday.
Maintenant, comment puis je récupérer les informations suivantes, toujours dans un backtesting en tick par tick : Close, High, Low, Open des bougies en une minute ? Dois je tout programmer moi meme pour récupérer ces informations toutes les minutes, c'est à dire qu'a chaque tick je dois stocker des infos comme le prix le plus haut, la close de chaque bougie dans un tableau par exemple, et qu'en arrivant a hhmm (fonction time), je stocke le plus haut, le plus bas, le close, etc...?
Est ce que je peux utiliser la fonction time, dans le backtest en tick par tick ?
(je ne suis pas sorti de l'auberge...)
Editer par capitol sur 29 Mars 2008 à 22:29
|
|
Haut de la page |
| |
| Envoyé par capitol le 31 Mars 2008 à 14:23
|
|
|
Re-Bonjour,
Après moultes études du tick bar, j'arrive enfin a entrevoir le bout de ma stratégie.
Je vous explique (vive les tartines ).
Dans un backtesting en tick par tick, où chaque barre représente un tick, en gros, je repère tous les moments où le temps change (avec la fonction time), et je peux donc voir les minutes. Je peux donc gérer mes entrées et mes sorties de position en temps réel.
Maintenant, j'arrive encore à une limite
Le logiciel me dit que je n'ai droit qu'a un maximum de 60000 barres sur le backtesting...
Cela représente donc 60000 ticks.
Prenons l'exemple de INTC, action du Nasdaq 100.
Sachant que sur cette action, il y a environ 6 tick par secondes.
En une minute : 60 * 6 = 360 barres
En 45 mn(temps sur lequel je reste sur le Nasdaq en général pour une journée) : 360 * 45 = 16200.
60000/16200 = 3.7, on va arrondir a 4 pour être gentil.
Cela voudrait dire que sur Tradestation, je peux utiliser ma stratégie pour un backtest UNIQUEMENT SUR LES 4 DERNIERS JOURS ??
Dites moi si je me suis trompé, mais si j'ai raison, excusez moi, mais Tradestation est bourré de limite... Ou que j'aille, je suis confronté a une barrière.
Soit j'utilise ma stratégie en une minute, mais je ne peux pas poser des OCO/OSO.
Soit j'utilise ma stratégie en tick par tick, et dans ce cas, je suis confronté a un problème de taille (sans jeu de mot).
S'il s'avère que j'ai raison, pour une première mise en programmation sur des plate formes boursières, je suis bien déçu des possibilités de Tradestation...
Editer par capitol sur 31 Mars 2008 à 14:27
|
|
Haut de la page |
| |
|
|