Bonjour à toutes et tous est-il possible au sein d’un même barre de placer plusieurs ordres avec des règles d’execution?
Merci bien de vos retours.
On peut en effet placer plusieurs ordres conditionnels (STOP ou LIMIT) au même moment, et à des niveaux différents si besoin. Si tu as un descriptif de ce que tu souhaites faire, alors je pourrai le programmer.
Bonjour Nicolas,
Je tombe sur ce post, dommage que l’auteur n’ait pas poursuivi car je cherche la réponse 😀
Je cherche à positionner 3 ordres lorsqu’une condition X est réunie :
L’ordre n°1 aurait au stoploss à 40 pips et un take profit à 20 pips
L’ordre n°2 aurait au stoploss à 40 pips et un take profit à 40 pips
L’ordre n°3 aurait au stoploss à 40 pips et un tale profit à 60 pips
Merci de ton aide 🙂
C’est un peu différent ici, je parlai d’ordres d’entrée en position de type LIMIT et STOP.
On peut aussi utiliser ce genre d’ordres pour fermer des positions, mais le déclenchement d’un seul fera fermer automatiquement l’ensemble des positions.
Par contre, on peut utiliser la fermeture partielle, qui devrait être possible désormais en V11 avec IG.
Soit selon tes besoins :
if condition then
buy 3 contracts at market
sell at close+20*pointsize limit
sell at close+40*pointsize limit
sell at close+60*pointsize limit
set stop ploss 40
endif
if longonmarket then
sell at tradeprice+20*pointsize limit
sell at tradeprice+40*pointsize limit
sell at tradeprice+60*pointsize limit
endif
A tester.
Re,
Voici le code que j’essaye de travailler :
Defparam cumulateorders = true
n = 3
IF TIME = 080000 THEN
HAUT = highest[2](high)
BAS = lowest[2](low)
Achatjour = 0
ventejour = 0
//amplitude = haut-bas
ENDIF
Ctime = time >= 100000 AND time <= 180000
Ccanal = close < haut and close > bas
IF Ctime and Ccanal then
IF achatjour = 0 THEN
buy n share at haut stop
sell at close+20*pointsize limit
sell at close+40*pointsize limit
sell at close+60*pointsize limit
set stop ploss 40
endif
endif
If ctime and ventejour = 0 and Ccanal THEN
sellshort n shares at BAS stop
sell at close+20*pointsize limit
sell at close+40*pointsize limit
sell at close+60*pointsize limit
set stop ploss 40
endif
if longonmarket then
sell at tradeprice+20*pointsize limit
sell at tradeprice+40*pointsize limit
sell at tradeprice+60*pointsize limit
endif
IF longonmarket THEN
achatjour = 1
ENDIF
IF shortonmarket THEN
ventejour = 1
ENDIF
Je cherche a faire la chose suivante :
- 3 Ordres d’achats sur le plus haut (ou 3 ordres de ventes sur le plus bas) de la période 07h/08h avec prise de position après 10h00
- Les ordres achat/vente peuvent se cumuler
- Les stop sont placés à chaque fois à 40 pips, et les TP respectivements à 20, 40 et 60 pips
Avec le code ci dessus : les TP distincts ne sont pas pris : un seul TP pris a 20 PIPS pour les trois ordres.
Une autre idée ? Par ailleurs comment faire pour que quand le système à passé les 3 ordres de vente et/ou les 3 ordres d’achats, il n’en cumule pas dans la même journée. En gros que cela soit limités à 6 au max (3 achat et 3 ventes) ? Car là il me prends des 6 voir 9 ordres parfois.
Merci
Ce code plutot :
Defparam cumulateorders = true
n = 3
IF TIME = 080000 THEN
HAUT = highest[2](high)
BAS = lowest[2](low)
Achatjour = 0
ventejour = 0
//amplitude = haut-bas
ENDIF
Ctime = time >= 100000 AND time <= 180000
Ccanal = close < haut and close > bas
IF Ctime and Ccanal then
IF achatjour = 0 THEN
buy n share at haut stop
sell at close+20*pointsize limit
sell at close+40*pointsize limit
sell at close+60*pointsize limit
set stop ploss 40
endif
endif
If ctime and ventejour = 0 and Ccanal THEN
sellshort n shares at BAS stop
EXITSHORT at close+20*pointsize limit
EXITSHORT at close+40*pointsize limit
EXITSHORT at close+60*pointsize limit
set stop ploss 40
endif
IF longonmarket THEN
achatjour = 1
ENDIF
IF shortonmarket THEN
ventejour = 1
ENDIF
Je me permets de remonter, si jamais à qqun à une idée 🙂
En effet, erreur de ma part, dans mon premier code je demandais la clôture de l’ensemble des positions sur le même niveau de prix, désolé.
if condition then
buy 3 contracts at market
sell 1 contract at close+20*pointsize limit
sell 1 contract at close+40*pointsize limit
sell 1 contract at close+60*pointsize limit
set stop ploss 40
endif
if longonmarket then
sell 1 contract at tradeprice+20*pointsize limit
sell 1 contract at tradeprice+40*pointsize limit
sell 1 contract at tradeprice+60*pointsize limit
endif
Dans ton code avec les exitshort, pour fermer les positions de vente à découvert, tu dois fermer à un seuil de prix au dessous du prix d’ouverture et non au dessus si t u veux que ce soient en gains.
Par ailleurs, tu dois aussi remettre les positions en attente à chaque chandelier, car elles expirent à chaque chandelier, comme dans mon exemple ci-dessous avec la condition pour les remettre: “if onmarket …”
Pour quelle raisons le code en vente ne fonctionne t-il pas ? il me clôture les 3 positions à 60 pips :
If Condition then
sellshort 3 contract at bas stop
EXITSHORT 1 contract at close-20*pointsize limit
EXITSHORT 1 contract at close-40*pointsize limit
EXITSHORT 1 contract at close-60*pointsize limit
set stop ploss 40
endif
if longonmarket then
EXITSHORT 1 contract at tradeprice-20*pointsize limit
EXITSHORT 1 contract at tradeprice-40*pointsize limit
EXITSHORT 1 contract at tradeprice-60*pointsize limit
endif
Trouvé, arf ! Il fallait mettre “If ShortonMarket” 🙂 je mets la réponse si ca peut aider :
if ShortOnMarket then
EXITSHORT 1 contract at tradeprice-20*pointsize limit
EXITSHORT 1 contract at tradeprice-40*pointsize limit
EXITSHORT 1 contract at tradeprice-60*pointsize limit
endif