Errores, fallos, preguntas - página 99

 
Renat:

No.

Si has creado una variable int i;, ¿por qué no la has inicializado? De hecho, tú mismo dijiste "no me importa lo que hay en esta variable" y terminaste con basura en ella.

La forma correcta es int i=0;

Sí, eso es, puedes crear esas variables dentro de un bloque.
Es un hábito. Anteriormente (en MQL4) int i; e int i=0; funcionaban de la misma manera. Eh....
 
Renat:
Por favor, publique un trozo de código en servisdesk donde se produzca esta situación.

Lo he publicado en su totalidad (código), (cuando esta línea con este carácter "&" declarar completamente un error, y si se elimina este carácter de la cadena por completo, todo funciona ... O al menos la mitad de la cadena para comentar entonces funcionará con este carácter ¡PERO!!! La longitud de la cadena de 159 caracteres. ¿Qué es entonces????) y tratar de declararlo en Windows 7 de 64 bits (esto es importante) porque el error se produce precisamente en él, aunque antes de este Bild 306 tengo 15 construye todo funcionaba bien, en 305 - He trabajado con este código de una semana en esta versión de Windows todo estaba bien.



Llevo dos días escribiendo al Service Desk y no consigo que me hagan nada...

P/S. Ya me han informado de que están trabajando en ello... (vía ServiceDesk).


Документация по MQL5: Основы языка / Типы данных / Тип string
Документация по MQL5: Основы языка / Типы данных / Тип string
  • www.mql5.com
Основы языка / Типы данных / Тип string - Документация по MQL5
 

Citas el jueves 00:00 - 24:00. Viernes 00:00 - ~22:45 .

¿Cómo puedo recibir esta información?

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

void OnTick()
  {
//---
//Print(TimeCurrent());      
datetime a,b;
SymbolInfoSessionTrade(Symbol(),FRIDAY,0,a,b);
Print(a,"-",b);
  }

Devuelve "2010.08.17 15:44:31 hora (GBPJPY,H1) 1970.01.01 00:00:00-1970.01.02 00:00:00"

¿Qué es session_index, // número de sesión, cómo conozco este número?

bool  SymbolInfoSessionTrade(
   string            name,                // имя символа
   ENUM_DAY_OF_WEEK  day_of_week,         // день недели
   uint              session_index,       // номер сессии
   datetime&         from,                // время начала сессии
   datetime&         to                   // время окончания сессии
   );
 
gumgum:

Citas el jueves 00:00 - 24:00. Viernes 00:00 - ~22:45 .

¿Cómo puedo recibir esta información?

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Devuelve "2010.08.17 15:44:31 hora (GBPJPY,H1) 1970.01.01 00:00:00-1970.01.02 00:00:00"

¿Qué es session_index, // número de sesión, cómo conozco este número?

Véase el artículo Límites y controles en los EA
 
Rosh:
Véase el artículo Limitaciones y controles en los EA


2010.08.17 17:35:37 hora (EURUSD,H1) Lunes: session index=0 start=00:00 finish=23:59:59

2010.08.17 17:34:58 hora (EURUSD,H1) Viernes: session index=0 start=00:00 finish=23:59:59

session_index es siempre cero

Sigo sin entender por qué el índice de sesiones?

for(int i=0;i<=1000;i++)
{
datetime a,b;
if(!SymbolInfoSessionTrade(Symbol(),FRIDAY,i,a,b)){}else{Print(a," - ",b);}
}

Si no es 0, siempre es falso.

 

Dedicado a los desarrolladores ...

Ustedes al menos habrían avisado si dan una oportunidad que antes en principio no era posible.

Perdí veinticuatro horas tratando de atrapar este bicho.

double            nd(double v)
{if(DIGITS=EMPTY_VALUE)DigitMinLots();// ставлю  if(DIGITS==EMPTY_VALUE) даёт расчёт с ошибкой
return(NormalizeDouble(v,DIGITS));
};

No me digas que está bien. Por supuesto que lo sé, pero me tomó 24 horas sólo porque estoy acostumbrado a que con este

if(DIGITS=EMPTY_VALUE)

Estoy acostumbrado a que el compilador me dé un error.

 
Urain:

Dedicado a los desarrolladores ...

Ustedes al menos habrían avisado si dan una oportunidad que antes en principio no era posible.

Perdí veinticuatro horas tratando de atrapar este bicho.

No me digas que está bien. Por supuesto que lo sé, pero me tomó 24 horas sólo porque estoy acostumbrado a que con este

Estoy acostumbrado a que el compilador me dé un error.

No hay ningún error. La siguiente actualización dará un aviso de que la expresión no es lógica.
 
mql5:
No hay ningún error. En la próxima actualización, habrá una advertencia de que la expresión no es lógica.
Ahora que hablas, no hay ningún error en mí.
 

¿Existe una terminación forzada de la función OnTester()

o por qué existe el historial de transacciones antes de la función personalizada y devuelve cero después :

double OnTester()
  {
   int HTD=-1;
   Custom_func();
   if(HistorySelect(0,TimeCurrent()))HTD=HistoryDealsTotal();   
   return(HTD);
  }

¿Qué funciones no funcionan en el probador?

¿Cómo puede el probador (durante la optimización) señalar al exterior que algo va mal (imprimir alertas, nada funciona)?

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

No lo entiendo, por mi vida.

El motivo es que no se acaba a las 24:00 de un viernes.

¿O qué?

Rosh:
Véase el artículo Restricciones y controles en los EA

Y por qué session_index++; si session_index=1 ya es falso:

//+------------------------------------------------------------------+
//|  Вывести информацию о котировочных сессиях                       |
//+------------------------------------------------------------------+
void PrintInfoForQuoteSessions(string symbol,ENUM_DAY_OF_WEEK day)
  {
//--- начало и конец сессии
   datetime start,finish;
   uint session_index=0;
   bool session_exist=true;

//--- пройдемся по всем сессиям за этот день
   while(session_exist)
     {
      //--- проверим наличие котировочной сессии с номером session_index
      session_exist=SymbolInfoSessionQuote(symbol,day,session_index,start,finish);

      //--- если такая сессия есть
      if(session_exist)
        {
         //--- выведем день недели, номер сессии и время начала и окончания
         Print(DayToString(day),": session index=",session_index,"  start=",
               TimeToString(start,TIME_MINUTES),"    finish=",TimeToString(finish-1,TIME_MINUTES|TIME_SECONDS));
        }
      //--- увеличим счетчик сессий
      session_index++;
     }
  }