Bonjour à tous ,
Excusez moi si la question a déjà été posée mais je n’ai pas trouvé d’info à ce sujet dans le forum .
Dans le cadre d’un compte chez IB pour un contrat future Mini Nasdaq ou MicroE- mini Nasdaq :
J’ai crée un indicateur “HA” qui réunit mes conditions pour ouvrir 1 position Longue et un autre indicateur “FERMER” qui réunit mes conditions pour cloturer une position longue .
Je souhaiterai passer un ordre d’ouverture longue associée à une alerte sur mon indicateur “HA” que je mettrai sur 1 graphe du Mini Nasdaq, et un ordre de vente associée à autre alerte sur mon indicateur “FERMER” sur un autre graphe du mini Nasdaq , de manière à ce que si les conditions de fermeture apparaissent l’ordre de vente soit passée pour fermer ma position longue.
Mais le danger est que si les conditions de fermeture existent alors qu’il n’a y jamais eu d’ouverture longue alors j’aurai une position short à la place d’avoir clôturer une position longue. ceci pourrait etre corriger en rajoutant un test SI LongOnMarket.
d’ou mes questions
1/ Est que la fonction LongOnMarket ne fonctionne que dans le cadre d’une stratégie ou elle fonctionne aussi dans le cadre d’un indicateur ce qui voudrait dire que cette fonction interroge mon compte chez IB ???
( Bien entendu avant il faut verifier qu’il n’y a aucune autre position ouverte sur éventuellement d’autres instrument financier. )
2/ j’ai compris que les alertes disparaissent à la fin de la journée. Cela veut il bien dire que l’alerte disparaitra bien à la cloture du miniNasdaq soit à 23h00
Vous remerciant à l’avance pour votre reponse .
voici un exemple
oui longonmarket ,buy ,sellshort et exitshort ne marche pas dans un indicateur
signal=0
if condition pour un achat then
signal=1
endif
if condition pour une vente sans longonmarket then
signal=-1
endif
return signal
Mais le danger est que si les conditions de clôture existent et qu’il n’y a jamais eu d’ouverture longue, j’aurai une position courte au lieu d’avoir fermé une position longue.
Je n’ai peut-être pas bien compris, mais cela peut aider…
- Entrée longue = Acheter
- Sortie longue = Vendre
- Entrée courte = SellShort
- Sortie courte = Sortiecourte
Merci de vos retours.
Fifi743 : Non cela ne fonctionne pas. car vendre sans etre certain d’avoir eu une entrée longue auparavant aura pour resultat d’avoir une Entree courte / position short ce qui n’est pas ce que l’on veut
GraHal : Oui oui tout à fait . en reprenant ton vocabulaire : je veux faire une ” Sortie Longue ” en etant certain d’avoir eu auparavant une “Entrée longue” de manière à éviter de faire une ” Entrée courte ” !!!!!! Ouf … c’est mieux comme ceci ??? 🙂
Bon en fait la solution est de rajouter dans l’indicateur de ” Sortie Longue ” les conditions d’ ” Entrée Longue ” afin de créer artificiellement par un flag le LongOnMarket de la stratégie qui n’existe pas dans les indicateurs .
Si vous avez vendre dans votre code, la vente ne peut entraîner que la sortie d’un long.
Si vous avez ExitShort dans votre code, ExitShort ne peut entraîner que la sortie d’un Short.
En d’autres termes …
La vente ne peut jamais entraîner l’entrée d’un short.
ExitShort ne peut jamais entraîner l’entrée d’un long.
avec deux variables ça marche.
comme ceci
signalL=0
signalS=0
if condition pour un achat then
signalL=1
endif
if condition pour fermer le Long then
signalL=-1
endif
if condition pour une vente then
signalS=1
endif
if condition pour fermer le short then
signalS=-1
endif
return signalL,signalS
Merci fifi743, Merci Grahal,
Grahal,
Je commence alors à être perdu !!!
Vous mentionnez
” ———–
La vente ne peut jamais entraîner l’entrée d’un short.
ExitShort ne peut jamais entraîner l’entrée d’un long.
———— ”
1/ Pourquoi voit on dans la majorite des stratégies dans les codes donnés par Nicolas etc ….. , un test If LonOnMarket Then Sell , ou IF ShorOnMarket then ExitShort ?
2/ Quel est alors l’utilité de ces tests , avant de cloturer une position ????
( Mais je me mélange peut etre les pinceaux ????? )
Tous mes meilleurs voeux pour la nouvelle année
Pourquoi voit-on dans la majorité des stratégies dans les codes donnés par Nicolas etc….., un test If LonMarket Then Sell, ou IF ShorOnMarket then ExitShort ?
Je n’utilise presque jamais ‘If Longonmarket’ et je n’ai aucun problème … pour moi, Vendre n’aboutit qu’à une sortie longue s’il y a une position longue ouverte.
J’ai toujours DEFPARAM Cumulate Orders = False comme 1ère ligne de mon code.
Si LongonMarket utilisé dans une stratégie peut être nécessaire pour agir sur un autre ensemble de conditions (en dehors de Vendre) entre le If et Endif … par exemple pour changer un drapeau, etc.
Peut-être que les “grands” 😉 peuvent mieux répondre à votre question que moi ?
Un exemple d’extrait de code serait utile pour discuter si vous pouvez trouver et publier ?
Bonjour GraHal,
Mille excuses de mon absence. Je reprends maintenant.
OK , pas de problème concernant le point de detail sur LongOn Market et je partage ton point de vue .
MAis nous avons devié un peu du sujet car de toute maniere nous ne sommes pas dans le cas d’un stratégie mais dans le cas d’ordre associée à une alerte. Donc il est certain que si j’associe un signal de fermeture de position (ordre de vente ) à une alerte et que je n’ai pas de position longue alors je me retrouverai avec une vente à découvert.
Le code Fifi fonctionne-t-il pour ce que vous voulez ?
https://www.prorealcode.com/topic/ordre-associee-a-1-alerte-test-longonmarket/#post-206428
https://www.prorealcode.com/topic/ordre-associee-a-1-alerte-test-longonmarket/#post-206571
Si ce n’est pas le cas ou si vous ne savez pas comment ajouter (code Fifi) au code indicateur que vous utilisez, alors peut-être que si vous publiez votre code indicateur, Fifi ou quelqu’un peut vous aider ?
Je viens de penser à …. si vous utilisez l’indicateur Fifi comme indicateur 2, définissez votre alerte pour exécuter un ordre uniquement si l’indicateur 2 et l’indicateur 1 sont tous les deux vrais / = 1 ?
Merci beaucoup, mais non les indicateurs FIfi ne peuvent pas fonctionner car les conditions pour un achat ne sont pas remanentes, elles ne sont pas vrai tout le temps.
Je vais simplifier ma stratégie et poster le code simple cela sera plus compréhensible
Merci encore de votre aide
Bon ca y est j’ai trouvé et apres test cela a l’air de fonctionner . Pour les personnes qui peuvent etre interessées :
Soit HA la variable réunissant les conditions pour ouvrir une position longue et
CLO la variable réunissant les conditions de cloture d’une position longue . Et si on cloture les positions à 22h50 il faut aussi remettre à 0 la variable LongSurMarché
//**************** O U V E R T U R E L O N G U E ****************************
IF HA AND NOT LongOnMarket AND NOT daysForbiddenEntry THEN
BUY 1 SHARES AT MARKET
LongSurMarche = 1
ENDIF
//**************** C L O T U R E L O N G U E *********************
IF CLO THEN
SELL AT MARKET
LongSurMarche = 0
ENDIF
IF Time = 225000 Then
LongSurMarche = 0
ENDIF
Oups pardon j’ai fait un copier d’une partie de la strategie il faut :
//**************** O U V E R T U R E L O N G U E ****************************
IF HA THEN
LongSurMarche = 1
ENDIF
//**************** C L O T U R E L O N G U E *********************
IF CLO THEN
LongSurMarche = 0
ENDIF
IF Time = 225000 Then
LongSurMarche = 0
ENDIF