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

 
evillive:

¿Está bien salir del conjunto?

Aquí mismo:

Además, "no quiere mostrar" todo lo que hay, no sólo lo bajo[1].

1
 
mario065:
¿Sugerencias para solucionarlo?
¿Explique en lenguaje humano lo que quiere de este guión?
 
evillive:
Explica en lenguaje humano, ¿qué quieres de este guión?

Encuentre el valor más bajo/más alto del indicador de volumen desde el principio del día hasta ahora.

Si hay un nuevo valor máximo/mínimo, recuerda el último.

 

evasivo,

Gracias por su atención :)

 
mario065:

Encuentre el valor más bajo/más alto del indicador de volumen desde el principio del día hasta el presente.

Si hay un nuevo valor máximo/mínimo, recordará el último.

Esto es probablemente lo mejor:

//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
int high,low;
datetime timeh,timel;
//+------------------------------------------------------------------+
int init(){  
  return(0);
 }
int deinit(){
  Comment("");
  return(0);
 }  
//-------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnStart(){
    double   spred = MarketInfo(Symbol(),MODE_SPREAD);
    int      limit,Open_bar_per,Close_bar_per,av_vol;
    datetime Time_period,Close_per;
//+------------------------------------------------------------------+
       Time_period   = iTime(Symbol(),PERIOD_D1,0);
       Open_bar_per  = iBarShift(Symbol(),0,Time_period,false);
       Close_per     = iTime(Symbol(),0,0);
       Close_bar_per = iBarShift(Symbol(),0,Close_per,false);
       limit         = Open_bar_per - Close_bar_per;

int hivol_s=iHighest(NULL,0,MODE_VOLUME,limit,1);
int lovol_s=iLowest(NULL,0,MODE_VOLUME,limit,1);
high=iVolume(NULL,0,hivol_s);
low=iVolume(NULL,0,lovol_s);
timeh=iTime(NULL,0,hivol_s);
timel=iTime(NULL,0,lovol_s);
       av_vol = NormalizeDouble(high/3,0);
//+------------------------------------------------------------------+
     Print("\nВреме на брокера: ",TimeToStr(TimeCurrent(),TIME_SECONDS),", Локално време: "+TimeToStr(TimeLocal(),TIME_SECONDS),
             "\nТекущ спред: ",DoubleToStr(spred/10,1),
             "\n High_per  :  ",high,
             "\n Low_per   :  ",low,   
             "\n time_high :  ",TimeToStr(timeh,TIME_SECONDS),
             "\n time_low  :  ",TimeToStr(timel,TIME_SECONDS),
             "\n Close_per :  ",TimeToStr(Close_per,TIME_SECONDS),
             "\n Open_per  :  ",TimeToStr(Time_period,TIME_SECONDS), 
             "\n av_vol    :  ",av_vol
             ); 
  }

Mi comentario no muestra nada, se imprime bien...

 
void CalculateSimpleMA(int rates_total,int prev_calculated,const double &price[])
  {
   int i,limit;
//--- first calculation or number of bars was changed
   if(prev_calculated==0)
   
     {
      limit=InpMAPeriod;
      //--- calculate first visible value
      double firstValue=0;
      for(i=0; i<limit; i++)
         firstValue+=price[i];
      firstValue/=InpMAPeriod;
      ExtLineBuffer[limit-1]=firstValue;
      ExtLineBufferFid[1]=(firstValue*InpMAPeriod-price[i-InpMAPeriod])/i-1; Добрый человек предоставил вот такую реализацию(sma99[i]=(sma100[i]*100-d[i-100])/99;), но что то не выходит!

Saludos, disculpas por la repetición, pero es una pregunta interesante)

Cómo se calcula:

Tener un período deslizante (por ejemplo, 16) calcular un período de 15, a partir de un período de 16.

 
evillive:

Probablemente sea lo mejor:

Mi comentario no muestra nada, imprime normalmente...

Hola evllive,

Es posible, pero no lo necesito. Necesito un array.

No puedes ver el comentario porque tú usas voidOnStart y yo uso intstart.

Esto es lo que escribí el otro día en el archivo de comentarios, escrito en búlgaro.

Lo investigaré hoy y veré lo que hemos discutido.

Gracias por sus comentarios.

PD: He añadido otro archivo.

Archivo H_L- primer indicador,archivo_6 en el explorador del cuerpo pero solo dibuja.

 
evillive:

Probablemente sea mejor así:

Comentario Tengo algo no se muestra, salidas de impresión normalmente...

Dicho y hecho. Todavía no lo he puesto en arrays, pero lo haré cuando lo convierta en una función externa.

Las líneas se dibujan en la primera ventana del indicador-datos, si es para volumétrico, necesita un hermano de datos para volumétrico.

De esta manera formalizo el rango del Volumet en partes bajas, medias, altas.

 

¡Buenas noches!

¿Pueden decirme qué pasa con mi primer EA? No mostró los mensajes en el momento de la pausa:

//--------------------------------------------------------------------

extern Period_MA=8; // Periodo de la MA calculada

//--------------------------------------------------------------------

int start() // Función especial start

{

double MA_f, // Valor de MA en 0 bar

MA_s, // Valor de la MA en 1 barra

MA_t, // Valor de la MA en 2 barras

//--------------------------------------------------------------------

// Acceso a la función tech.ind.

MA_f =iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0);

MA_s =iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,1);

MA_t =iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,2);

//--------------------------------------------------------------------

si (MA_t>MA_s<MA_f)

Alert("Fractura en el centro hacia abajo");// Mensaje

si (MA_t<MA_s>MA_f)

Alert("Ruptura en el medio desde arriba");// Mensaje

//--------------------------------------------------------------------

return; //salir de start()

}

//--------------------------------------------------------------------

Gracias.

 
Top2n:

Saludos, disculpas por la repetición, pero es una pregunta interesante)

Cómo se calcula:

Teniendo un período deslizante (por ejemplo, 16) calcular el período 15, a partir del período 16.

Y(n+1)=(Y(n)*n+x[n+1])/(n+1), donde Y(i) es la media móvil de los valores i, x[i] es el valor número i. Numeración de los valores como en las series temporales.

Estarás muy agradecido si me dices por qué necesitas todo esto.