|
| Envoyé par nuno le 18 Novembre 2008 à 18:26
|
|
|
je souhaiterais avoir une precision sur
Sell next bar at MyStop Stop
Voici j'ai dans ma strategie un ordre d'achat qui est executé à 9h40 (cf historique ci dessous): jusque là c'est bon
je pose ensuite un ordre de protection
exemple
MyStop = 66.65;
If MP = 1 then
Sell next bar at MyStop Stop;
Le souci est que mon stop de protection n'est pas executé sur la 3e barre (09:45:00) alors que Close = 66.64
date, time, Open, High, Low, Close, Vol
08/08/2001,09:45:00,66.87,66.99,66.60,66.64,130500
pouvez vous me dire pourquoi?
le stop est executé à 14:00 à 66.03
date, time, Open, High, Low, Close, Vol
08/08/2001,09:35:00,66.99,67.00,66.48,66.62,180000
08/08/2001,09:40:00,66.61,67.00,66.60,66.81,141000 >> entree
08/08/2001,09:45:00,66.87,66.99,66.60,66.64,130500
08/08/2001,09:50:00,66.67,66.81,66.55,66.71,125300
08/08/2001,09:55:00,66.72,67.48,66.72,67.40,152600
08/08/2001,10:00:00,67.42,67.68,67.20,67.40,189800
08/08/2001,10:05:00,67.60,67.78,67.40,67.45,141900
08/08/2001,10:10:00,67.46,67.53,67.10,67.25,158800
08/08/2001,10:15:00,67.25,67.53,67.16,67.49,100400
08/08/2001,10:20:00,67.42,67.99,67.38,67.99,167100
08/08/2001,10:25:00,67.97,68.20,67.85,68.04,247300
08/08/2001,10:30:00,68.09,68.38,67.99,68.30,139700
08/08/2001,10:35:00,68.33,68.33,68.15,68.25,102200
08/08/2001,10:40:00,68.24,68.25,67.98,67.98,45800
08/08/2001,10:45:00,67.97,68.25,67.95,68.23,69100
08/08/2001,10:50:00,68.23,68.31,68.04,68.07,69600
08/08/2001,10:55:00,68.07,68.10,67.95,68.00,59000
08/08/2001,11:00:00,68.01,68.48,68.01,68.37,157100
08/08/2001,11:05:00,68.36,68.87,68.36,68.70,232500
08/08/2001,11:10:00,68.67,68.81,68.58,68.63,117200
08/08/2001,11:15:00,68.63,68.74,68.55,68.72,77400
08/08/2001,11:20:00,68.72,68.75,68.45,68.50,156600
08/08/2001,11:25:00,68.50,68.80,68.48,68.62,96100
08/08/2001,11:30:00,68.66,68.66,68.30,68.39,91600
08/08/2001,11:35:00,68.38,68.47,68.31,68.43,54500
08/08/2001,11:40:00,68.43,68.45,68.31,68.40,61900
08/08/2001,11:45:00,68.39,68.40,68.28,68.30,64900
08/08/2001,11:50:00,68.30,68.33,68.15,68.15,66800
08/08/2001,11:55:00,68.15,68.38,68.14,68.23,78900
08/08/2001,12:00:00,68.26,68.26,68.00,68.18,81800
08/08/2001,12:05:00,68.20,68.28,68.10,68.12,41200
08/08/2001,12:10:00,68.15,68.29,67.90,67.92,78200
08/08/2001,12:15:00,67.92,68.04,67.89,67.97,69600
08/08/2001,12:20:00,67.98,67.98,67.77,67.79,103700
08/08/2001,12:25:00,67.79,67.97,67.63,67.95,111300
08/08/2001,12:30:00,67.96,67.97,67.88,67.92,20700
08/08/2001,12:35:00,67.93,67.93,67.75,67.78,33100
08/08/2001,12:40:00,67.87,67.87,67.71,67.82,42100
08/08/2001,12:45:00,67.84,67.85,67.69,67.70,41800
08/08/2001,12:50:00,67.70,67.89,67.60,67.78,67900
08/08/2001,12:55:00,67.75,67.86,67.67,67.80,32800
08/08/2001,13:00:00,67.80,67.84,67.75,67.76,19300
08/08/2001,13:05:00,67.77,67.83,67.56,67.65,47900
08/08/2001,13:10:00,67.65,67.81,67.60,67.81,59500
08/08/2001,13:15:00,67.79,67.85,67.71,67.73,40400
08/08/2001,13:20:00,67.74,67.74,67.40,67.42,83500
08/08/2001,13:25:00,67.43,67.48,67.30,67.41,77400
08/08/2001,13:30:00,67.42,67.47,67.35,67.47,87800
08/08/2001,13:35:00,67.47,67.48,67.35,67.45,78200
08/08/2001,13:40:00,67.47,67.60,67.33,67.39,77000
08/08/2001,13:45:00,67.43,67.43,67.23,67.27,118100
08/08/2001,13:50:00,67.27,67.28,67.01,67.02,108800
08/08/2001,13:55:00,67.03,67.07,66.75,66.81,275100
08/08/2001,14:00:00,66.03,66.90,66.55,66.82,192000
08/08/2001,14:05:00,66.82,66.85,66.41,66.50,262700
08/08/2001,14:10:00,66.49,66.60,66.46,66.38,241900
Merci
Nuno
|
|
Haut de la page |
| |
|
|
| |
| Envoyé par marcd le 18 Novembre 2008 à 20:58
|
|
|
essaye d'enlever MP=1 et je dirai que ton ordre de trading devrait etre execute Merci de confirmer ...
__________________ Marc Defosse
|
|
Haut de la page |
| |
| Envoyé par nuno le 18 Novembre 2008 à 21:40
|
|
|
Marc
j'ai toujours le meme probleme : enlever 'If MP=1 then' n'a rien changé
voici le code
Vars:
LH1(0), LB1(0), MP(0), MyStop(0), Status(0);
{ CALCULATE PIVOTS AT THE BEGINING OF THE DAY }
If (Date <> Date[1]) then
Begin
LH1 = High;
LB1 = Low;
End;
MP = MarketPosition;
If (Date = Date[1]) and ((Time > Sess1StartTime) and (Time < Sess1EndTime)) and MP = 0 then
Begin
// Long sur LH1
If Close[1] < LH1 and Close[1] > LB1 and High >= LH1 then
Begin & nbsp;
Buy ("LongLH1") this bar on Close;
Status = 1;
End;
If Status > 0 then MP = 1;
End;
//If MP = 1 then
MyStop = 66.65;
Value1 = Text_New(D, T, MyStop,"*" );
Text_SetColor(Value1,Red);
Sell next bar at MyStop Stop;
SetExitOnClose;
|
|
Haut de la page |
| |
| Envoyé par marcd le 18 Novembre 2008 à 23:43
|
|
|
pourrais-tu essayer 2 choses:
- 1) mettre l'insytruction sell just en dessous de ton instruction Buy (dans ton If) et regarder ce qui se passe
2) si ca marche pas essaye exactement l'ordre inverse pour etre execute (sellshort et buyToCover a, disons, 66.90 par exemple)
Je n'ai pas TS devant les yeux donc ne peux pas tester mais j'ai rencontre par le passe des problemes avec des configurations buy/sell
__________________ Marc Defosse
|
|
Haut de la page |
| |
| Envoyé par nuno le 19 Novembre 2008 à 00:08
|
|
|
Marc
avec la 1ere solution
je sors de mon trade en fin de journee
Mon stop n'est pas activé du fait de MP=0 dans la condition If
Vars:
LH1(0), LB1(0), MP(0), MyStop(0), Status(0);
{ CALCULATE PIVOTS AT THE BEGINING OF THE DAY }
If (Date <> Date[1]) then
Begin
LH1 = High;
LB1 = Low;
End;
MyStop = 66.65;
MP = MarketPosition;
If (Date = Date[1]) and ((Time > Sess1StartTime) and (Time < Sess1EndTime)) and MP = 0 then
Begin
// Long sur LH1
If Close[1] < LH1 and Close[1] > LB1 and High >= LH1 then
Begin & nbsp;
Buy ("LongLH1") this bar on Close;
Status = 1;
End;
Sell next bar at MyStop Stop;
If Status > 0 then MP = 1;
End;
Value1 = Text_New(D, T, MyStop,"*" );
Text_SetColor(Value1,Red);
//Sell next bar at MyStop Stop;
SetExitOnClose;
avec la 2e solution
je suis stoppé à 10:00 à 67.5
date, time, Open, High, Low, Close, Vol
08/08/2001,09:35:00,66.99,67.00,66.48,66.62,180000
08/08/2001,09:40:00,66.61,67.00,66.60,66.81,141000 >> entree
08/08/2001,09:45:00,66.87,66.99,66.60,66.64,130500
08/08/2001,09:50:00,66.67,66.81,66.55,66.71,125300
08/08/2001,09:55:00,66.72,67.48,66.72,67.40,152600
08/08/2001,10:00:00,67.42,67.68,67.20,67.40,189800 &nbs p; > stoppé
08/08/2001,10:05:00,67.60,67.78,67.40,67.45,141900
08/08/2001,10:10:00,67.46,67.53,67.10,67.25,158800
Vars:
LH1(0), LB1(0), MP(0), MyStop(0), Status(0);
{ CALCULATE PIVOTS AT THE BEGINING OF THE DAY }
If (Date <> Date[1]) then
Begin
LH1 = High;
LB1 = Low;
End;
//MyStop = 66.65;
MyStop = 66.90;
MP = MarketPosition;
If (Date = Date[1]) and ((Time > Sess1StartTime) and (Time < Sess1EndTime)) and MP = 0 then
Begin
// Long sur LH1
If Close[1] < LH1 and Close[1] > LB1 and High >= LH1 then
Begin & nbsp;
//Buy ("LongLH1") this bar on Close;
SellShort ("ShortLH1") this bar on Close;
Status = 1;
End;
If Status > 0 then MP = -1;
End;
Value1 = Text_New(D, T, MyStop,"*" );
Text_SetColor(Value1,Red);
//Sell next bar at MyStop Stop;
BuyToCover next bar at MyStop Stop;
SetExitOnClose;
|
|
Haut de la page |
| |
| Envoyé par nuno le 20 Novembre 2008 à 15:54
|
|
|
JE REMONTE LA FILE
J'ai beau cherché : je ne vois pas d'ou vient l'erreur dans mon code
Si quelqu'un pouvait m'aider?
Nuno
|
|
Haut de la page |
| |
| Envoyé par marcd le 21 Novembre 2008 à 10:58
|
|
|
il ne semble pas y avoir de probleme. Juste pour etre sur essaie ca
If (Date = Date[1]) and ((Time > Sess1StartTime) and (Time < Sess1EndTime)) and MP = 0 then Begin // Long sur LH1 If Close[1] < LH1 and Close[1] > LB1 and High >= LH1 then Begin Buy ("LongLH1") this bar on Close; Sell next bar at MyStop Stop; Status = 1; End;
Quelle est l'action sur laquelle tu trades ? If Status > 0 then MP = 1; End;
Normalement la condition ne devrait pas influencer car au moment ou ton ordre d'achat est passe ton ordre de vente est egalement passe. Par contre l'ordre de vente n'est valable que sur la barre suivant ton ordre d'entree. C'est juste pour le test sur le jour que tu prends en compte
__________________ Marc Defosse
|
|
Haut de la page |
| |
| Envoyé par nuno le 25 Novembre 2008 à 18:50
|
|
|
Salut MarcD
l'action en question est QCOM (Nasdaq)
Voici le code modifié mais j'ai toujours le meme probleme
Mon stop n'est pas excuté sur la 4e barre (09:50) où close = 66.64 , Low = 66.55 et MyStop = 66.65.
Inputs:
TextSpacing(1.00);
Vars:
LH1(0), LB1(0), MP(0), MyStop(0), Status(0), StopDEPART(0);
{ CALCULATE PIVOTS AT THE BEGINING OF THE DAY }
If (Date <> Date[1]) then
Begin
LH1 = High;
LB1 = Low;
End;
MP = MarketPosition;
If (Date = Date[1]) and ((Time > Sess1StartTime) and (Time < Sess1EndTime)) and MP = 0 then
Begin
// Long sur LH1
If Close[1] < LH1 and Close[1] > LB1 and High >= LH1 then
Begin & nbsp;
Buy ("LongLH1") this bar on Close;
StopDEPART = 66.48;
End;
End;
If MP = 1 then
Begin
//MyStop
MyStop = 66.65;
// Exit Order
Sell next bar at MyStop stop;
// Visuel Stop
Value1 = Text_New(D, T, MyStop,"*");
//Value1 = Text_New(D, T, MyStop-TextSpacing,NumToStr(MyStop,2));
Text_SetColor(Value1,red);
End;
date, time, Open, High, Low, Close, Vol
08/08/2001,09:35:00,66.99,67.00,66.48,66.62,180000
08/08/2001,09:40:00,66.61,67.00,66.60,66.81,141000 >> entree
08/08/2001,09:45:00,66.87,66.99,66.60,66.64,130500
08/08/2001,09:50:00,66.67,66.81,66.55,66.71,125300
Nuno
|
|
Haut de la page |
| |
|
|