Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 780

 
LookingFor:
   for(bars=start; bars<rates_total; bars++)



Colegas, por favor ayúdenme

No entiendo que pasa con el bucle, los datos del Handle no entran en el array psa1


En OnInit() haz lo siguiente:

  ArraySetAsSeries(pca1,true);

después de eso, cambia tu bucle en consecuencia:

   for(bars=start; bars<rates_total; bars++)

Considerando que ahora la barra más a la derecha de su indicador tiene índice "0".

 

¿Cómo termino una secuencia de comandos pulsando cualquier tecla o una tecla específica?

 
Vladimir, gracias, ¿no se puede hacer nada sin cambiar la indexación?
 
LookingFor:
Vladimir, gracias, ¿no se puede hacer nada sin cambiar la indexación?

Si no quieres hacer nada, entonces empieza a hacer pruebas con la depuración de datos históricos. Paso a paso. Vea los datos de DONDE se copia la barra.

 
LookingFor:

Colegas, por favor ayúdenme

No entiendo que pasa con el bucle, los datos del Handle no entran en el array psa1


LookingFor:
Vladimir, gracias, pero no se puede hacer nada sin cambiar la indexación?

En primer lugar, hay que hacer que el código sea legible(Styler - Trabajar con el código fuente - Desarrollo de programas - MetaEditor)

//+------------------------------------------------------------------+ 
//| Custom indicator iteration function                              | 
//+------------------------------------------------------------------+ 
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   if(prev_calculated==0)
     {
      i=bars=start=1;
     }
   else
     {
      start=prev_calculated;
     }
   for(bars=start; bars<rates_total; bars++)
     {
      CopyBuffer(pulse_Handle,0,start,1,pca1);

      if(pca1[bars]!=pca1[bars-1])
        {
         pca2[i]=pca1[bars]; i++;
         string s="";
         s=IntegerToString(pca1[bars])+"  ";
         Print(s); continue;
        }
      else
         continue;
     }
//--- return value of prev_calculated for next call 
   return(rates_total);
  }

también DEBE comprobar - pero ¿qué fue devuelto por la función CopyBuffer? Consulte elCopyBuffer:

Valor devuelto

Número de elementos del array copiados o -1 en caso de error.

Además, establecemos puntos de interrupción y ejecutamos la depuración de los datos históricos

ejecutar la depuración de los datos históricos

y controlar algunas variables:

time[rates_total-1]
time[0]
bars
pca1[???]

df

Стилизатор - Работа с исходным кодом - Разработка программ - Справка по MetaEditor
Стилизатор - Работа с исходным кодом - Разработка программ - Справка по MetaEditor
  • www.metatrader5.com
Данная функция предназначена для оформления исходного кода в соответствии с рекомендуемым стандартом. Это позволяет сделать код более читаемым...
 

Ayudar a traducir a una A

double GetExtremumZZPrice(string symb="0",ENUM_TIMEFRAMES tf=0,int ne=0,int dp=12,int dv=5,int bs=3) {
 if(symb=="0") symb=Symbol();
  double zz;
  int ke=0;
   for(int i=0; i<Bars(symb, tf)-1; i++) {
    zz=iCustom(symb, tf, "ZigZag", dp, dv, bs, 0, i);
    if(zz!=0) {
      ke++;
      if(ke>ne) return(zz);
  }}
  return(0);
 }
 
Vitaly Muzichenko:

Ayudar a traducir a una A

Lee el buffer de indicadores y en el array resultante busca zz

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyBuffer - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vitaly Muzichenko:

Ayudar a traducir a una A

¡Primero, consigue la manija del indicador! A continuación, utilice CopyBuffer para obtener una matriz de valores deseados y, a continuación, haga un bucle a través de ellos.
 

Gracias a todos.

Otra pregunta: he buscado en el foro y en kodobase y no encuentro ninguna aplicación para "Trend.mqh", parece que está todo. Si hay un enlace a la aplicación, por favor envíenlo aquí o denme un ejemplo por código.

He encontrado muchos EAs usando Rsi, Ma, Adh y otros EAs, pero ninguno de ellos ha usado SB. ¿Es tan malo, o no he encontrado los códigos, que lo utiliza?


Lo que necesito: Hay un código, en él obtengo MA de varios plazos

_ma1 = iMA(Symbol,PERIOD_M15,MAFast,0,MAMethod,MAPrice,i)
_ma2 = iMA(Symbol,PERIOD_M30,MAFast,0,MAMethod,MAPrice,i)
_ma3 = iMA(Symbol,PERIOD_H1, MAFast,0,MAMethod,MAPrice,i)

No crear varias docenas de asas en mql5 en OnInit, espero que SB resolverá mi problema.

 
Vitaly Muzichenko:

Gracias a todos.

Otra pregunta: he buscado en el foro y en kodobase y no encuentro ninguna aplicación para "Trend.mqh", parece que está todo. Si hay un enlace a la aplicación, por favor envíenlo aquí o denme un ejemplo por código.

He encontrado muchos EAs usando Rsi, Ma, Adh y otros EAs, pero ninguno de ellos ha usado SB. ¿Es realmente tan malo, o no he encontrado el código, que lo utiliza?


Lo que necesito: Hay un código, en él obtengo MA de varios plazos

No crear varias docenas de asas en mql5 en OnInit, espero que SB resolverá mi problema.


Tengo que crear todas las asas u objetos de la clase "Trend.mqh::CiMA".