[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 974

 
rustein:
Dites-moi comment calculer correctement le montant du profit en pourcentage du solde de certaines positions seulement avec le même magicien ?


Que voulez-vous dire par bien ou mal ? La première chose qui m'est apparue tout de suite : dans la boucle, vous faites un échantillon des commandes avec le nombre magique donné, en cumulant
OrderProfit () commande une variable, disons, Summ. Puis, après la boucle, comptez le pourcentage du solde : Summ_procent = Summ*100/AccountBalance () ;

C'est tout.

 
<br / translate="no">

extern int Period_MA = 21;

bool Fact_Up = true;

bool Fact_Dn = true;

int start()

{
double MA;

MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0);
if (Bid > MA && Fact_Up == true)

{
Fact_Dn = vrai;

Fact_Up = faux;

Alert("Le prix est au-dessus de la MA(",Period_MA,").");
}
si (Bid < MA && Fact_Dn == true )
{
Fact_Up = vrai;
Fact_Dn = faux;
Alert("Le prix est inférieur à la MA(",Period_MA,").");

}
retour;
}

Quoi qu'il en soit, c'est à partir du tutoriel, je voulais pratiquer, mais je suis resté bloqué,

il ne déclenche qu'un seul message après le passage,

Comment obtenir un message après chaque tic,

Je veux obtenir un message comme "prix au-dessus de la mach" ou "prix au-dessous de la mach" à chaque tick ?

personne ne le sait déjà ?
 
gheka:


Tutoriel MKL4 - Programme MKL4 - Fonctions spéciales (experts, scripts, indicateurs). Lisez-le attentivement - vous pouvez le faire vous-même...
 
Roman.:

MKL4 Tutorial - Programme MKL4 - Fonctions spéciales (Expert Advisors, Scripts, Indicateurs). Lisez-le attentivement - vous pouvez le faire vous-même...


J'ai relu ce manuel près de 10 fois, je vais bientôt le connaître par cœur,
. Mon problème est que ce conseiller expert ne donne qu'un seul signal après un croisement.

J'ai besoin d'un signal permanent après le croisement, sur chaque tique.

Je connais la différence entre un EA et un script, j'ai le code dans un EA et pas dans un script.

 
gheka:


J'ai relu ce livre une dizaine de fois, et je le connaîtrai bientôt par cœur,
Le problème est que l'EA ne donne qu'un seul signal après le croisement.

J'ai besoin d'un signal permanent après le croisement, sur chaque tique.

Je connais la différence entre un EA et un script, mon code est dans l'EA, pas dans le script.

extern int Period_MA = 21;


int start() 

{
double MA; 

MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0); 
if (Bid > MA) 

{




Alert("Цена находится выше MA(",Period_MA,").");
}
if (Bid < MA ) 
{

Alert("Цена находится ниже MA(",Period_MA,").");

}
return; 
}

Est-ce que ça marche ?
 
Roman.:



Je suis tellement stupide, merci.
 
gheka:

C'était stupide de ma part, merci.

Ça arrive... Je me suis moi-même égaré dans trois directions...
 

D'après la figure, nous sommes au point A.

Il existe un indicateur qui dessine des flèches.

Nous devons déterminer s'il y avait une flèche et si elle pointe vers le haut ou vers le bas.

Il y a deux façons de résoudre ce problème :

1) faire une variable globale dans l'indicateur, je l'appellerai FLAG, et qu'elle se souvienne de la dernière valeur +1 (si la flèche est en haut) et -1 (si la flèche est en bas)

2)utiliser une boucle

for (int i=0 ; i<Bars() ; i++) ;

i est la barre de zéro.

Ce compteur va parcourir les barres jusqu'à ce qu'il atteigne le nombre =Bars-1 (j'ai raison ? ???).

Mais comment faire pour qu'à chaque étape de l'itération, c'est-à-dire en passant à une autre barre, elle calcule s'il y a une flèche ici et où elle regarde.

Déterminez s'il y a une flèche sur l'iCustom ? ??

 
tuma88:

D'après la figure, nous sommes au point A.

Il existe un indicateur qui dessine des flèches.

Vous devez déterminer s'il y avait une flèche et si elle regarde vers le haut ou vers le bas.

Il existe deux façons de résoudre ce problème :

1) créer une variable globale dans l'indicateur, je l'appellerai FLAG, et faire en sorte qu'elle se souvienne de la dernière valeur +1 (si la flèche est en haut) et -1 (si la flèche est en bas).

2)utiliser une boucle

for (int i=0 ; i<Bars() ; i++) ;

i est la barre de zéro.

Ce compteur va parcourir les barres jusqu'à ce qu'il atteigne le nombre =Bars-1 (j'ai raison ? ???).

Mais comment attacher une agitation, de sorte qu'à chaque étape de l'itération, c'est-à-dire en allant à une autre barre, il calcule s'il y a une flèche ici et où il regarde.

Pour déterminer s'il y a une flèche sur l'iCustom ? ??

Les flèches sont probablement dessinées aux extrema de ZigZag. S'il s'agit d'un indicateur, ces flèches sont probablement émises par le tampon. Déterminez quel tampon d'indicateur est responsable de quelle flèche et s'il y a un signal dans le tampon d'indicateur approprié sur la barre appropriée, alors il y a une flèche. Si la valeur du tampon est vide, aucune flèche n'est émise.

Ce n'est qu'une supposition, car personne ne peut vous le dire avec certitude sans l'indication elle-même.

ZS... Si l'indicateur est lié à ZZ, il est peu probable qu'il affiche une flèche sur la barre actuelle. Seulement au moment où ZZ tire cet extremum. Et il le fait avec un décalage. Par conséquent, vous ne verrez jamais la flèche sur la barre actuelle... IMHO

 
artmedia70:

Les flèches sont probablement dessinées aux extrémités du Zigzag. S'il s'agit d'un indicateur, ces flèches sont probablement émises par un tampon. Déterminez quel tampon d'indication est responsable de quelle flèche et s'il y a un signal dans le tampon d'indication approprié sur la barre appropriée, alors il y a une flèche. Si la valeur du tampon est vide, aucune flèche n'est émise.

Il ne s'agit que d'une supposition, car personne ne pourra vous le dire avec certitude sans avoir été invité par le tourneur lui-même.


Eh bien, oui, à propos des tampons indicateurs, c'est clair.

Mais comment intégrer ce tampon dans la boucle et le vérifier ?

for (int i=0 ; i<Bars() ; i++)

{

signal = iCustom (NULL,0 etc. )

si (signal>0)

retour(signal)

rupture

}