Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
A CodersGuru : besoin d'aide sur 10 points 3 EA....
Bonjour CodersGuru,
Je suis nouveau dans le commerce du forex et nouveau sur ce forum aussi. La première fois que j'ai appris est EuroX2_sl, étendu de 10 points 3 EA script. Après avoir fait quelques tests, cet EA a bien ouvert la position mais il n'a pas bien fermé la position comme j'en ai besoin lorsque le marché se retourne. Peut-être que quelque chose ne va pas dans le code (car je ne suis pas un programmeur) et je pense que j'ai besoin de votre aide pour le résoudre. Pourriez-vous vérifier quelle partie est incorrecte ?
La condition est la suivante :
1. OUVRIR L'ACHAT lorsque la condition de l'indicateur existe, c'est-à-dire le stochastique.
2. CLOSE BUY lorsque l'indicateur OPEN SELL existe, c'est-à-dire la stochastique.
3. OUVRIR VENTE lorsque la condition de l'indicateur ( no. 2 ci-dessus ) existe. ie : stochastique
4. CLOSE SELL lorsque la condition de l'indicateur ( no. 1 ci-dessus ) existe. ie : stochastique
Je pense que la position OUVERTE est correcte mais le problème est avec la POSITION FERMEE car elle n'a pas FERMÉ (ACHAT ou VENTE) même si l'indicateur existe.
Le code que j'ai fait est :
-------- partie du script de EuroX2_sl étendu de 10 points 3 comme je pense pour fermer la position -------
// il est important d'entrer sur le marché correctement,
// mais il est encore plus important d'en sortir correctement...
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;
if(OrderType()<=OP_SELL && // vérification de la position ouverte
OrderType()<=OP_BUY &&
OrderType()>=OP_SELL &&
OrderType()>=OP_BUY &&
OrderSymbol()==Symbol()) // vérification du symbole
{
//+--------------------------------------------------------------
if(OrderType()==OP_BUY) // une position longue est ouverte
{
//+-------------------------------------------------------------------
//+ CONDITION POUR FERMER LA POSITION
//+-------------------------------------------------------------------
//+--------------- FERMER LA POSITION D'ACHAT ----------------------------
si ( Stoch_Main_M15_Cu < Stoch_Sig_M15_Cu )
//+------------------------------------------------------------------
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet) ; // ferme la position
return(0) ; // sortie
}
//+-----------------------------------------------------------------------
// vérification du trailing stop
si(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
si(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green) ;
retour(0) ;
}
}
}
}
//+---------------CLOSE SELL POSITION --------------------------------
else // aller à la position courte
{//+ NE PAS SUPPRIMER
if(OrderType()==OP_SELL) // la position courte est ouverte
{
}
// doit-elle être fermée ?
//+----------------------------------------------------------------------------
si ( Stoch_Main_M15_Cu > Stoch_Sig_M15_Cu )
//+-----------------------------------------------------------------------------
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ; // fermer la position
return(0) ; // sortie
}
//+----------------------------------------
// vérification du trailing stop
si(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
si((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red) ;
retour(0) ;
}
}
}
}
}
}
--------------------------------------------------------------
Merci,
fxgroup
Lecture des données d'une autre fenêtre de paire de devises
Mon EA est dans la fenêtre "GBPJPY", mais j'ai besoin de trouver ObjectDescription() dans une autre fenêtre, disons "USDJPY". (Malheureusement, il s'agit d'un indicateur Pivot qui ne retourne pas les valeurs de iCustom()).
Quelqu'un connaît-il le moyen de faire référence à une autre fenêtre de paire (non courante) pour pouvoir utiliser des fonctions comme ObjectDescription() sur celle-ci ?
Ou bien MQ4 ne le permet pas ?
Merci de votre compréhension.
euro
Comment isoler les profits d'une devise des autres ?
color color_of_pipsprofit;
color_of_pipsprofit = White;
int m,totalbuy;
totalbuy=OrdersTotal();
for(m=0;m<totalbuy;m++)
OrderSelect(m, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips_profit=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
int n,totalsell;
totalsell=OrdersTotal();
for(n=0;n<totalsell;n++)
OrderSelect(n, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
ObjectCreate("pips_profit", OBJ_LABEL, 0, 0, 0);
ObjectSetText("pips_profit",DoubleToStr(pips_profit,2),14, "Verdana", color_of_pipsprofit);
ObjectSet("pips_profit", OBJPROP_CORNER, 3);
ObjectSet("pips_profit", OBJPROP_XDISTANCE, 35);
ObjectSet("pips_profit", OBJPROP_YDISTANCE, 20);
}J'ai créé ce codage, mais je n'arrive pas à isoler les bénéfices d'une devise des autres devises échangées. Que manque-t-il dans mon code ?
Veuillez réviser. Merci pour votre aide !
Dave
Profit
Essayez ce code :
{
int total = OrdersTotal();
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber)
{
Print(Profit(OrderType(),OrderSymbol(),OrderOpenPrice());
}
}
return(0);
}
double Profit(int type, string currency, double open)
{
if(type==OP_BUY) return((MarketInfo(currency,MODE_BID) - open) / MarketInfo(currency,MODE_POINT) ); //case buy
if(type ==OP_SELL) return((open - MarketInfo(currency,MODE_ASK)) / MarketInfo(currency,MODE_POINT)); //case buy
return(-1);
}[/php]
[php]
color color_of_pipsprofit;
color_of_pipsprofit = White;
int m,totalbuy;
totalbuy=OrdersTotal();
for(m=0;m<totalbuy;m++)
OrderSelect(m, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips_profit=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
int n,totalsell;
totalsell=OrdersTotal();
for(n=0;n<totalsell;n++)
OrderSelect(n, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
ObjectCreate("pips_profit", OBJ_LABEL, 0, 0, 0);
ObjectSetText("pips_profit",DoubleToStr(pips_profit,2),14, "Verdana", color_of_pipsprofit);
ObjectSet("pips_profit", OBJPROP_CORNER, 3);
ObjectSet("pips_profit", OBJPROP_XDISTANCE, 35);
ObjectSet("pips_profit", OBJPROP_YDISTANCE, 20);
}I created this coding, but I cannot isolate the profits of one currency from other currencies being traded. What am I lacking in my code??
Please review. Thanks for your help!
DaveEssayez ce code :
{
int total = OrdersTotal();
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber)
{
Print(Profit(OrderType(),OrderSymbol(),OrderOpenPrice());
}
}
return(0);
}
double Profit(int type, string currency, double open)
{
if(type==OP_BUY) return((MarketInfo(currency,MODE_BID) - open) / MarketInfo(currency,MODE_POINT) ); //case buy
if(type ==OP_SELL) return((open - MarketInfo(currency,MODE_ASK)) / MarketInfo(currency,MODE_POINT)); //case buy
return(-1);
}Salut Coder,
Ce n'est pas exactement ce dont j'ai besoin. Je joins une image de graphique pour illustrer ce que je recherche. Pouvez-vous modifier le codage pour afficher le profit ? Si oui, je peux faire en sorte que les couleurs changent en fonction du montant du profit. Je cherche seulement le profit pour chaque devise spécifique.
indicateur attaché
Bonjour Codersguru
Je souhaite que l'indicateur joint affiche l'ouverture à minuit GMT, et non l'heure du serveur du courtier, est-ce possible ?
Merci beaucoup Monty
Aide avec le code
Pouvez-vous m'expliquer le code ? J'obtiens une valeur incorrecte (voir ci-dessous "Compte") et ensuite elle est correctement remplie mais je ne sais pas pourquoi.
int Compte = 123456 ;
if (Account != AccountNumber())
{
Comment("Vous ne pouvez pas utiliser ce programme avec ce compte") ;
retour (0) ;
}
else
{
Comment("Bienvenue dans le programme") ;
}
Question simple
Le conseiller expert fonctionnera-t-il normalement sans les fonctions init() et deinit() ?
Le conseiller expert fonctionnera-t-il normalement sans les fonctions init() et deinit() ?
Oui,
Seule la fonction de démarrage est nécessaire.
Kalenzo,
j'ai une question :
HEDGING :
Je cherche :
si (OrderOpenPrice() = = Bid (ou Ask)
Leprix ouvert doit être égal au nouveau prix.
Je me couvre avec la même paire EURUSD.
Si le prix ouvert est la vente et le prix est 1.3580,
le prix d'achat doit être le même.
Merci. Voici les codes.
B.
//------------------------------------------
if(Buy==0)
{
RefreshRates() ;
OrderSend(Symbol_1,OP_BUY,lotsi,MarketInfo(Symbol_1,MODE_ASK),...
RefreshRates() ;
si (OrderOpenPrice() == Bid)
{
OrderSend(Symbol_1,OP_SELL,lotsi,MarketInfo(Symbol _1,MODE_BID),...
}