Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 16
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Olá, você pode me ajudar a encontrar o preço do fractal maior, desde o primeiro - perto dos quatro fractais superiores.
Olá, você pode me ajudar a encontrar o preço do fractal maior, desde o primeiro - perto dos quatro fractais superiores.
{
Comment("Min = ",MaxMinFractal(MODE_LOWER, 4),"; Max = ",MaxMinFractal(MODE_UPPER, 4));
}
//===============================================================================================
//--------------------------------- Возвращает Max/Min фрактала --------------------------------+
//===============================================================================================
double MaxMinFractal(int mode=MODE_UPPER, int nf=4) {
string symb=Symbol();
double f=0,min=9999999,max=0;
int kf=0;
for(int i=3; i<iBars(symb, 0); i++) {
if(mode==MODE_LOWER){
f=iFractals(symb, 0, MODE_LOWER, i);
if(f!=0) {
kf++;
if(min>iLow(symb,0,i)) min=iLow(symb,0,i);
if(kf>=nf) return(min);
}}
if(mode==MODE_UPPER){
f=iFractals(symb, 0, MODE_UPPER, i);
if(f!=0) {
kf++;
if(max<iHigh(symb,0,i)) max=iHigh(symb,0,i);
if(kf>=nf) return(max);
}}}
return(-1);
}
Olá, você pode me ajudar a encontrar o preço do fractal maior, desde o primeiro - perto dos quatro fractais superiores.
void OnStart()
{
int i=1,cnt=1;
double lastupfr=0;
while(cnt<5)
{
double upfr=iFractals(_Symbol,0,1,i);
if(upfr!=0)
{
if(upfr>lastupfr) lastupfr=upfr;
cnt++;
}
i++;
}
Comment("Biggest UpFractal = ",lastupfr);
}
Ainda mais curto ) Obrigado.
E como, entre estes, os fractais personalizáveis, você escolhe o máximo?
//| nr - количество баров справа |
//+----------------------------------------------------------------------------+
double GetNearestUpFractal(string sy="0", int tf=0, int nl=2, int nr=2) {
bool f;
int fb, i, nb=-1;
if (sy=="" || sy=="0") sy=Symbol();
if (nl<1) nl=1;
if (nr<1) nr=1;
fb=nr;
while (nb<0) {
fb++;
f=True;
for (i=fb; i>fb-nr; i--) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i-1)) { f=False; break; }
}
if (f) {
for (i=fb; i<fb+nl; i++) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i+1)) { f=False; break; }
}
if (f) { nb=fb; break; }
}
}
return(iHigh(sy, tf, nb));
}
Ainda mais curto ) Obrigado.
E como, entre estes, os fractais personalizáveis, você escolhe o máximo?
//| nr - количество баров справа |
//+----------------------------------------------------------------------------+
double GetNearestUpFractal(string sy="0", int tf=0, int nl=2, int nr=2) {
bool f;
int fb, i, nb=-1;
if (sy=="" || sy=="0") sy=Symbol();
if (nl<1) nl=1;
if (nr<1) nr=1;
fb=nr;
while (nb<0) {
fb++;
f=True;
for (i=fb; i>fb-nr; i--) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i-1)) { f=False; break; }
}
if (f) {
for (i=fb; i<fb+nl; i++) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i+1)) { f=False; break; }
}
if (f) { nb=fb; break; }
}
}
return(iHigh(sy, tf, nb));
}
void OnStart()
{
int i=1,cnt=1;
double lastupfr=0;
while(cnt<5)
{
double upfr=GetNearestUpFractal(_Symbol,0,2,2);
if(upfr!=0)
{
if(upfr>lastupfr) lastupfr=upfr;
cnt++;
}
i++;
}
Comment("Biggest UpFractal = ",lastupfr);
}
//-----------
//| nl - количество баров слева |
//| nr - количество баров справа |
//+----------------------------------------------------------------------------+
double GetNearestUpFractal(string sy="0", int tf=0, int nl=2, int nr=2) {
bool f;
int fb, i, nb=-1;
if (sy=="" || sy=="0") sy=Symbol();
if (nl<1) nl=1;
if (nr<1) nr=1;
fb=nr;
while (nb<0) {
fb++;
f=True;
for (i=fb; i>fb-nr; i--) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i-1)) { f=False; break; }
}
if (f) {
for (i=fb; i<fb+nl; i++) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i+1)) { f=False; break; }
}
if (f) { nb=fb; break; }
}
}
return(iHigh(sy, tf, nb));
}
Portanto, retorna o preço do quase fractal.
Como posso encontrar o máximo dos quatro fractais configuráveis?
Portanto, retorna o preço do quase fractal.
Como posso encontrar o máximo dos quatro fractais configuráveis?
Um... Você precisa selecionar os 4 fractais configurados para a seleção, e, ao rebentar os fractais inferiores sem valor, deixar um Maximka:)
Como você faz isso?