![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Codage de la "Trend Condition" avec StepMA
oublié : pour mon post précédent l'indicateur et une capture d'écran
Merci beaucoup Devil2000 !
Extrait du métaéditeur :
Maintenant, peux-tu me dire où placer ce code ?
Je suis un vrai débutant dans ce domaine.
Voici ce qui apparaît dans Meta Editor :
extern double lot=0.01 ;
extern int MinGS=10 ;
extern double TP=10 ;
extern double MarginLevelAlert=1000 ;
extern double RepeatMinutes=60 ;
double MaxDrawDown = 0.0 ;
int magique ;
int Compte = 1857842 ;
double lot2 ;
double MarginPer ;
datetime tob,tos,toe ; //Time Out Buy, Sell, Expire
Merci pour votre aide.
Salutations
MaOnArray
Bonjour,
Je voudrais être long si le CCI dépasse son 14 sma, et être short quand il passe en dessous de son 14 sma. Le sma du CCI est généré par le MaOnArray du CCI bien sûr.
Voici mon morceau de code :
double a,b ;
bla, bla, bla...
int start()
{
a= iCCI(NULL, 0, 14,PRICE_WEIGHTED,0) ;
b=iMAOnArray(a,0,14,0,MODE_SMA,0) ;
// vérification de la possibilité d'une position longue (BUY)
if(NewBar1()==true && a>b)
{
bla, bla, bla...
// vérification de la possibilité d'une position courte (SELL)
if(NewBar2()==true && a<b)
{
bla, bla, bla...
Il y a cependant un problème (illustré ci-dessous) - alors y a-t-il quelque chose qui manque dans le code ? et comment peut-on résoudre ce problème ?
Le problème est ci-dessous :
MaOnArray
Jane,
Tout d'abord, vous devez contrôler le nombre de transactions ouvertes.
Je suggère d'ajouter
si (OrdersTotal()==0) {
avant les filtres d'entrée, ou peut-être <= 1, pour 2 ordres autorisés.
Ou si vous voulez plus de deux transactions à la fois :
for (int i = OrdersTotal() - 1 ; i >= 0;i--)
(Etudiez la plupart des EAs pour celle-ci).
Je ne pense pas que vous ayez donné suffisamment de données pour que l'on puisse le résoudre, mais j'ai quelques suggestions supplémentaires.
Il n'est pas clair ce que fait NewBar1() et comment.
Assurez-vous que vos variables globales sont réinitialisées au besoin après l'ouverture (ou la fermeture, le cas échéant) d'un ordre.
J'écris une ligne pour chaque variable nécessaire après la ligne d'ouverture de l'ordre.
Bonne chasse !
Big Be
Question sur les deux arrêts
Voir l'article suivant.
Question sur les deux stops
J'ai besoin de savoir comment modifier le Stop pour la MOITIÉ de mon ordre ouvert. Si je comprends bien, cela signifie qu'il faut ouvrir deux ordres, par exemple .2 lots et .2 lots.
Mon EA base le nombre de lots sur un calcul de Money Management.
Une fois que le stop d'un ordre est modifié (sur la base d'un niveau de prix atteint), je laisse mon code de sortie fermer les deux ordres, à moins que leurs stops (désormais différents) ne soient atteints.
L'autre ordre conserve son arrêt initial ou le déplace éventuellement jusqu'au seuil de rentabilité.
Si la quantité initiale de lots (de la fonction MM) est impaire, au lieu d'arrondir vers le bas pour un nombre impair de lots ou un dixième de lots, je voudrais les répartir de manière inégale entre les deux ordres.
Je crois que cela implique des nombres magiques et quelques lignes de code ici et là. Peut-être y a-t-il un EA avec tout cela que je pourrais copier.
Merci pour toute aide.
Big Be
OK, merci Big Me,
Je posterai l'EA complète demain. Pour que vous puissiez y jeter un coup d'oeil.
Salutations,
J
J'ai besoin de savoir comment modifier le Stop pour la MOITIÉ de mon ordre ouvert. Si je comprends bien, cela signifie qu'il faut ouvrir deux ordres, par exemple 0,2 lot et 0,2 lot.
Mon EA base le nombre de lots sur un calcul de Money Management.
Une fois que le stop d'un ordre est modifié (en fonction de l'atteinte d'un niveau de prix), je laisse mon code de sortie fermer les deux ordres, à moins que leurs stops (maintenant différents) ne soient atteints.
L'autre ordre conserve son arrêt initial ou le déplace éventuellement jusqu'au seuil de rentabilité.
Si la quantité initiale de lots (de la fonction MM) est impaire, au lieu d'arrondir à la baisse pour un nombre impair de lots ou un dixième de lots, je voudrais les répartir de manière inégale entre les deux ordres.
Je crois que cela implique des nombres magiques, et quelques lignes de code ici et là. Peut-être y a-t-il un EA avec tout cela que je pourrais copier.
Merci pour toute aide.
Big BeNe serait-il pas beaucoup plus simple d'ouvrir un seul ordre et de le réduire, en ajustant un SL "doux" sur le reste. Vous pourriez placer un hard-stop juste au cas où. Non seulement c'est beaucoup plus simple, mais vous ne donnez pas non plus aux bucketshops quelque chose à " viser ".
Symbole dans le courtier
Bonjour à tous
J'ai besoin d'obtenir tous les symboles dans MetaTrade... Comment coder ?
Salutations
charles
Ne serait-il pas beaucoup plus simple d'ouvrir un seul ordre et de le réduire, en ajustant un SL "doux" sur le reste. Vous pourriez placer un hard-stop juste au cas où. Non seulement c'est beaucoup plus facile, mais vous ne donnez pas non plus aux "bucketshops" quelque chose à "viser".
Plus simple, mais moins rentable pour moi. Mon EA suit une tendance et je veux que les deux moitiés aient la possibilité d'aller jusqu'au bout. Savez-vous comment faire ?
Big Be