|
| Envoyé par marto le 10 Février 2006 à 08:37
|
|
|
Bonjour,
Je me lance dans du day trading automatique sur ES.D en 1 ou 5 minutes.
J’ai une stratégie long dont la sortie consiste en :
Sell next bar at high limit ;
Je n’ai pas précisé le nombre de contrats dans le code mais l’option par défaut des
propriétés de la stratégie est restée sur 1 contrat.
J’ai rencontré plusieurs problèmes (forcément, je débute):
1/Le premier problème est que le niveau de sortie, matérialisé par une ligne horizontale
placée à hauteur de ce high limit, et qui est censée se déplacer de bar en bar si je reste
dans le marché, se maintient de temps en temps au high initial.
De plus, quand cela se produit,TS ne se gêne pas pour placer un nouvel ordre « buy » , et
éventuellement l’exécute, ce qui fait que je me retrouve avec 2 contrats sur le marché.
J’ai pu gérer tout ça à la main dans la fenêtre Order de Trademanager, mais comment
peut-on éviter ce problème ?
2/il faut un certain pour que soit exécuté l’ordre.L’ordre peut aussi bien être exécuté la
première fois que la limite est atteinte que la cinquième fois ou jamais.
J’estime que l’ordre a été validé en réel moins d’une fois sur 2 que sa validation virtuelle.
Par contre je n’ai aucun problème de slippage.Quand l’exécution est faite c’est toujours au
prix demandé.
Y a-t-il une méthode pour diminuer cette incertitude concernant l’exécution ?
Est-ce une question de broker ?(je trade avec TS)
3/un ordre en attente dans le fenêtre Order de Trademanager s’annule pour raison
inconnue (le fond devient jaune et le statut devient « UROut »).
Qu’est-ce qui provoque cela et comment redonner un ordre alors que je ne plus agir sur
cette ligne ?
C’est un peu stressant quand c’est l’ordre de sortie qui disparaît !
Merci à tous
PS:je crois que j'ai posé beaucoup de questions.
Des réponses partielles me conviendront!
|
|
Haut de la page |
| |
|
|
| |
| Envoyé par marcd le 10 Février 2006 à 12:11
|
|
|
marto a écrit:
Sell next bar at high limit ;
1/Le premier problème est que le niveau de sortie, matérialisé par une ligne horizontale
placée à hauteur de ce high limit, et qui est censée se déplacer de bar en bar si je reste
dans le marché, se maintient de temps en temps au high initial.
De plus, quand cela se produit,TS ne se gêne pas pour placer un nouvel ordre « buy » , et
éventuellement l’exécute, ce qui fait que je me retrouve avec 2 contrats sur le marché.
J’ai pu gérer tout ça à la main dans la fenêtre Order de Trademanager, mais comment
peut-on éviter ce problème ?
|
|
|
Salut Marto,
Je reponds a cette 1ere question. Le sell next bar at high Limit devrait se deplacer avec le marche : Oui. ce qu'il peut arriver c'est un certain retard entre le moment ou l'ordre tombe (a la fin de la barre suivante) et le moment ou l'autre ordre est place par tradestation / envoye au broker (les ordres limit sont envoyes a la difference des ordres stop qui sont gardes sur ta machine par tradestation et geres par easylanguage quand le marche atteint ce niveau). Ceci peut expliquer pourquoi le niveau ne bouge pas mais ce devrait etre le cas que quelques secondes. Ce opeut etre handicapant en day trading. certains clients qui font du scalp ont arrete l'automatisation sur de telles unites de temps (1mn)
Puis-je te demander s'il s'agit d'un stop de profit (a priori, vu que c'est une limte ) ou d'un stop de protection ? Je ne comprends pas quand tu dis, tradestation ne se gene pas pour placer un autre "buy". Je croyais que tu parlais d'un sell ?
Enfin, en backtest l'instruction easylanguage "sell" ne fait que sortit d'une position. En temps reel elle peut entrer short si tu n'es plus en position. Le mieux est donc d'utiliser l'instruction suivante dans tradestation :
if marketposition = 1 then
Sell next bar at high limit ;
ou de nommer tes ordres de day trading de la facon suivante
buy ("strat1") next bar at market
sell from entry("strat1") next bar at high limit
Dans ce cas la sortie n'est executee que s'il y a une entree "strat1" en cours. strat1 est un nom que tu definis toi-meme.
voila pour la 1ere reponse ...
__________________ Marc Defosse
|
|
Haut de la page |
| |
| Envoyé par marcd le 10 Février 2006 à 12:19
|
|
|
marto a écrit:
Bonjour,
Je me lance dans du day trading automatique sur ES.D en 1 ou 5 minutes.
J’ai une stratégie long dont la sortie consiste en :
Sell next bar at high limit ;
Je n’ai pas précisé le nombre de contrats dans le code mais l’option par défaut des
propriétés de la stratégie est restée sur 1 contrat.
J’ai rencontré plusieurs problèmes (forcément, je débute):
2/il faut un certain pour que soit exécuté l’ordre.L’ordre peut aussi bien être exécuté la
première fois que la limite est atteinte que la cinquième fois ou jamais.
J’estime que l’ordre a été validé en réel moins d’une fois sur 2 que sa validation virtuelle.
Par contre je n’ai aucun problème de slippage.Quand l’exécution est faite c’est toujours au
prix demandé.
|
|
|
L'ordre Limit n'est execute que s'il y a une contrepartie au prix demande. Tu seras execute a ce prix ou mieux. Sur le S&P, il faut soit que le marche passe cette limite de 1 tick pour etre sur d'etre servi (en general en tout cas) ou attendre que le carnet d'ordre se vide. le souci est que si tu travailles sur des intervalles de type 1mn, ton ordre est annule et recree sur chaque barre ... donc tu perds ta place dans le carnet d'ordre.
Dans ce cadre le broker t'execute une fois sur 2 ce qui n'est pas surprenant. C'est en general le cas et le retour qu'on a d'autres clients. Les solutions possibles sur tradestation sont (en vrac):
-> ordre market en autorisant la reactualisation intra-bar de la strategie. Par exemple :
if close >= high[1] then
buy this bar on close
-> garder les ordres limit mais les transformer en ordre market s'ils n'ont pas ete executes apres un certain delai. Pour ceci regarder les parametres de gestion de la strategie dans format strategies -> properties-> onglet automation. Fais une recherche sur le forum, de memoire j'en avais parle
-> passer sur des intervalles plus longs, i.e 10mn. L'ordre restera sur le marche plus longtemps donc le carnet d'ordre se videra plus vite
-> entrer a un niveau legerement inferieur, par exemple :
sell next bar at high - 0.25 limit;
reponse No2 ... Pas facile le day trading
__________________ Marc Defosse
|
|
Haut de la page |
| |
| Envoyé par marcd le 10 Février 2006 à 12:23
|
|
|
marto a écrit:
Bonjour,
Je me lance dans du day trading automatique sur ES.D en 1 ou 5 minutes.
J’ai une stratégie long dont la sortie consiste en :
Sell next bar at high limit ;
Je n’ai pas précisé le nombre de contrats dans le code mais l’option par défaut des
propriétés de la stratégie est restée sur 1 contrat.
J’ai rencontré plusieurs problèmes (forcément, je débute):
3/un ordre en attente dans le fenêtre Order de Trademanager s’annule pour raison
inconnue (le fond devient jaune et le statut devient « UROut »).
Qu’est-ce qui provoque cela et comment redonner un ordre alors que je ne plus agir sur
cette ligne ?
C’est un peu stressant quand c’est l’ordre de sortie qui disparaît !
|
|
|
statut :URout est a prononcer a l'anglaise U = you, R = are, Out = out. ce qui signifie "you are out". l'ordre est donc tombe soit:
1) a la cloture de la barre il est annule et remplace par le suivant (ce qui doit etre le cas de figure si tu es en automatique dans tradestation)
2) l'ordre n'est pas valide : dans ce cas regarde dans l'onglet "Messages" de tradeManager. Tu as acces au message d'erreur
Voila j'espere que cela repond a tes questions et je suis desole d'avoir monopolise le temps de parole. Je suis certain que le "Merci a tous" ne s'adressait pas qu'a moi
Bien a toi,
Pas de q
__________________ Marc Defosse
|
|
Haut de la page |
| |
| Envoyé par marto le 13 Février 2006 à 21:21
|
|
|
merci Marc de tes réponses.
Je n'ai tradé qu'une journée en intra-day et je ne me souviens pas exactement de tous les
paramètres que j'avais sous les yeux.
Malgré tout concernant ma stratégie longue oû 1 seul contrat est supposé acheté,je me suis
retrouvé dans la position suivante:
1 ordre buy "filled"
+1 ordre sell "received"
+1 ordre buy "received" (qui s'est même transformé en "filled" alors que le sell était
toujours "received",du coup 2 contrats en position)
|
|
Haut de la page |
| |
|
|