[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 376
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
Ici j'ai appliqué la fonction MathAbs, Alert affiche zéro et zéro, mais je voudrais le module de différence et l'indice de la barre...
{
int mas1[30,2],mas2[30,2],mas3[30,2],ind_1;
{
for (int i=1;i<=count_bars;i++)
{
mas1[i, 0]=Close[i];
mas1[i, 1]=i;
mas2[i, 0]=Open[ i];
mas2[i, 1]=i;
mas3[i, 0] = MathAbs(Close[ i]-Open[ i]);
mas3[i, 0] = i;
ArraySort( mas3);
mod_1=mas3[2, 0];
ind_1=mas3[2, 1];
Alert( mod_1," ",ind_1);
}
}
return(0);
}
Bonjour à tous
Je suis nouveau sur mql4 et j'essaie d'écrire un conseiller expert en utilisant l'indicateur aligator.
J'essaie d'écrire un EA sur mql4 mais rien d'utile n'est encore sorti.
Les citoyens professionnels peuvent vous avoir posé des demandes, des questions, . .. banales .
Mais on peut quand même vous demander à vous, professionnels, d'écrire un expert sur l'indicateur d'alligator.
Stratégie des pépins
Les positions d'achat et de vente sont fermées lorsque le StopLoss et le TakeProfit sont atteints.
Un signal d'achat lorsque la ligne verte croise la bleue et la rouge du bas vers le haut ouvre une position d'achat.
un signal de vente lorsque la règle verte croise la rouge et la bleue à l'envers ; ouvrez une position de vente.
n'ouvrez pas plus d'un ordre avant que le croisement ne soit fermé
StopLoss =10 ;
TakeProfit =10 ;
Magie =33 ;
SlipPage =5 ;
Lot =0,1 ;
Merci d'avance
Vos tableaux sont int, mais Open et Close sont double.
Remplacé, toujours des zéros. Une dernière chose - dans mes tableaux à deux dimensions, un ensemble est de type double, et le second est de type int (index de barres). Comment les convertir au même type pour le temps des calculs, mais pour revenir au même type à nouveau lorsque le résultat est sorti ?
Et qu'est-ce que count_bars égale ?
Et qu'est-ce que count_bars égale ?
count_bars = 30 ;
J'ai réfléchi, et j'ai décidé que deux tableaux sont redondants, ils sont déjà définis de manière programmatique. Maintenant, il sera plus facile de penser. Comment puis-je les réduire à un seul type ?
{
double mas1[30,2],mod_1;
int ind_1;
{
for (int i=1;i<=30;i++)
{
mas1[i, 0] = MathAbs(Close[i]-Open[i]);
mas1[i, 1] = i;
ArraySort(mas1);
mod_1=mas1[2, 0];
ind_1=mas1[2, 1];
Alert(mod_1," ",ind_1);
}
}
return(0);
}
count_bars = 30 ;
Remplacer ensuite par
à
Remplacer ensuite par
à
Je l'ai remplacé. mod_1 donne set={1,3,5,7,9,...,29}, mais ind_1 continue à afficher zéro.
ne montre pas zéro
mais votre code est un peu incompréhensible
par exemple, le tableau mas n'a pas encore été formé, mais vous êtes déjà en train de le trier
Peut-être que le contexte de votre question la rend meilleure :
Remplacé. mod_1 donne set={1,3,5,7,9,...,29}, mais ind_1 continue d'afficher zéro.
Ouais.... Et pourquoi suis-je si distrait ? !
Il s'avère que tout est simple - ArraySort(mas1,30,1,MODE_DESCEND ). Tout ce que tu dois faire, c'est écrire tout ce que tu es censé faire.
ne montre pas zéro
mais votre code est un peu incompréhensible
par exemple, le tableau mas n'a pas encore été généré et vous êtes déjà en train de le trier