Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 972

 
rapid_minus:

Buenas tardes.

Una vez más no puedo salir de lo que parece ser una cosa elemental - ¿por qué todo parece estar de acuerdo con la ayuda, pero el resultado imprime 0,0 ?

¿Por qué no se extrae el valor fractal?

Se necesitan al menos tres barras para un fractal
 

//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#enlace de propiedad "https://www.mql5.com"
#versión de la propiedad "1.00"
#propiedad estricta

double gdClose_array[1];

//+------------------------------------------------------------------+
//| Función de inicialización de expertos |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEED);
}
//+------------------------------------------------------------------+
//| Función de desinicialización experta |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| función de tic experto |
//+------------------------------------------------------------------+
void OnTick()
{
//---
int x=Fr_sign();
Imprimir(x);
}
//+------------------------------------------------------------------+

int Fr_sign()
{
int iX;
doble dX=0;
int giResultado=0;
iX=CopyClose(Symbol(),PERIOD_CURRENT,1,1,gdClose_array);
dX=gdCerrar_array[0];
Imprimir ("dX ", dX);
dX=NormalizeDouble(gdClose_array[0],Digits);
Imprimir ("NormalizarDoble(dX,Dígitos) ", dX);
return(0);
}
//+------------------------------------------------------------------+

Como resultado obtengo

2015.11.30 23:30:37.645 2015.10.30 22:54 111 EURUSD,H1: NormalizeDouble(dX,Digits) 1.05934

mismo valor por prueba

 
Vinin:
Se necesitan al menos tres barras para un fractal
Debo estar viniendo del lado equivocado. Cualquier consejo - aquí hay un fractal en 1 barra. Necesito comparar su valor con los valores de las líneas de Bollinger para determinar si el fractal está dentro o fuera. ¿Cómo puedo representar esto en el código?
 
Lo tengo, los fractales no son necesarios, al menos no para mis propósitos. Hay que comparar el precio mínimo o máximo de la barra con el valor superior o inferior de las líneas de Bollinger, ya que un fractal tiene el valor del máximo o del mínimo de la barra en la que apareció. ¿Verdad?
 

Un fractal es el valor del máximo o del mínimo en 5 barras.

Tener datos en una sola barra no le dará el valor fractal correcto.

 
n0name:

Un fractal es el valor del máximo o del mínimo en 5 barras.

Tener datos en una sola barra no le dará el valor fractal correcto.

Al colocar el indicador "fractales" en el gráfico, verá inmediatamente que las flechas del indicador se sitúan en la barra máxima o mínima, y sus valores son iguales al máximo o al mínimo de esa barra. No importa sobre cuántas barras se calculen los fractales. De todos modos, no es importante para mi estrategia.

Gracias de todos modos.

 
n0name:

...

como resultado obtengo

2015.11.30 23:30:37.645 2015.10.30 22:54 111 EURUSD,H1: NormalizeDouble(dX,Digits) 1.05934

mismo valor por prueba

A) Para pegar el código correctamente aquí en el foro, haga clic en SRC y luego en el campo que se abre el propio código.


B) Prueba el siguiente 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: Precio de cierre = 1.06181

2015.12.01 22:24:09.433 2015.11.27 10:04 111 EURUSD,H1: Precio de cierre = 1.06181

2015.12.01 22:24:09.701 2015.11.30 23:59 111 EURUSD,H1: Precio de cierre = 1.06181

se probó otro par

2015.12.01 22:35:58.830 2015.11.30 23:59 111 GBPUSD,H1: Precio de cierre = 1.50718

2015.12.01 22:35:58.683 2015.11.27 20:59 111 GBPUSD,H1: Precio de cierre = 1.50718

2015.12.01 22:35:50.434 2015.09.17 21:55 111 GBPUSD,H1: Precio de cierre = 1.50718

 
n0name:

2015.12.01 22:24:01.683 2015.10.02 17:49 111 EURUSD,H1: Precio de cierre = 1.06181

2015.12.01 22:24:09.433 2015.11.27 10:04 111 EURUSD,H1: Precio de cierre = 1.06181

2015.12.01 22:24:09.701 2015.11.30 23:59 111 EURUSD,H1: Precio de cierre = 1.06181

se probó otro par

2015.12.01 22:35:58.830 2015.11.30 23:59 111 GBPUSD,H1: Precio de cierre = 1.50718

2015.12.01 22:35:58.683 2015.11.27 20:59 111 GBPUSD,H1: Precio de cierre = 1.50718

2015.12.01 22:35:50.434 2015.09.17 21:55 111 GBPUSD,H1: Precio de cierre = 1.50718

No se puede reproducir, no está claro de dónde viene la segunda fecha, tengo esto

2015.12.01 22:10:04.250 111 EURUSD,H1: Precio de cierre = 1.06336
2015.12.01 22:10:00.531 111 EURUSD,H1: Precio de cierre = 1.06336

2015.12.01 22:10:00.531 es la fecha y la hora;

111 - nombre del Asesor Experto;

EURUSD,H1 - nombre del símbolo y marco temporal;

Precio de cierre = 1,06336 - precio de cierre de la vela con índice 1 (la hora anterior), por lo que lo obtendrá hasta que llegue la nueva hora.

 
Mislaid:

No se puede reproducir, no está claro de dónde viene la segunda fecha, tengo esto

2015.12.01 22:10:04.250 111 EURUSD,H1: Precio de cierre = 1.06336
2015.12.01 22:10:00.531 111 EURUSD,H1: Precio de cierre = 1.06336

2015.12.01 22:10:00.531 es la fecha y la hora;

111 - nombre del Asesor Experto;

EURUSD,H1 - nombre del símbolo y marco temporal;

Precio de cierre = 1,06336 - precio de cierre de la vela con índice 1 ( hora anterior ), lo recibirá hasta la nueva hora.

Todo correcto, por favor haga una prueba seleccionando algunos días. ¿Cuál será el resultado?
Razón de la queja: