[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

 
-xlapex-:

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 start()
{
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);
}

Vos tableaux sont des int, et Open et Close sont des doubles correspondants 1 - 1 = 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


 
artmedia70:
Vos tableaux sont int, mais Open et Close sont double.
Remplacé, toujours des zéros. Autre chose : dans mes tableaux à deux dimensions, un ensemble est de type double, tandis que le second est de type int (index de barres). Comment les amener à un type pendant les calculs, mais pour revenir à l'ancien type lorsque le résultat est sorti ?
 
-xlapex-:
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 ?
 
Roger:

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 ?

int start()
{
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);
}


 
-xlapex-:

count_bars = 30 ;

Remplacer ensuite par

mod_1=mas1[2, 0];
ind_1=mas1[2, 1];

à

mod_1=mas1[i, 0];
ind_1=mas1[i, 1];
 
Roger:

Remplacer ensuite par

à

Remplacé. mod_1 donne set={1,3,5,7,9,...,29} et ind_1 continue d'afficher zéro.
 
-xlapex-:
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

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[i, 0];
   ind_1=mas1[i, 1];

   Print(mod_1," ",ind_1);
}

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 :

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];
Print(mod_1," ",ind_1);
 
-xlapex-:
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.

 
abolk:


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

Et que voulez-vous dire par "non formé". Qu'est-ce que j'ai manqué d'autre ?