Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 2
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Ne pas appeler d'un autre indicateur :)
Ou montrez comment vous le faites.
Je l'appelle depuis cette fonction
int n=0;
for(int i=shift; i<count_find; i++) {
//double price_fractal=iFractals(symbol,timeframe,mode_fractal,i);
double price_fractal=NormalizeDouble(iCustom(symbol,timeframe,"X-bars",InpLeftSide,InpRightSide,mode_fractal,i),Digits);
if(price_fractal>0) {
n++;
if(n==number_fractal) {
bar_fractal=i;
return(price_fractal);
}
}
}
return(EMPTY_VALUE);
}
Et à son tour, de ce
if(count_fractals<1) return(false);
double pt=SymbolInfoDouble(symbol,SYMBOL_POINT);
int n=1, dg=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS);
for(int i=n; i<=count_fractals; i++) {
double price_fractal=GetPriceFractal(symbol,timeframe,mode_fractal,count_find,n,bar_fractal,shift);
double result_compare=fabs(NormalizeDouble(price_fractal-match_price,dg));
if(result_compare<delta_points*pt) {
if(mode_fractal==0) BufferFractalUp[bar_fractal]=price_fractal;
else BufferFractalDn[bar_fractal]=price_fractal;
/// Print("Цена бара с фракталом ",n," совпала с проверяемой ценой, возвращаем true");
return(true);
}
n++;
}
return(false);
}
C'est ça dans OnCalculate()
Appel à partir de cette fonction
int n=0;
for(int i=shift; i<count_find; i++) {
//double price_fractal=iFractals(symbol,timeframe,mode_fractal,i);
double price_fractal=NormalizeDouble(iCustom(symbol,timeframe,"X-bars",InpLeftSide,InpRightSide,mode_fractal,i),Digits);
if(price_fractal>0) {
n++;
if(n==number_fractal) {
bar_fractal=i;
return(price_fractal);
}
}
}
return(EMPTY_VALUE);
}
Eh bien... vous ne l'appelez pas correctement - il n'a que deux paramètres dans les paramètres, et vous mettez 3 après le nom.
Et pourquoi le normalisez-vous ? Il n'y a pas besoin de ça.
Je l'appelle depuis cette fonction
int n=0;
for(int i=shift; i<count_find; i++) {
//double price_fractal=iFractals(symbol,timeframe,mode_fractal,i);
double price_fractal=NormalizeDouble(iCustom(symbol,timeframe,"X-bars",InpLeftSide,InpRightSide,mode_fractal,i),Digits);
if(price_fractal>0) {
n++;
if(n==number_fractal) {
bar_fractal=i;
return(price_fractal);
}
}
}
return(EMPTY_VALUE);
}
Veuillez noter que dans mode_fractal vous devez écrire le numéro de tampon de cet indicateur personnalisé - pour le 0 supérieur, pour le 1 inférieur. Sinon, dans les fractales standard, les valeurs des identifiants pour les fractales ne coïncident pas avec les valeurs de tampon de cet indicateur personnalisé :
Des fractales standard :
Constant
Valeur
Description
MODE_UPPER
1
Ligne supérieure
MODE_BAS
2
Ligne de fond
Tampons de l'indicateur personnalisé :
0 Ligne supérieure
1 Ligne de fond
Eh bien... vous ne l'appelez pas correctement - il n'a que deux paramètres dans les paramètres et vous mettez 3 après le nom.
Et pourquoi vous le normalisez ? Vous n'en avez pas besoin ici.
mode_fractal est la fractale supérieure ou inférieure, vous ne pouvez pas vous en passer.
Le zéro est écrit après le point
mode_fractal est la fractale supérieure ou inférieure, comme sans elle.
le zéro est inscrit après la période
J'ai écrit plus haut que les valeurs de l'indicateur standard et de votre indicateur personnalisé ne correspondent pas.
Pourquoi n'y a-t-il pas de Fibonacci dans Meta Trader 4 mais dans la description ?
Comment ça, non ? Il y a : l'élément de menu "Insertion" --> "Fibonacci".
MetaTrader4 de PlayMarket