[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 225

 
granit77:
Jetez un coup d'œil auxanalogues. En particulier Equity_simple.mq4


Merci ! L'indicateur lui-même fonctionne dans une fenêtre séparée...

Mais que faire si vous insérez #property... dans l'EA standard, mais le journal dit - 2011.03.09 18:04:58 Expert 'MACD Sample' est un indicateur et ne peut pas être exécuté.

 
Vinin:


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 vous pouvez faire exactement la même chose.

Vous pouvez ramener tous les calculs à un lot standard ou compter en pips.


Ainsi, vous n'avez pas besoin de lire et de compter quoi que ce soit, laissez l'indicateur tout montrer par lui-même.

Alors pourquoi ne pas essayer de faire en sorte que ça marche ?

--------------------------------------------------------------------------------------------------------------------

J'ai été en dehors du processus pendant 3-4 heures.

 
doon:

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);
}

 
kulon:


Pour que vous n'ayez pas à lire ou à compter quoi que ce soit, laissez l'indicateur tout montrer par lui-même.

Alors pourquoi ne pas essayer de faire en sorte que ça marche ?

--------------------------------------------------------------------------------------------------------------------

J'ai été en dehors du processus pendant 3-4 heures.


De tels indicateurs existent déjà
 
doon:


Des conseils vous ont déjà été donnés à la page précédente.
 
kulon:

Pour que vous n'ayez pas à lire ou à compter quoi que ce soit, laissez l'indicateur tout montrer par lui-même.

signifiait "lu par l'indicateur"
 

Voici le code sous forme simplifiée

Dossiers :
33.ex4  3 kb
 
Vinin:

Des indicateurs comme celui-ci existent car c'est

Je n'en ai jamais vu. Vous les voyez ?
 
kulon:

Je n'en ai jamais vu avant. Je peux le voir ?

Regardez ici https://www.mql5.com/ru/forum/103774
 

Comment faire pour qu'un EA achète ou vende à un moment donné(sommeil à ne pas utiliser) ?

Raison: