Errori, bug, domande - pagina 1777

 
Il prodotto passerà il test automatico se (l'esaminatore) è in loop nel codice?
 
Alexandr Bryzgalov:
Il prodotto passerà il test automatico se (l'esaminatore) è in loop nel codice?

Certo che no. In primo luogo, i cicli non sono necessari ora, c'è un timer. In secondo luogo, si può sempre disassemblare per il tester.

 
Комбинатор:

Certo che no. In primo luogo non c'è bisogno di cicli ora, c'è un timer. In secondo luogo, può sempre essere disimparato per il tester.

Il timer non scatta più di una volta ogni 1 secondo se sei fuori dall'avvio.

è raro.

O c'è stato un cambiamento?

 
Alexandr Bryzgalov:

il timer non si attiva più di una volta ogni 1 sec se sei uscito dalla partenza.

è raro.

o c'è stata un'innovazione?

per molto tempo c'è stato un micro timer che scatta una volta ogni 1ms

Ma ora il timer in mt4 è in difficoltà, smette di funzionare per qualche motivo. Nessuno conosce la risposta"PERCHE'".

 
Vladislav Andruschenko:

per molto tempo c'è stato un micro timer che scatta una volta ogni 1ms

Ma ora il timer in mt4 è in difficoltà, smette di funzionare per qualche motivo. Nessuno conosce la risposta"PERCHE'".

Non funziona in generale.
 
Alexandr Bryzgalov:
in generale non funziona.

ora praticamente qualsiasi timer - su alcuni terminali non funziona, anche l'amministrazione non sa perché.

Ma c'è qualche speculazione - internet si blocca e il timer stesso si "blocca".

 
Vladislav Andruschenko:

Ma ora il balbettio in mt4 è in difficoltà, smette di funzionare per qualche motivo. Nessuno conosce la risposta"PERCHE'".

Penso che riavviare il terminale o ricompilare potrebbe aiutare, ma il bug è BREAKING.
 
Комбинатор:
Sembra che riavviare il terminale o ricompilare possa aiutare.

Sì, ma non puoi spiegarlo ai clienti, vero?

Immaginate che l'esperto stia lavorando, funziona, andate a dormire, andate a dormire, vi svegliate e l'esperto non funziona, perché?

 
Vladislav Andruschenko:

Sì, ma non puoi spiegarlo ai clienti, vero?
Questo è il punto.
 
Alexey Kozitsyn:

Grazie, controlla il numero della prima barra visibile sul grafico: ChartGetInteger( 0, CHART_FIRST_VISIBLE_BAR );

Il punto è che se disabilitate lo scorrimento del grafico e monitorate l'ultima barra visibile, allora al momento di una nuova candela il suo numero cambia per qualche motivo, anche se il grafico non si muove! Il TF è M1 per poter controllare più velocemente. Scappare dall'indicatore:

#property indicator_chart_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
   {
    //--- Подписываемся на событие движения мыши
         ChartSetInteger( 0, CHART_EVENT_MOUSE_MOVE, true );
         //---
    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[])
   {

    return(rates_total);
   }
//+------------------------------------------------------------------+
//| Обработка события графика                                        |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam)
   {
    switch( id )        
        {
         case CHARTEVENT_MOUSE_MOVE:
                 Print( __FUNCTION__," "+TimeToString( TimeCurrent(), TIME_DATE|TIME_SECONDS )+": sparam = "+sparam+", ",(int)ChartGetInteger( 0, CHART_FIRST_VISIBLE_BAR ));
                 break;
        }
   }


Buon pomeriggio!

Questo è un comportamento standard. Il conto alla rovescia inizia dalla barra attuale che è in costruzione. Di conseguenza, quando appare una nuova barra, se non c'è scorrimento automatico, il suo numero viene aumentato di uno.