Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 178

 
tara:

Je ne sais pas ce que les camarades diront, mais ça me semble bien. Il dessine les flèches, mais pas les objets.
Il me semble que c'est la même chose. Les flèches peuvent être dessinées dans le tampon de l'indicateur, tandis que les objets sont créés via ObjectCreate().
 
pu6ka:
Il me semble que c'est la même chose. Les flèches peuvent être dessinées dans le tampon de l'indicateur et les objets sont créés via ObjectCreate().


Je ne vais pas discuter.
 
tara:

Je ne sais pas ce que les camarades diront, mais ça me semble bien. Il dessine des flèches, mais pas d'objets.

Je me rends compte que j'ai posé une question stupide, alors comment l'indicateur dessine-t-il des flèches via des tampons, et comment puis-je les interpréter en signaux de trading ?
 

bistreevseh:

Je réalise que j'ai posé une question stupide, alors comment l'indicateur dessine-t-il les flèches à travers les tampons et comment puis-je les interpréter en signaux de trading ?
le plus souvent, lorsqu'il n'y a pas de signal, la valeur du tampon de l'indicateur est EMPTY_VALUE

comment capter un signal - voici des idées et leur mise en œuvre


 
bool Stochastic () {
double Sig_Buy = zoneBUY; 
double Sig_Sell = zoneSELL;
bool Exit_UrBuy = TRUE;
bool Exit_UrSell = TRUE;
double sM0,sM1,sS0, sS1;
bool Bar_BuyCross = FALSE;
bool Bar_SellCross = FALSE;
int bar_b, bar_s;


   sM0  = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,1);
   sM1  = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,2);
   sS0 = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_SIGNAL,1);
   sS0 = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_SIGNAL,2);


bool CrossBuy = (sS0<Sig_Buy && sM0<Sig_Buy && sM1<sS1 && sM0>=sS0);
bool CrossSell = (sS0>Sig_Sell && sM0>Sig_Sell && sM1>sS1 && sM0<=sS0);

if (UseExitUr) {
if (sM0 >Sig_Buy && sM1 <= Sig_Buy) Exit_UrBuy = TRUE;
else Exit_UrBuy = FALSE;
if (sM0 <Sig_Sell && sM1 >= Sig_Sell) Exit_UrSell = TRUE;
else Exit_UrSell = FALSE;
}

if (CrossBuy) { TimeCrossB =  iOpen( NULL, 0, 1); }

  for (int cnt = 1 ; cnt < Finder ; cnt++) {
bar_b = iBarShift(NULL, 0, TimeCrossB, cnt); 
if (bar_b > 0) Bar_BuyCross = TRUE; 
}

if (Bar_BuyCross && Exit_UrBuy) {
     Li_24 = TRUE;
     TimeCrossB = -1;
 }

if (CrossSell) {TimeCrossS = iOpen( NULL, 0, 1);}

for (int cnm = 1 ; cnm < Finder ; cnm++) {
bar_s = iBarShift(NULL, 0, TimeCrossS, cnm); 
if (bar_s > 0) Bar_SellCross = TRUE; 
}


if (Bar_SellCross && Exit_UrSell) {
    TimeCrossS = -1;
    Li_28 = TRUE;
   }

   return(false);
}

Chers professionnels, veuillez m'aider avec cette idée. Je veux capter un signal du stochastique lorsqu'il quitte la zone de surachat (survente), si ses lignes traversent ces zones. Je veux également que ce croisement ne soit pas plus loin qu'un certain nombre de barres - le paramètre Finder. Mais je ne peux pas le mettre en œuvre. Si vous avez un regard neuf, s'il vous plaît, regardez où il y a des erreurs.

Note : Paramètres :

Li_28 = TRUE; и Li_24 = TRUE; 

le hibou lit comme bon pour ouvrir des commandes

 
dr.Vasgenich:

Regardez le code d'un œil neuf et voyez où se trouvent les erreurs.

Désolé, je ne suis pas un pro, mais un code de cette taille sans un seul commentaire

1) prolonge le temps nécessaire à l'analyse et à la recherche de l'erreur ;

2) vous décourage d'analyser et de rechercher l'erreur.

 

Amis, je comprends que pour beaucoup ce sera trivial et simple, mais pourriez-vous m'aider à écrire un EA dans lequel apparaîtra un signal sonore lorsque l'histogramme MAKD traversera le "0" sur H4 et D1. C'est tout.

Peut-être ai-je déjà eu de telles questions, désolé dans ce cas. Mais j'ai vraiment besoin du code ...

 
CAYANNE:

Amis, je comprends que pour beaucoup ce sera trivial et simple, mais pourriez-vous m'aider à écrire un EA dans lequel apparaîtra un signal sonore lorsque l'histogramme MAKD traversera le "0" sur H4 et D1. C'est tout.

Peut-être ai-je déjà eu de telles questions, désolé dans ce cas. Mais j'ai vraiment besoin du code ...


C'est par là.
 

Pouvez-vous me dire comment mettre en place une interdiction d'installer un deuxième indicateur du même type dans une fenêtre, si un indicateur y est déjà installé ?

Je voudrais le faire directement dans le code de l'indicateur, mais je ne sais pas comment faire.

La seule chose à laquelle je pense est la vérification de l'indicateur dans init(), mais init() est appelé après l'installation de l'indicateur...

 

Aidez-moi !

 OrderClose( OrderTicket(), 0.1, NormalizeDouble(Bid,2), 1 );  
      Alert("Маємо помилку ",GetLastError());

Erreur 0 et l'ordre ne se ferme pas ! Qu'est-ce qui ne va pas ?

Raison: