Erros, bugs, perguntas - página 1780

 

SymbolInfoTick() erro que devolve dados irrelevantes - assinalar o excesso. Construir 1525 x64. Teste do indicador, não testou no Expert Advisor:

#property version   "1.00"
#property indicator_chart_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   static long prevMs = 0;
   //---
   MqlTick tick;
   if( SymbolInfoTick( _Symbol, tick ) )
        {
         if( prevMs != 0 && tick.time_msc < prevMs )
                {
                 Print( __FUNCTION__,": ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!" );
                 Print( __FUNCTION__,": Текущее время мс = ",tick.time_msc," ("+TimeToString( tick.time, TIME_DATE|TIME_SECONDS )+"), предыдущее = ",prevMs );
                }
            //---
            prevMs = tick.time_msc;
        }
   else
         Print( __FUNCTION__,": ОШИБКА #",GetLastError(),". Значение текущего тика не получено!" );
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

Resultado:

2017.02.02 21:54:20.450 test_SymbolInfoTick_20170202 (VTBR-3.17,M1)     OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 21:54:20.450 test_SymbolInfoTick_20170202 (VTBR-3.17,M1)     OnCalculate: Текущее время мс = 1486065260384 (2017.02.02 19:54:20), предыдущее = 1486065260387
2017.02.02 22:11:31.025 test_SymbolInfoTick_20170202 (GOLD-3.17,M3)     OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:11:31.025 test_SymbolInfoTick_20170202 (GOLD-3.17,M3)     OnCalculate: Текущее время мс = 1486066290963 (2017.02.02 20:11:30), предыдущее = 1486066290966
2017.02.02 22:12:44.939 test_SymbolInfoTick_20170202 (BR-3.17,M1)       OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:12:44.939 test_SymbolInfoTick_20170202 (BR-3.17,M1)       OnCalculate: Текущее время мс = 1486066364884 (2017.02.02 20:12:44), предыдущее = 1486066364890
2017.02.02 22:29:36.358 test_SymbolInfoTick_20170202 (Si-3.17,M1)       OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:29:36.358 test_SymbolInfoTick_20170202 (Si-3.17,M1)       OnCalculate: Текущее время мс = 1486067376304 (2017.02.02 20:29:36), предыдущее = 1486067376307
2017.02.02 22:31:26.462 test_SymbolInfoTick_20170202 (Si-3.17,M1)       OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:31:26.462 test_SymbolInfoTick_20170202 (Si-3.17,M1)       OnCalculate: Текущее время мс = 1486067486339 (2017.02.02 20:31:26), предыдущее = 1486067486344
2017.02.02 22:32:14.441 test_SymbolInfoTick_20170202 (Si-3.17,M1)       OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:32:14.441 test_SymbolInfoTick_20170202 (Si-3.17,M1)       OnCalculate: Текущее время мс = 1486067534360 (2017.02.02 20:32:14), предыдущее = 1486067534363
2017.02.02 22:36:07.509 test_SymbolInfoTick_20170202 (Si-3.17,M1)       OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:36:07.510 test_SymbolInfoTick_20170202 (Si-3.17,M1)       OnCalculate: Текущее время мс = 1486067767443 (2017.02.02 20:36:07), предыдущее = 1486067767463
2017.02.02 22:39:29.606 test_SymbolInfoTick_20170202 (Si-3.17,M1)       OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:39:29.606 test_SymbolInfoTick_20170202 (Si-3.17,M1)       OnCalculate: Текущее время мс = 1486067969557 (2017.02.02 20:39:29), предыдущее = 1486067969558

Real, Abertura, Servidor de Acesso V. Tristeza! Preste atenção ao problema, por favor. E também ao problema na aplicação#1598238 (a partir da página 10, post de2017.01.26 09:43).

Caros programadores, vamos arranjar os carrapatos! Código fornecido, aqui está - o problema, não há necessidade de procurar nada, apenas reagir e resolvê-lo!

 
Oh, e por favor fixe já os painéis no terminal! O bug é insignificante, mas irritante, se precisar de espremer/esticar frequentemente os painéis das janelas não ficam no lugar! Construir 1525 x64.
 
Vamos lá ver.
 
Alexey Kozitsyn:

SymbolInfoTick() erro que devolve dados irrelevantes - assinalar o excesso. Construir 1525 x64. Teste do indicador, não testou no Expert Advisor:


Caros programadores, vamos arranjar os carrapatos! O código foi fornecido, aqui está ele - o problema, não precisa de o procurar, apenas reagir e corrigi-lo!

Por favor, faça um pedido à sua mensagem para Servicedesk.
 
Alexey Da:
Por favor, forme a sua mensagem com a aplicação servicedesk.
#1664077
 

Erro de compilação

static string text1 =
                      "ABC"
                      "DEF"; //нормально
static string text2 =
#ifndef MACRO
                      "ABC"
#endif
                      
"DEF"; //Error: 'DEF' - some operator expected
 

Ordem incorrecta das chamadas de função ao alterar o período do gráfico

  • Caminho de localização do indicador: \Test_i.ex5
  • Caminho da localização dos peritos: {Experts\Test.ex5

Sequência de acções:

  1. Anexar o Expert Advisor 'Test.ex5' ao gráfico M5 (símbolo GBPUSD)
  2. Alterar o período do gráfico para M15
  3. Alterar o período do gráfico para M30
  4. Retirar o Consultor Especialista do quadro

Resultado:

#Passo 1: aderir
I::I->M5
OnInit->M5
#step 2: mudança de período M5 ->M15
I::I->M15
OnInit->M15
#step 3: mudança de período M15->M30
I::I->M30
OnInit->M30
OnDeinit->M15:3
I::~I->M15
#step 4: apagar
OnDeinit->M5:1 ##esta linha era esperada no passo #2 como esta: OnDeinit->M5:3
I::~I->M5 ##esta corda era esperada no passo #2
OnDeinit->M30:1
I::~I->M30

As filas marcadas com ## deveriam ser emitidas no passo #2 e, para além disso, desinicializadas devido à mudança de período(REASON_CHARTCHANGE:3) mas não eliminadas do gráfico (REASON_REMOVE:1). Por outras palavras, esperava-se que o passo #2 fosse semelhante ao passo #3

//Test_i.mq5 //Индикатор
void Prn( string f, int i = -1 ) { Print( f, "->", StringSubstr( EnumToString( Period()), 7 ), (i == -1 ? "" : ":" + i )); }
struct I {
         I() { Prn( __FUNCTION__ ); }
        ~I() { Prn( __FUNCTION__ ); }
};
static const I i;
void OnInit()                     { Prn( __FUNCTION__ ); }
void OnDeinit( const int reason ) { Prn( __FUNCTION__, reason ); }
int OnCalculate( const int, const int, const int, const double& [] ) { return 0; }
//Test.mq5 //Эксперт
struct B {
         B();
        ~B();
        const int h;
        static const string name;
};
const string B::name = "Test_i";
B::B() : h( iCustom( NULL, 0, name ))
{
        if ( !ChartIndicatorAdd(    0, 0, h )    ) Print( "-1:", GetLastError());
}
B::~B()
{
        if ( !ChartIndicatorDelete( 0, 0, name ) ) Print( "-2:", GetLastError());
        if ( !IndicatorRelease( h )              ) Print( "-3:", GetLastError());
}
static const B b;
void OnInit() export {}
 

Falhas ao instalar indicadores Bill Williams

Coloco fractais - faz

conjunto AO - define ADX

construir 1031

 
Vladimir Gribachev:

Falhas ao instalar indicadores Bill Williams

Coloco fractais - faz

conjunto AO - conjunto ADX

construir 1031

não só ao instalar este indicador, mas também de tempos a tempos outros.

O reinício do terminal resolve o problema.

notou que começa após os testes.

 

O indicador de entrega ZigZag em MT5 bild 1525 cintila intermitentemente (sem reflascar)

Razão: