[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 224
Je veux qu'un message soit affiché après la fermeture sur un stop loss, mais rien ne se passe dans mt4.
int init() { //----
//---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //----
//---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ string sy="NULL"; int op=-1; int mn=-1; bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) { datetime t; double ocp, osl; int dg, i, j=-1, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (t<OrderCloseTime()) { t=OrderCloseTime(); j=i; } } } } } } } if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) { dg=MarketInfo(sy, MODE_DIGITS); if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2; ocp=NormalizeDouble(OrderClosePrice(), dg); osl=NormalizeDouble(OrderStopLoss(), dg); if (ocp==osl) return(True); } return(False); } int start() { //---- bool stopl; stopl = isCloseLastPosByStop(sy,op,mn); if (stopl == true) Alert ("последняя сделка закрылась по s/l"); //---- return(0); }
Chers membres du forum, je mets en place l'indicateur "Balance Chart" pour examen. Je pense qu'il serait utile dans une fenêtre séparée - un contrôle visuel des changements de votre propre solde en temps réel, un contrôle de la rentabilité du Conseiller Expert au final... Le problème est que cela ne fonctionne pas... Je l'ai "modélisé" moi-même, mais je ne le comprends pas très bien. J'ai développé quelques indicateurs, mais je n'en ai rien fait... Je vous serais reconnaissant de me corriger. J'ai écrit ce que je voulais avoir. N'hésitez pas à les écraser, ne serait-ce que pour le résultat ! Peut-être que quelqu'un d'autre en aura besoin, il semble que la chose ne soit pas superflue...
J'insère la ligne #property indicator_separate_window dans l'indicateur standard - après cela, MT4 ne veut pas l'attacher à un outil financier. Pourquoi ?
J'insère la ligne #property indicator_separate_window dans l'indicateur standard - après cela, MT4 ne veut pas l'attacher à un outil financier. Pourquoi ?
Peut-être que les valeurs sont simplement très petites et se trouvent quelque part en bas (en dehors de la fenêtre).
J'insère la ligne #property indicator_separate_window dans l'indicateur standard - après cela, MT4 ne veut pas l'attacher à un outil financier. Pourquoi ?
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.
Je veux qu'un message soit affiché après la fermeture sur un stop loss, mais rien ne se passe dans mt4.
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
string sy="NULL";
int op=-1;
int mn=-1;
bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
datetime t;
double ocp, osl;
int dg, i, j=-1, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
dg=MarketInfo(sy, MODE_DIGITS);
if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
osl=NormalizeDouble(OrderStopLoss(), dg);
if (ocp==osl) return(True);
}
return(False);
}
int start()
{
//----
bool stopl;
stopl = isCloseLastPosByStop(sy,op,mn);
if (stopl == true)
Alert ("последняя сделка закрылась по s/l");
//----
return(0);
}
Chers membres du forum, je mets en place l'indicateur "Balance Chart" pour examen. Je pense qu'il serait utile dans une fenêtre séparée - un contrôle visuel des changements de votre propre solde en temps réel, un contrôle de la rentabilité du Conseiller Expert au final... Le problème est que cela ne fonctionne pas... Je l'ai "modélisé" moi-même, mais je ne le comprends pas très bien. J'ai développé quelques indicateurs, mais je n'en ai rien fait... Je vous serais reconnaissant de me corriger. J'ai écrit ce que je voulais avoir. N'hésitez pas à les écraser, ne serait-ce que pour le résultat ! Peut-être que quelqu'un d'autre en aura besoin, il semble que la chose ne soit pas superflue...
vous avez un seul équilibre sur toutes les barres ?
Je n'ai peut-être pas énoncé le problème de manière précise - peut-être serait-il plus exact
insérer. Mais c'est le deuxième. Et, plus important encore, j'aimerais observer ces changements après l'ouverture/la fermeture de positions...
Ce serait quelque chose comme une ligne d'équilibre comme dans le testeur, mais sur le réel ?
Je n'ai peut-être pas énoncé le problème de manière précise - il serait peut-être plus exact de...
Vous devez lire l'historique des transactions et lire le solde au moment où la position suivante a été fermée.
L'équité est un peu plus compliquée, mais elle peut être réalisée exactement de la même manière.
Vous pouvez convertir tous les calculs en lot standard ou compter en pips.
Question avec fenêtre...
J'insère la ligne #property indicator_separate_window dans l'indicateur standard - après cela, MT4 ne veut pas l'attacher à un outil financier. Pourquoi ?
Question avec fenêtre...
J'insère la ligne #property indicator_separate_window dans l'indicateur standard - après cela, MT4 ne veut pas l'attacher à un outil financier. Pourquoi ?
Peut-être que les valeurs sont simplement très petites et se trouvent quelque part en bas (en dehors de la fenêtre).
Peut-être que les valeurs sont simplement très petites et se trouvent quelque part en bas (en dehors de la fenêtre).
Mais en théorie, il devrait y avoir une fenêtre séparée, bien qu'elle soit vide ?
De plus, ni l'indicateur ni le conseiller.... ne se fixent
Question avec fenêtre...
J'insère la ligne #property indicator_separate_window dans l'indicateur standard - après cela, MT4 ne veut pas l'attacher à un outil financier. Pourquoi ?