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
Je l'ai fait fonctionner maintenant.
Cette ligne while(!IsAllClosed) {CloseAllTrades() ; return;}
dans le démarrage principal fermera toutes les positions ouvertes si MT s'arrête
et que je le redémarre. Existe-t-il un moyen de mettre cette ligne
dans la fonction closealltrades pour qu'elle ne ferme pas toutes les positions ouvertes
après le redémarrage de MT4 ?
Merci.Oui, désolé, vous pouvez définir le bool au moment du démarrage comme ceci :
Then it becomes even better to define a extern variable, so you can keep the control :[PHP]extern bool CloseAll = false ; //Global variable
void CloseAllTrades()
{
int cnt;
CloseAll = false;
for(cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber()==GetMagicNumber())
CloseAll = CloseAll || !OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(OrderSymbol(), MODE_SPREAD), Yellow);
}
}
void start()
{
while(CloseAll) {CloseAllTrades(); return;}
...
Le principal avantage de cette méthode est que l'EA essaie de fermer chaque position à chaque tick jusqu'à ce que toutes soient fermées.
J'ai besoin d'aide pour mon premier EA semi-professionnel
Bonjour à tous...
J'ai créé un EA sur le site du grand expert advisor bulder et je l'ai testé et trouvé rentable depuis un an mais je pense qu'il peut être amélioré ....
donc si quelqu'un peut m'aider à améliorer cette EA ?
détaché de l'EA...
l'EA s'appuie sur deux indicateurs dont l'un est le mien et l'autre se trouve sur bublic fourms " zero lag macd ".
maintenant l'expert fonctionne tout le temps entrer acheter puis fermer et inverser pour vendre et ainsi de suite ....
j'ai besoin de le faire fonctionner seulement dans des temps spescifiques, ajouter un money managementmint et la dernière chose j'ai besoin de retarder l'excute d'achat ou de vente avec la prochaine bougie "1 minute" mais l'EA travaille sur la bougie 1H en fait ...
donc j'espère trouver comment peut m'aider dans ce domaine
Merci à tous
Meilleures salutations
Tamer
comment faire référence au nom du fichier que j'exécute ?
Bonjour,
Je voudrais savoir comment faire référence à un nom de fichier que j'exécute.
Par exemple, si je lance un script appelé supertrader.mq4 et que je veux ouvrir un fichier journal appelé supertrader_logfile à partir du script supertrader.
Existe-t-il une variable qui contient le nom du fichier que j'exécute ?
Merci.
Bonjour,
Je voudrais savoir comment je peux faire référence à un nom de fichier que j'exécute.
Par exemple, si je lance un script appelé supertrader.mq4 et que je veux ouvrir un fichier journal appelé supertrader_logfile à partir du script supertrader.
Existe-t-il une variable qui contient le nom du fichier que j'exécute ?
Merci.Peut-être en ajoutant void Print( ...) au script.
void Print( ...) Imprime un message dans le journal des experts.
A adria
As-tu vu mon MP ?
Big Be
Vague de loup. J'ai besoin de votre aide
Cher Codersguru,
Je ne suis pas un programmeur et dans mon style d'essai et d'erreur, la vague de loup que j'ai essayé d'améliorer donne le signal "le deuxième paramètre, ObjectTextSetFunction doit être une chaîne.
S'il vous plaît aidez-moi à rectifier.
Merci par avance.
Bonjour, j'ai besoin d'une fonction bool qui renvoie vrai si 5 minutes se sont écoulées, ou 10 minutes ou autre. Je sais déjà comment vérifier une nouvelle barre mais ce n'est pas assez souvent.
Bonjour, j'ai besoin d'une fonction bool qui renvoie vrai si 5 minutes se sont écoulées, ou 10 minutes ou autre. Je sais déjà comment vérifier une nouvelle barre mais ce n'est pas assez souvent.
Peut-être
double LastRedraw = 0;
if(TimeLocal() - LastRedraw > 300)
{
Print();
ObjectsRedraw();
Print("ObjectsRedraw Done");
LastRedraw = TimeLocal();
}
Peut-être
double LastRedraw = 0;
if(TimeLocal() - LastRedraw > 300)
{
Print();
ObjectsRedraw();
Print("ObjectsRedraw Done");
LastRedraw = TimeLocal();
}
[/code]Ou ça :
[CODE]
bool ElapsedTimeCheck(int MyMinutes)
{
static datetime OldTime ;
if (OldTime == 0)
OldTime = TimeCurrent() + MyMinutes * 60 ; // initialisé une fois...
if (TimeCurrent() >= OldTime)
{
OldTime = TimeCurrent() + MyMinutes * 60 ;
bool cond = true ;
}
else cond = false ;
return(cond) ;
}