Errores, fallos, preguntas - página 2994

 
Alexandr Bryzgalov:

la referencia no indica correctamente el orden de los parámetros.


¿Cuáles son sus pruebas?

 
Vladimir Karputov:

¿Cuál es su prueba?

/

 
Vladimir Karputov:

¿Cuáles son sus pruebas?

No. No hay ningún error.

La propia orden me confundió. Y el hecho de que no toma 0. Siempre quiere una variable.


 
Alexandr Bryzgalov:

No. No hay ningún error.

El orden en sí mismo es confuso. Y que no toma 0. Necesita necesariamente una variable.

Eso es lo que dice la ayuda - necesita una VARIABLE

   int&           sub_window,   // The number of the subwindow 
 
Vladimir Karputov:

Eso es lo que dice la ficha técnica - Se necesita VARIABLE

 

Amigos, ayúdenme. Estoy completamente desconcertado por lo que está pasando.

#property indicator_chart_window
#property indicator_plots 0

int                      ma_handle;
bool FirstStart;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   if(ChartPeriod()!=PERIOD_M1)
     {
      ChartSetSymbolPeriod(0,_Symbol,PERIOD_M1);
     }
   ma_handle=iCustom(Symbol(),PERIOD_H1,"Indicator For Search Data");
   FirstStart = true;
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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[])
  {
   ulong tmpTimeCopy = GetMicrosecondCount();
   if(FirstStart)
     {
      double tmp[];
      datetime DateStart=D'2018.07.19', DateEnd=D'2021.01.19 23:59:59';
      int DataCopy=-1;
      while(true)
        {
         DataCopy=CopyBuffer(ma_handle,0,DateStart,DateEnd,tmp);
         if(DataCopy<0)
            Print("Return");
         else
           {
            IndicatorRelease(ma_handle);
            FirstStart=false;
           }
         if(!FirstStart)
            break;
        }
      Print("Time Copy Buffer: ", GetMicrosecondCount() - tmpTimeCopy);
      Print("Data to Copy: ", DataCopy, " ", tmp[0], " ", tmp[1], " ", tmp[2], " ", tmp[3], " ", tmp[4]);
      Print(datetime(tmp[0])," ",datetime(tmp[1])," ",datetime(tmp[ArraySize(tmp)-1]));

     }
   return(rates_total);
  }

Aquí está el indicador completo. Cuando se pone en marcha, empieza a dar

Captura de pantalla

Por qué tanto optimismo. Si pulso la pausa o la parada, sigo obteniendo valores en la pestaña Expert Advisor de la ventana Toolbox. La ventana con el indicador ya está cerrada, pero los valores se muestran con éxito.

¿Cómo ocurre esto? ¿Quién puede explicar algo?

 
ROMAN KIVERIN:

Amigos, ayúdenme. Estoy completamente desconcertado por lo que está pasando.

Aquí está el indicador completo. Cuando se pone en marcha, empieza a dar

Por qué tanto optimismo. Si pulso la pausa o la parada, sigo obteniendo valores en la pestaña Expert Advisor de la ventana Toolbox. La ventana con el indicador ya está cerrada, pero los valores se muestran con éxito.

¿Cómo ocurre esto? ¿Puede alguien explicar algo?

¿Quién ha dicho que CopyBuffer() tendrá éxito al menos una vez?

¿Quién ha dicho que iCustom() tendrá éxito?

"Los errores pueden formar ciclos. El más persistente de ellos es el infinito". Teoría del error.
 

Desde la última actualización, la funciónEnumToString no funciona correctamente dependiendo del código que se llame. Una llamada independiente aEnum_ no reproduce el error.

template<typename T>

int Enum_(T enum_value)
  {
   ...
         s1=EnumToString(T(i1));

   ...

   }

En el depurador:

GetLastError devuelve:

ERR_INVALID_PARAMETER.

4003

Parámetro erróneo al llamar a una función del sistema

 

copia de ayuda de la revista mt4

sell 0.20 CL-MAY21 at 59.36 sl: 0.00 tp: 0.00 -> sl: 0.00 tp: 58.00
14:07:13.521 Trade: '50223437': order #5595882 sell 0.20 CL-MAY21 at 59.36 was modified -> sl: 0.00 tp: 58.00
15:56:34.215 Startup: MetaTrader 4 for Android
15:56:34.223 Startup: Copyright 2001-2021, MetaQuotes Software Corp.
15:56:34.223 Startup:
15:56:34.223 Startup: Device: samsung a41 (QP1A.190711.020.A415FXXU1BUC3) 10(REL) 29SDK
15:56:34.223 Startup: Kernel: 4.14.141-20194519
15:56:34.239 Terminal: Native library initialized. Version 400 Build 1334
15:56:34.259 Chat: initialization success
15:57:43.276 Terminal: Codepage for current language (ru_RU) is 'CP1251'
15:57:43.277 Terminal: Using 'windows-1251' for server strings
15:57:43.284 Terminal: Terminal instance created
15:57:43.641 Terminal: Connecting to PinedaIntl-Trader through 'Main'
15:57:43.793 Terminal: Connected to PinedaIntl-Trader through Main
15:57:43.993 Chat: connected to msg.mql5.com:443
15:57:44.088 Network: '50223437': login successfull [connection type: unknown]
15:58:02.749 GL: Texture size: 256x256
15:59:35.745 Trade: '50223437': modify order #5595882 sell 0.20 CL-MAY21 at 54.19 sl: 0.00 tp: 58.00 -> sl: 0.00 tp: 52.0015:59:36.073 Trade: '50223437': order #5595882

cómo sucedió esto

 
JRandomTrader:

¿Quién dice que CopyBuffer() tendrá éxito?

¿Quién dice que iCustom() tendrá éxito?

"Los errores pueden formar ciclos. El más persistente de ellos es el infinito". Teoría del error.

Lo interesante es que esta función se ejecuta con éxito. Se ejecuta y produce valores. Después de eso, el terminal sólo entra en un estado incomprensible.

La función iCustom() también se ejecuta con éxito.