Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1127
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 maintenant, lisez la documentation normale de MT5, maintenant certaines des anciennes fonctions fonctionnent exactement comme il est écrit dans celle-ci, car la documentation de mt4 est dépassée et il y a beaucoup de choses qui ne sont pas encore corrigées.
GetLastError
Renvoie le contenu de la variable système_LastError.
intGetLastError() ;
Valeur retournée
Renvoie la valeur de la dernière erreur survenue pendant l'exécution du programme mql5.
Note
Après l'appel de la fonction, le contenu de la variable _LastError n'est pas effacé. La fonctionResetLastError() doit être appelée pour remettre cette variable à zéro.
Voir aussi
Codes de retour des serveurs commerciaux
Je le suis depuis 1997)
Vous voyez, il y a un tick et avec lui un signal, et si vous obtenez une erreur, elle doit être traitée. Traité et interrogé à nouveau, mais avant l'interrogation vous pouvez mettre à zéro la variable avec l'erreur, puis à la prochaine interrogation s'il y a une erreur, il ira dans la variable à nouveau, mais s'il n'y a pas d'erreur, il sera "0".
Il n'est pas nécessaire de mettre la variable à zéro, mais en cas d'erreur, elle renverra une nouvelle valeur. Dans tous les cas, vous ne devriez pas vous intéresser à l'erreur que vous aviez la dernière fois au dernier tick, vous devriez traiter uniquement ce que vous avez "maintenant".
Donc, encore une fois, c'est sur mql5. Et j'en ai besoin sur mql4.
Je répète ma question dans ce fil de discussion car le fil de discussion de mql5 n'a pas pu m'aider - personne ne connaît la réponse.
J'ai cette fonction et elle fonctionne dans mon Expert Advisor/Script.
{
double One_Lot=0.0;
double price=0.0;
double volume=0.0;
double MinLot=SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN);
double Free=AccountInfoDouble(ACCOUNT_FREEMARGIN);
double Step=SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP);
if(action==ORDER_TYPE_BUY)price=SymbolInfoDouble(symbol,SYMBOL_ASK);
if(action==ORDER_TYPE_SELL)price=SymbolInfoDouble(symbol,SYMBOL_BID);
if(!OrderCalcMargin(action,symbol,1.0,price,One_Lot))return(MinLot);
if(One_Lot!=0 && Step!=0)volume = MathFloor(Free*Percent/100.0/One_Lot/Step)*Step;
if(volume!=0)return(volume);
return(MinLot);
}
Question :comment obtenir le lot maximum possible dans un indicateur,OrderCalcMargin ne fonctionne pas dans un indicateur pour une raison quelconque ? J'ai essayé d'utiliserOrderCalcMargin mais cela ne fonctionne pas dans mt4.
Merci !
comment le faire ?
de sorte que lorsque
OnDeinit(REASON_CHARTCHANGE)
Continuer normalement sans réinitialisation (ignorez complètement cette cause, c'est un panneau d'information avec des niveaux).
comment le faire ?
de sorte que lorsque
OnDeinit(REASON_CHARTCHANGE)
Continuer normalement sans réinitialisation (ignorez complètement cette cause, c'est un panneau d'information avec des niveaux).
Pas du tout.
Eh bien, il y a des moyens de contourner cela.
Je suis trop paresseux pour intégrer des niveaux dans le code de chaque outil parmi les 40 existants.
Il est plus facile de le faire automatiquement et de cliquer sur le TF avec des symboles comme vous le souhaitez.
En même temps, je cherche un moyen de spécifier les valeurs de mutilation du TF supérieur sur le TF inférieur.Eh bien, il y a des moyens de contourner cela.
Je suis trop paresseux pour intégrer des niveaux dans le code de chaque outil parmi les 40 existants.
Il est plus facile de le rendre automatique et de cliquer sur le TF avec des symboles comme vous le souhaitez.
Et en même temps, je cherche un moyen de spécifier des valeurs de mutilation pour les TF majeurs.Ecrire les paramètres dans un fichier et les lire dans l'init. Il n'y a aucun moyen de contourner deinit, il ne demande pas de permission.
Pourquoi ne pas contourner la désinitialisation en écrivant dans un fichier, si possible ? Par exemple, en cas de désinitialisation, lancer une exécution avec les paramètres précédents.