Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 972

 
rapid_minus:

Boa tarde!

Novamente não posso sair do que parece ser uma coisa elementar - porque tudo parece estar de acordo com a ajuda, mas o resultado imprime 0,0 ?

Por que o valor fractal não está sendo extraído?

Você precisa de pelo menos três barras para um fractal
 

//+------------------------------------------------------------------+
#direitos autorais "Copyright 2015, MetaQuotes Software Corp."
#link da propriedade "https://www.mql5.com"
#propriedade versão "1.00"
#propriedade rigorosa

duplo gdClose_array[1];

//+------------------------------------------------------------------+
//| Função de iniciação de especialistas |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEED);
}
//+------------------------------------------------------------------+
//| Função de desinicialização especializada |
//+------------------------------------------------------------------+
nulo OnDeinit(const int razão)
{
//---
}
//+------------------------------------------------------------------+
//| função tick expert |
//+------------------------------------------------------------------+
nulo OnTick()
{
//---
int x=Fr_sign();
Imprimir(x);
}
//+------------------------------------------------------------------+

int Fr_sign()
{
int iX;
duplo dX=0;
int giResult=0;
iX=CopyClose(Symbol(),PERIOD_CURRENT,1,1,gdClose_array);
dX=gdClose_array[0];
Impressão ("dX", dX);
dX=NormalizeDouble(gdClose_array[0],Digits);
Impressão ("NormalizeDouble(dX,Digits) ", dX);
retorno(0);
}
//+------------------------------------------------------------------+

Como resultado, eu recebo

2015.11.30 23:30:37.645 2015.10.30 22:54 111 EURUSD,H1: NormalizeDuplo(dX,Dígitos) 1.05934

mesmo valor por teste

 
Vinin:
Você precisa de pelo menos três barras para um fractal
Eu devo estar vindo do lado errado. Qualquer conselho - aqui está um fractal em 1 barra. Preciso comparar seu valor com os valores das linhas Bollinger para determinar se o fractal está dentro ou fora. Como posso representar isto no código?
 
Ha! Entendi - os fractais não são necessários, pelo menos não para os meus propósitos. É preciso comparar o preço mínimo ou máximo da barra com o valor superior ou inferior das linhas Bollinger, pois um fractal tem o valor do alto ou do baixo da barra em que apareceu. Certo?
 

Um fractal é o valor do alto ou baixo em 5 barras.

Ter dados em uma única barra não lhe dará o valor fractal correto.

 
n0name:

Um fractal é o valor do alto ou baixo em 5 barras.

Ter dados em uma única barra não lhe dará o valor fractal correto.

Colocando o indicador "fractal" no gráfico, você verá imediatamente que as setas indicadoras estão posicionadas na barra máxima ou mínima, e seus valores são iguais ao alto ou baixo daquela barra. Não importa em quantas barras os fractais são calculados. De qualquer forma, isso não é importante para minha estratégia.

De qualquer forma, obrigado.

 
n0name:

...

como resultado, eu recebo

2015.11.30 23:30:37.645 2015.10.30 22:54 111 EURUSD,H1: NormalizeDuplo(dX,Dígitos) 1.05934

mesmo valor por teste

A) Para colar o código corretamente aqui no fórum, clique em SRC e depois no campo que abre o código em si.


B) Tente o seguinte código.

#property strict

int OnInit()
  {
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Fr_sign();
  }
//+------------------------------------------------------------------+

void Fr_sign()
  {
   double gdClose_array[1];
   if(CopyClose(_Symbol,PERIOD_CURRENT,1,1,gdClose_array)!=1) return;

   Print("Close price = ",DoubleToStr(gdClose_array[0],_Digits));
  }
 
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
//---
   return(INIT_SUCCEEDED);
   }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  Fr_sign();
  }
//+------------------------------------------------------------------+
 void Fr_sign()
  {
   double gdClose_array[1];
   if(CopyClose(_Symbol,PERIOD_CURRENT,1,1,gdClose_array)!=1) return;

   Print("Close price = ",DoubleToStr(gdClose_array[0],_Digits));
  }
//+------------------------------------------------------------------+ 

2015.12.01 22:24:01.683 2015.10.02 17:49 111 EURUSD,H1: Preço de fechamento = 1,06181

2015.12.01 22:24:09.433 2015.11.27 10:04 111 EURUSD,H1: Preço de fechamento = 1,06181

2015.12.01 22:24:09.701 2015.11.30 23:59 111 EURUSD,H1: Preço de fechamento = 1.06181

experimentado em outro par

2015.12.01 22:35:58.830 2015.11.30 23:59 111 GBPUSD,H1: Preço de fechamento = 1,50718

2015.12.01 22:35:58.683 2015.11.27 20:59 111 GBPUSD,H1: Preço de fechamento = 1,50718

2015.12.01 22:35:50.434 2015.09.17 21:55 111 GBPUSD,H1: Preço de fechamento = 1,50718

 
n0name:

2015.12.01 22:24:01.683 2015.10.02 17:49 111 EURUSD,H1: Preço de fechamento = 1,06181

2015.12.01 22:24:09.433 2015.11.27 10:04 111 EURUSD,H1: Preço de fechamento = 1,06181

2015.12.01 22:24:09.701 2015.11.30 23:59 111 EURUSD,H1: Preço de fechamento = 1.06181

experimentado em outro par

2015.12.01 22:35:58.830 2015.11.30 23:59 111 GBPUSD,H1: Preço de fechamento = 1,50718

2015.12.01 22:35:58.683 2015.11.27 20:59 111 GBPUSD,H1: Preço de fechamento = 1,50718

2015.12.01 22:35:50.434 2015.09.17 21:55 111 GBPUSD,H1: Preço de fechamento = 1,50718

Não posso reproduzir, não está claro de onde veio a segunda data, tenho este

2015.12.01 22:10:04.250 111 EURUSD,H1: Preço de fechamento = 1,06336
2015.12.01 22:10:00.531 111 EURUSD,H1: Preço de fechamento = 1,06336

2015.12.01 22:10:00.531 é a data e a hora;

111 - nome do Conselheiro Especialista;

EURUSD,H1 - nome do símbolo e cronograma;

Preço fechado = 1,06336 - preço fechado da vela com índice 1 (a hora anterior), assim você a receberá até a nova hora chegar.

 
Mislaid:

Não posso reproduzir, não está claro de onde vem o segundo encontro, tenho este

2015.12.01 22:10:04.250 111 EURUSD,H1: Preço de fechamento = 1,06336
2015.12.01 22:10:00.531 111 EURUSD,H1: Preço de fechamento = 1,06336

2015.12.01 22:10:00.531 é a data e a hora;

111 - nome do Conselheiro Especialista;

EURUSD,H1 - nome do símbolo e cronograma;

Preço de fechamento = 1,06336 - preço de fechamento da vela com índice 1 ( hora anterior ), você receberá isto até a nova hora.

Tudo correto, por favor, faça um teste selecionando alguns dias. Qual será o resultado?