Erros, bugs, perguntas - página 99

 
Renat:

Não.

Se criou uma variável int i;, porque não a inicializou? De facto, você mesmo disse "Não me interessa o que está nesta variável" e acabou por ficar com lixo dentro dela.

A forma correcta é esta: int i=0;

Sim, isso mesmo - pode criar tais variáveis dentro de um bloco.
É um hábito. Anteriormente (em MQL4) int i; e int i=0; funcionava da mesma forma. Eh....
 
Renat:
Por favor, coloque um pedaço de código no servisdesk onde esta situação ocorre.

Afixei-o por completo (código), (quando esta linha com este caracter "&" declara completamente um erro, e se remover completamente este caracter da string, tudo funciona ... Ou pelo menos metade da corda para comentar, então funcionará com esta personagem MAS!! O comprimento da corda de 159 caracteres. O que é então????) e tentar declará-lo no Windows 7 64 bit (isto é importante) porque o erro ocorre precisamente nele, embora antes deste Bild 306 eu tenha 15 construído tudo funcionava bem, no 305 - eu trabalhei com este código uma semana nesta versão do Windows tudo estava bem.



Há dois dias que escrevo ao Service Desk e não consigo fazer nada...

P/S. Já me informaram que estão a trabalhar nisso... (via ServiceDesk).


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

Citações na quinta-feira 00:00 - 24:00. Sexta-feira 00:00 - ~22:45 .

Como é que recebo esta informação?

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

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

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

O que é session_index, // número da sessão, como é que conheço este número?

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

Citações na quinta-feira 00:00 - 24:00. Sexta-feira 00:00 - ~22:45 .

Como é que recebo esta informação?

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

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

O que é session_index, // número da sessão, como é que conheço este número?

Ver artigo Limites e verificações em EAs
 


2010.08.17 17:35:37 hora (EURUSD,H1) Segunda-feira: índice de sessão=0 início=00:00 fim=23:59:59

2010.08.17 17:34:58 hora (EURUSD,H1) Sexta-feira: índice de sessão=0 início=00:00 fim=23:59:59

session_index é sempre zero

Ainda não percebo porquê índice de sessão!?

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

Além de 0, é sempre falso.

 

Dedicado aos criadores ...

Vocês pelo menos teriam avisado se dessem uma oportunidade que antes em princípio não era possível.

Perdi vinte e quatro horas a tentar apanhar este insecto.

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

Não me diga que está tudo bem. Claro que sei disso, mas já perdi 24 horas só porque estou habituado ao facto de que com isto

if(DIGITS=EMPTY_VALUE)

Estou habituado a que o compilador me dê um erro.

 
Urain:

Dedicado aos criadores ...

Vocês pelo menos teriam avisado se dessem uma oportunidade que antes em princípio não era possível.

Perdi vinte e quatro horas a tentar apanhar este insecto.

Não me diga que está tudo bem. Claro que sei disso, mas demorei 24 horas só porque estou habituado ao facto de que com isto

Estou habituado a que o compilador me dê um erro.

Não há erro. A próxima actualização dará um aviso de que a expressão não é lógica.
 
mql5:
Não há erro. Na próxima actualização, haverá um aviso de que a expressão não é lógica.
Agora que está a falar, não há erro nenhum.
 

Existe uma cessação forçada da função OnTester()

ou porque é que o histórico das transacções antes da função personalizada existe e devolve zero depois:

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

quais as funções que não estão a funcionar no testador ?

como pode o testador (durante a optimização) sinalizar para o exterior que algo está errado (alertas de impressão, nada funciona) ?

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

Não percebo, pela minha vida.

Porque é que: não acaba às 24:00 de uma sexta-feira.

Ou o quê?

E porquê session_index++; se session_index=1 já é 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++;
     }
  }