Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 976
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
Et votre mère ne vous permet pas de lire la documentation ? Par exemple, SendMail
Oui cette fonction bien sûr je sais, je veux dire - un onglet dans la fenêtre du terminal, (commerce, actifs, historique du compte, nouvelles, alertes, courrier, etc.) quand le courrier arrive là (dans le terminal de courrier interne) envoyé SMS ou e-mail (par exemple pour recevoir des messages sur le redémarrage du serveur, etc.)
Oui cette fonction bien sûr je connais, je veux dire - un onglet dans la fenêtre du terminal, (trade, actifs, historique du compte, nouvelles, alertes, mail, etc.) quand le mail arrive là (dans le terminal mail interne) envoyé un SMS ou un e-mail (par exemple pour recevoir des messages sur le redémarrage du serveur, etc.)
Formulez donc la question en y réfléchissant.
Si vous avez les idées claires, vous avez les idées claires...
Bonjour. Je n'arrive pas à comprendre quelle est mon erreur, ou plutôt quelle est la faille de ce bloc dans mon programme :
//---Comptabilité séparée des commandes en cours
for(int i=OrdersTotal()-1;i>=0;i--)//OrdersTotal()-1;i>=0;i-- //La boucle des commandes
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ;// Si un ordre est trouvé, alors :
{
if(OrderSymbol() !=Symbol()||OrderMagicNumber()!=Magic) continue ;
}
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
if(OrderType()==OP_BUY)
Total++ ;
}
return ;
}
//---
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ;
{
if(OrderSymbol() !=Symbol()||OrderMagicNumber()!=Magic) continue ;
}
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
if(OrderType()==OP_SELL)
Total++ ;
}
return ;
}
//---
L'EA fonctionne de manière stable dans le Strategy Tester et sur un compte de démonstration, mais lors de la compilation, il génère 2 avertissements : la valeur de retour de 'OrderSelect' devrait être vérifiée, ce que je ne peux pas surmonter. Si c'est possible, dites-moi ce que j'ai écrit de faux ou d'incomplet.
Bonjour. Je n'arrive pas à comprendre quelle est mon erreur, ou plutôt quelle est la faille de ce bloc dans mon programme :
//---Comptabilité séparée des commandes en cours
for(int i=OrdersTotal()-1;i>=0;i--)//OrdersTotal()-1;i>=0;i-- //La boucle des commandes
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ;// Si un ordre est trouvé, alors :
{
if(OrderSymbol() !=Symbol()||OrderMagicNumber()!=Magic) continue ;
}
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
if(OrderType()==OP_BUY)
Total++ ;
}
return ;
}
//---
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ;
{
if(OrderSymbol() !=Symbol()||OrderMagicNumber()!=Magic) continue ;
}
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
if(OrderType()==OP_SELL)
Total++ ;
}
return ;
}
//---
L'EA fonctionne de manière stable dans le Strategy Tester et sur un compte de démonstration, mais lors de la compilation, il affiche un avertissement : la valeur de retour de 'OrderSelect' devrait être vérifiée, ce que je ne peux contourner d'aucune manière. Si c'est possible, dites-moi ce que j'ai écrit de faux ou d'incomplet.
Bonjour. Je n'arrive pas à comprendre quelle est mon erreur, ou plutôt la déficience de ce bloc dans mon programme :
...1) Pour coller le code correctement ici, cliquez sur SRC et ensuite copiez votre code dans la case (image ci-dessous).
2) Essayez ce code :
Comment puis-je obtenir une alerte
Alert(OrderOpenPrice());
afficherle prix d'ouverture de l 'ordre avec 5 chiffres décimaux ? NormalizeDouble(OrderOpenPrice(),Digits) n'aide pas(l'ordre est présélectionné).
Comment puis-je obtenir une alerte
afficher le prix d'ouverture de l'ordre avec 5 chiffres décimaux ? NormalizeDouble(OrderOpenPrice(),Digits) n'aide pas(l'ordre est présélectionné).
Bonjour, ma chère !
Veuillez traduire l'algorithme permettant de trouver les coordonnées du point d'intersection de deux segments.
Extrait de l'article :
C'est très simple !
x1,y1 et x2,y2 sont les coordonnées des sommets du premier segment ;
x3,y3 et x4,y4 sont les coordonnées des sommets du deuxième segment ;
pour trouver l'intersection, on fait les équations des lignes :
première équation :
(x-x1)/(x2-x1)=(y-y1)/(y2-y1);
deuxième équation
(x-x3)/(x4-x3)=(y-y3)/(y4-y3);
ces équations définissent une ligne passant par deux points, ce qui est ce dont nous avons besoin.
A partir de ces équations, on trouve x et y par les formules suivantes :
x:=((x1*y2-x2*y1)*(x4-x3)-(x3*y4-x4*y3)*(x2-x1))/((y1-y2)*(x4-x3)-(y3-y4)*(x2-x1));
y:=((y3-y4)*x-(x3*y4-x4*y3))/(x4-x3);
Puisque nos lignes se croisent, elles ont un point d'intersection commun avec les coordonnées (x,y), que nous devons trouver.
Pour que l'intersection appartienne à nos segments de ligne, nous devons la contraindre, c'est-à-dire vérifier la condition :
si
(((x1<=x)et(x2>=x)et(x3<=x)et(x4 >=x))ou((y1<=y)et(y2>=y)et(y3<=y) et(y4>=y))
alors il y a un point d'intersection de ces segments, et si ce n'est pas le cas, il n'y a pas de point d'intersection.
Vous devez également vérifier le parallélisme de ces segments à l'aide de coefficients d'angle :
k1:=(x2-x1)/(y2-y1) ;
k2:=(x4-x3)/(y4-y3) ;
où k1 et k2 sont les tangentes de l'angle des pentes des segments à la direction positive de l'axe ОХ, si k1=k2, alors les segments sont parallèles, ils n'ont donc pas de points d'intersection.
Et peut-être que quelqu'un en a une toute prête dans les archives ?
Existe-t-il une possibilité ou une fonction dans MT4 pour rediriger les messages vers la messagerie interne du terminal (à propos du changement de levier, du redémarrage du serveur, etc.) par sms ou par e-mail.
P.s un onglet dans la fenêtre du terminal, (trade, assets, account history, news, alerts, MESSAGE, etc.) ?