1 pi?ce (s) jointe (s) Hi coders exp?riment?s ...

J'esp?re que quelqu'un peut m'aider avec le probl?me suivant ....

Je veux cr?er un objet texte au-dessus de la barre actuelle lorsque ma condition est vraie.
Mais quand la condition devient vraie, cela va cr?er 3 objets dans ma barre actuelle. J'ai joint une capture d'?cran de ma carte. la condition devient vraie lorsque la stochastique plus rapide traverse la ligne de signal. Mais vous verrez que les objets de texte seront 3 barres plus t?t.

Est-ce que je fais quelque chose de mal? S'il vous pla?t soyez patient avec moi .. Je suis nouveau au codage.

Merci de votre aide..

Voici le code ...



# copyright Copyright ? 2006, MetaQuotes Software Corp.
#property link http://www.metaquotes.net

#property indior_chart_window
#property indior_buffers 9
#property indior_color1 Red
#property indior_color2 Vert


int flagval1 = 0;
int flagval2 = 0;
double Range, AvgRange;

extern int bars_back = 0;
extern bool display_points = true;
extern bool display_SS = vrai;
extern int K_period = 8;
extern int D_period = 3;
extern int S_period = 3;
extern int K_period3 = 34;
extern int D_period3 = 3;
extern int S_period3 = 3;

// ----------------------------------------------- -------------------
//| Fonction d'initialisation d'indieur personnalis? |
// ----------------------------------------------- -------------------
int init ()
{

//---- indieurs
IndiorShortName (0);
//----
retour (0);
}
// ----------------------------------------------- -------------------
//| Fonction de d?sinitialisation d'indieur personnalis? |
// ----------------------------------------------- -------------------
int deinit ()
{
//----
ObjectsDeleteAll (0, OBJ_LABEL);
ObjectsDeleteAll (0, OBJ_TEXT);
//----
retour (0);
}
// ----------------------------------------------- -------------------
//| Fonction d'it?ration d'indieur personnalis? |
// ----------------------------------------------- -------------------
int start ()

{

//nombre de barres
int limite, i, compteur;
int counted_bars = IndiorCounted ();
//---- v?rifie les erreurs possibles
if (counted_barslt; 0) renvoie (-1);
//---- la derni?re barre compt?e sera recompt?e
if (counted_barsgt; 0) counted_bars--;
//----
limite = Bars-counted_bars;
//----
pour (i = 0; i lt; = limite; i )
{
compteur = i;
Plage = 0;
AvgRange = 0;
pour (compteur = i; contre-signe; = i 49; compteur )
{
AvgRange = AvgRange MathAbs (High [compteur] -Low [compteur]);
}
Plage = AvgRange50;

//m1 data
double stoch_main_m1 = iStochastique (NULL, PERIOD_M1, K_p?riode, D_p?riode, S_per iod, MODE_SMA, 1, MODE_MAIN, bars_back);
double stoch_sig_m1 = iStochastic (NULL, PERIOD_M1, K_p?riode, D_p?riode, S_per iod, MODE_SMA, 1, MODE_SIGNAL, bars_back);

//m1 data 3 bruno
double stoch_main_m1_3 = stochastique stochastique (NULL, PERIOD_M1, K_period3, D_period3, S_p eriod3, MODE_SMA, 1, MODE_MAIN, bars_back);
double stoch_sig_m1_3 = stochastique (NULL, PERIOD_M1, K_period3, D_period3, S_p eriod3, MODE_SMA, 1, MODE_SIGNAL, bars_back);


}

//SS m1 up
if ((display_SS == vrai) (stoch_main_m1_3 gt; 70) (stoch_main_m1 gt; stoch_sig_m1) ((stoch_main_m1_3 - stoch_main_m1) gt; 30))

{if (i == 1 flagval2 == 0)
{
flagval2 = 1;
flagval1 = 0;
}

ObjectCreate (GetName (S1, i), OBJ_TEXT, 0, Temps [i], (Low [i] - Range * 1.25));
ObjectSetText (GetName (S1, i), S1, 8, Arial Bold, Argent);
}

//SS m1 vers le bas
if ((display_SS == vrai) (stoch_main_m1_3 lt; 30) (stoch_main_m1 lt; stoch_sig_m1) ((stoch_main_m1 - stoch_main_m1_3) gt; 30))

{if (i == 1 flagval1 == 0)
{
flagval1 = 1;
flagval2 = 0;
}

ObjectCreate (GetName (S1, i), OBJ_TEXT, 0, heure [i], (?lev?e [i] plage * 1.25));
ObjectSetText (GetName (S1, i), S1, 8, Arial Bold, Argent);
}

}

retour (0);

//GetName Definiert f?r die Points auf den Bars
string GetName (cha?ne aName, int i)
{
return (aName DoubleToStr (Time [i], 0));
}