[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 1075

 

Bonjour à tous. J'ai besoin d'un histogramme du momentum. Je me demandais si quelqu'un pouvait me donner un histogramme.

Merci.

 
fozi:

Bonjour à tous. J'ai besoin d'un histogramme du momentum. Je me demandais si quelqu'un pouvait me donner un histogramme.

Merci.

https://www.mql5.com/ru/forum/111497/page1075
La ligne ou l'histogramme, ne change pas le point, sauf visuellement.
 
C'est ce que je dis, les visuels sont nécessaires.
 
fozi:
C'est ce que je dis, les visuels sont nécessaires.
Dossiers :
 

Cette fonction qui détecte un mouvement excessif est-elle correcte ?

extern int CandleVolume=60 - si la taille de la bougie précédente est supérieure à 60 pips

------ fonction vérifiant le volume de la bougie précédente

int CheckVolume()
{

int volume=MathAbs(NormalizeDouble(Low[1],Digits)-NormalizeDouble(High[1],Digits)) ;

si (volume <= CandleVolume) retourner (1) ;

si (volume > CandleVolume) retourner (-1) ;

}

-------- contrôle au départ comme suit

si(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1)

{CheckForOpen();}

 

Autre question : j'essaie de vérifier la barre précédente. Buy check - L'Ask est supérieur au High de la barre précédente + spread. Contrôle de vente - L'offre est inférieure au bas de la barre précédente moins l'écart. Cette fonction est-elle correcte ? Malheureusement, ça ne marche pas.

int CheckBar()
{
double Spread=MarketInfo(Symbol(),MODE_SPREAD) ;
double PriceBuy=Ask ;
double PriceSell=Bid ;
si(PriceSell<(Low[1]-Spread)) return(-1) ;
if(PriceBuy>(High[1]+Spread)) return(1) ;
}
 
dzhini:

Autre question : j'essaie de vérifier la barre précédente. Buy check - L'Ask est supérieur au High de la barre précédente + spread. Contrôle de vente - L'offre est inférieure au bas de la barre précédente moins l'écart. Cette fonction est-elle correcte ? Malheureusement, cela ne fonctionne pas.


int CheckBar(){   
   double Spread=MarketInfo(Symbol(),MODE_SPREAD);   
   double PriceBuy=Ask;   
   double PriceSell=Bid;   
   if(PriceSell   < (Low[1]  - Spread*Point)) return(-1);   
   if(PriceBuy  > (High[1] + Spread*Point)) return(1);
   return(0);
}
 
dzhini:

Autre question : j'essaie de vérifier la barre précédente. Buy check - L'Ask est supérieur au High de la barre précédente + spread. Contrôle de vente - L'offre est inférieure au bas de la barre précédente moins l'écart. Cette fonction est-elle correcte ? Malheureusement, cela ne fonctionne pas.

Je n'utiliserais pas du tout l'écart, car il flotte souvent...
 
Vinin:

Merci beaucoup. Ça marche. Va dans ma base de connaissances )))) Veuillez me conseiller sur ce que je dois faire avec la fonction qui définit la taille de la bougie précédente ?

extern int CandleVolume=60 - si la taille de la bougie précédente est supérieure à 60 pips

------ fonction qui vérifie le volume de la bougie précédente

int CheckVolume()
{

int volume=MathAbs(NormalizeDouble(Low[1],Digits)-NormalizeDouble(High[1],Digits)) ;

si (volume <= CandleVolume) retourner (1) ;

si (volume > CandleVolume) retourner (-1) ;

}

-------- contrôle au départ comme suit

si(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1)

{CheckForOpen();}

 
AlexSTAL:
Je n'utiliserais pas du tout les spreads, car ils flottent souvent...


Ce n'est pas un problème. A chaque tick, nous demandons un nouveau spread, et le problème est résolu - nous aurons toujours un nouveau spread à chaque tick. Si vous travaillez dans une société de courtage avec des spreads flottants, il ne serait pas mal de demander un mini-niveau à chaque tick.

SPR=MarketInfo(Symbol(),MODE_SPREAD);
MinLevel=MarketInfo(Symbol(),MODE_STOPLEVEL);