Laissez-moi vous dire pourquoi je veux utiliser LastOpenPrice(OP_BUY) et LastOpenPrice(OP_SELL) parce que je veux les utiliser dans certaines conditions comme par exemple
si ( LastOpenPrice(OP_BUY) -LastOpenPrice(OP_SELL)) > 0.0090 // pour cette raison j'ai besoin de garder le dernier ordre ouvert pour l'achat et le dernier ordre ouvert pour la vente, donc j'ai besoin d'un dernier ordre séparé un pour l'achat et l'autre pour la vente.
// Used to keep global variablesexternint MagicNumberLong = 6658641; //Identifies long positionsexternint MagicNumberShort = 4167090; //Identifies short positionsdouble LastOpenPrice(int ordertype)
{
double OpenPrice;
datetime lastOpen;
for ( int pos = OrdersTotal()- 1 ; pos >= 0 ; pos--)
if ( OrderSelect (pos, SELECT_BY_POS) // Only my orders w/
&& OrderMagicNumber() == MagicNumberLong || MagicNumberShort // my magic number // <------- what Magic Number do you use when you place a trade ? it must match ! !
&& OrderSymbol() == Symbol() // and my pair. // magic.number should be a Globally defined variable that has your Magic Numer
&& OrderType() == ordertype
&& OrderOpenTime() > lastOpen )
{
OpenPrice = OrderOpenPrice();
break;
}
return (OpenPrice); // <------- this returns the Order Open Price NOT the ticket
}
if ( ((iOpen("EURUSD",PERIOD_H1,0)-0.0030)>=MarketInfo("EURUSD",MODE_BID)) )
{ BUY("EURUSD",B_EURUSD_LS_0,B_EURUSD_TP_0,B_EURUSD_SL_0,B_EURUSD_TS_0,"if ( ( ((iOpen(EURUSD,PERIOD_H1,0)-0.00...") ;}
if ( ( (LastOpenPrice(OP_BUY)-0.0030)>MarketInfo("EURUSD",MODE_BID) ) )
{ SELL("EURUSD",S_EURUSD_LS_1,S_EURUSD_TP_1,S_EURUSD_SL_1,S_EURUSD_TS_1,"if ( ( (LastOpenPrice(OP_BUY)-0.0030)>=MarketInfo(" EURUSD",MODE_BID) ) )") ;}
if ( ( ((iOpen("EURUSD",PERIOD_H1,0)+0.0030)<=MarketInfo("EURUSD",MODE_BID)) ) )
{ SELL("EURUSD",S_EURUSD_LS_0,S_EURUSD_TP_0,S_EURUSD_SL_0,S_EURUSD_TS_0,"if ( ((iOpen(EURUSD,PERIOD_H1,0)+0.00...") ;}
if ( ( (LastOpenPrice(OP_SELL)+0.0030)<MarketInfo("EURUSD",MODE_BID) ) )
{ BUY("EURUSD",B_EURUSD_LS_1,B_EURUSD_TP_1,B_EURUSD_SL_1,B_EURUSD_TS_1,"if ( ( (LastOpenPrice(OP_SELL)+0.0030)<MarketInfo(" EURUSD",MODE_BID) )") ;}
Comme vous pouvez le voir dans les images
j'ai commencé à tester l'EA du 01/03/2011 au 11/04/2011
dans la première heure du 01/03/2011
la position a été ouverte mais aucune des conditions ci-dessus n'était disponible. cela m'a rendu vraiment fou.
l'explication de la fonction n.4 est-elle claire ?
fonction numéro 4 :
// je veux obtenir l'ordre fermé avant le dernier ordre fermé d'achat ou de vente.
4- fonction pour obtenir et conserver le cours de clôture précédent avant le dernier ordre de clôture d'achat ou de vente. merci.
Prix de clôture? prix de clôture de la barre précédant la barre où le dernier ordre a été clôturé ? ou prix de clôture de l'ordre d'achat ou de vente qui a été clôturé avant le dernier ordre clôturé ?
le prix de clôture de l'ordre d'achat ou de vente qui a clôturé avant le dernier qui a clôturé ?
Essayez ceci ...
Pour obtenir le dernier prix de clôture du dernier ordre qui était un achat ou une vente et qui correspondait au symbole et au numéro magique, faites ceci LastClosePrice(1)
Pour obtenir l'ordre précédent, faites ceci... LastClosePrice(2 )
double LastClosePrice(int Order)
{
double ClosePrice;
for ( int pos = OrdersHistoryTotal()- 1 ; pos >= 0 ; pos--)
if ( OrderSelect (pos, SELECT_BY_POS, MODE_HISTORY) // Only my CLOSED orders
&& OrderMagicNumber() == magic.number // my magic number // <------- what Magic Number do you use when you place a trade ? it must match ! !
&& OrderSymbol() == Symbol() // and my pair. // magic.number should be a Globally defined variable that has your Magic Numer
&& OrderType() < OP_BUYLIMIT )
{
Order--;
if (Order == 0) // determines if we have found the Order we are interested in
{
ClosePrice = OrderCloseprice();
break;
}
}
return (ClosePrice); // <------- this returns the Order Open Price NOT the ticket
}
REMARQUE : ce code ne fonctionnera pas avec vos numéros magiques comme indiqué dans votre code ci-dessus ....
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Les gars,
Merci beaucoup,
Laissez-moi vous dire pourquoi je veux utiliser LastOpenPrice(OP_BUY) et LastOpenPrice(OP_SELL) parce que je veux les utiliser dans certaines conditions comme par exemple
si ( LastOpenPrice(OP_BUY) -LastOpenPrice(OP_SELL)) > 0.0090 // pour cette raison j'ai besoin de garder le dernier ordre ouvert pour l'achat et le dernier ordre ouvert pour la vente, donc j'ai besoin d'un dernier ordre séparé un pour l'achat et l'autre pour la vente.
l'explication de la fonction n.4 est-elle claire ?
fonction numéro 4 :
// je veux obtenir l'ordre fermé avant le dernier ordre fermé d'achat ou de vente.
4- fonction pour obtenir et conserver le cours de clôture précédent avant le dernier ordre de clôture d'achat ou de vente. merci.
les gars,
Cela ne fonctionne vraiment pas
Comme vous pouvez le voir dans les images
j'ai commencé à tester l'EA du 01/03/2011 au 11/04/2011
dans la première heure du 01/03/2011
la position a été ouverte mais aucune des conditions ci-dessus n'était disponible. cela m'a rendu vraiment fou.
l'explication de la fonction n.4 est-elle claire ?
fonction numéro 4 :
// je veux obtenir l'ordre fermé avant le dernier ordre fermé d'achat ou de vente.
4- fonction pour obtenir et conserver le cours de clôture précédent avant le dernier ordre de clôture d'achat ou de vente. merci.
la deuxième option :
le prix de clôture de l'ordre d'achat ou de vente qui a clôturé avant le dernier qui a clôturé ?
la deuxième option :
le prix de clôture de l'ordre d'achat ou de vente qui a clôturé avant le dernier qui a clôturé ?
Essayez ceci ...
Pour obtenir le dernier prix de clôture du dernier ordre qui était un achat ou une vente et qui correspondait au symbole et au numéro magique, faites ceci LastClosePrice(1)
Pour obtenir l'ordre précédent, faites ceci... LastClosePrice(2 )
REMARQUE : ce code ne fonctionnera pas avec vos numéros magiques comme indiqué dans votre code ci-dessus ....
Les gars.
Y a-t-il quelqu'un qui peut utiliser le programme Teamviewer, puis nous allons accéder ensemble et vérifier quel est le vrai problème.
les gars,
Cela ne fonctionne vraiment pas
Comme vous pouvez le voir dans les images
j'ai commencé à tester l'EA du 01/03/2011 au 11/04/2011
dans la première heure du 01/03/2011
la position a été ouverte mais aucune des conditions ci-dessus n'était disponible. cela m'a rendu vraiment fou.
Ce n'est pas fou. Il est "raisonnable" qu'un ordre soit ouvert car :
Si la fonction ci-dessus retourne ZERO, alors n'importe quel scénario tel que celui ci-dessous peut se produire
Je vous suggère de placer une logique "maître", par-dessus tout cela. Si la fonction LastOpenPrice(...) renvoie zéro.... quel est votre plan de jeu ?