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
Comme vous l'avez suggéré, le compilateur jure.
Ticket=OrderSend(NULL,OP_BUY,Lot,Ask,slippage,0,0,NULL,magic,0,Blue);
if(!Ticket>0)Print(GetLastError());
else
{
if(OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
if((OrderMagicNumber()==magic) && (OrderSymbol()==Symbol()))
{
TP=NormalizeDouble(Bid+TakeProfit*Point,Digits);
bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),TP,0,0);
return;
}
}
Ça ne marche pas.
Comme vous l'avez suggéré, le compilateur jure.
Ticket=OrderSend(NULL,OP_BUY,Lot,Ask,slippage,0,0,NULL,magic,0,Blue);
if(!Ticket>0)Print(GetLastError());
else
{
if(OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
if((OrderMagicNumber()==magic) && (OrderSymbol()==Symbol()))
{
TP=NormalizeDouble(Bid+TakeProfit*Point,Digits);
bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),TP,0,0);
return;
}
}
Ça ne marche pas.
Voici votre code :
si(! Ticket>0)Print(GetLastError())--- Le ticket est un nombre entier, par exemple "2354865". Maintenant une question : un nombre entier ne peut-il pas être ( !2354865) Un nombre entier peut être soit supérieur à "> 0", soit inférieur à "< 0" . Cette valeur bool peut être false/true ( ! )
En outre, cette construction :if(OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES)==true) --- elle énumère les paramètres par ticket, et si vous visualisez un ticket concret, cela n'a aucun sens de vérifier son numéro magique ou son symbole, c'est-à-dire que c'est évidemment inutile :if((OrderMagicNumber()==magic) && (OrderSymbol()==Symbol()))
Enfin, il est préférable de mettre ces constructions entre parenthèses pour spécifier explicitement l'ordre des tâches mathématiques :NormalizeDouble(Bid+( TakeProfit*Point),Digits);
Enfin, il est préférable de mettre entre parenthèses de telles constructions pour spécifier explicitement l'ordre des tâches matricielles :NormalizeDouble(Bid+( TakeProfit*Point),Digits);Non, vous pouvez le faire sans crochets. Mais lorsque la somme doit être multipliée, des parenthèses sont nécessaires.
peut prendre la valeur du temps d'ouverture de la barre 0 avec la période D1, + ajouter le nombre de secondes,
dans la condition de comparer l'heure actuelle avec l'heure obtenue dans la première ligne
dans un ordre en attente il est possible de mettre un nombre de secondes, temps de vie de l'ordre.
Aide avec le code, l'EA passe par toutes les barres, comment faire pour qu'il passe par les 200 dernières barres ! Merci
for (i=1; i<k; i++)
Signal du fournisseur
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Questions des débutants
Provider_Signal, 2016.11.09 18:38
Comment fermer tous les ordres dans l'EA le vendredi soir ? Afin de ne pas le laisser pour le week-end.
Trouvé la fonction DayOfWeek().
Je peux faire un chèque
{
//
}
Mais quel genre de chèque devons-nous faire pour le temps. Par exemple, s'il était 22 heures ?
Signal du fournisseur
if (Hour()==St_Hour)
Aide avec le code, le conseiller passe par toutes les barres, comment faire pour qu'il passe par les 200 dernières barres ! Merci
for (i=1; i<k; i++)
Bonjour, à l'aide.
Si aucun tampon n'est rempli sur trois barres, je remplis le tampon.
int BarCount=3;
BER=true;
for(int il=1;il<=BarCount;il++)
{
if(BufferPointUp[il]!= EMPTY_VALUE){BER=false;break;}
}
if(BER) BufferPointUp[i]=high[i];
Il se remplit sur toutes les barres, sans distinction.
Mais tout est correct si je fais cela.
Comment fairecette vérification dans une boucle ?
if (Hour()==St_Hour)