Errori, bug, domande - pagina 2240

 
A100:
Inoltre, tu non sei un utente comune, ma le tue opere sono utilizzate da molte, molte persone.

Io la metterei così:

Quando si legge un file, questo errore può verificarsi 1 volta su 100 letture (leggendo un file, per esempio, a 10 volte al secondo)

Inoltre, tale errore si verifica, poi scompare e l'Expert Advisor continua a funzionare.

 
Vladislav Andruschenko:

Io la metterei così:

Quando si legge un file, questo errore può verificarsi 1 volta su 100 letture (leggendo un file, per esempio, a 10 volte al secondo)

E questo errore si verifica, poi scompare e l'Expert Advisor continua a funzionare.

A questo proposito, c'è una proposta semplice e onesta per gli sviluppatori: prendere un computer in quella configurazione(*), che è specificata come i requisiti minimi di sistema per MetaTrader, e usarlo per i test (compreso ServiceDesk)

(*) Rispetto a questa configurazione il mio tablet è una meteora e non c'è niente caricato tranne MetaTrader

 
A100:

A questo proposito c'è una proposta semplice e onesta agli sviluppatori: prendere un computer in quella configurazione(*), che è specificata come i requisiti minimi per MetaTrader e condurre test su di esso (anche in ServiceDesk)

(*) il mio tablet è una meteora rispetto a questa configurazione


forse arriva ai freni (anche il mio non debole è già caricato al 90%) e poi si verifica questo errore? come hai mostrato nella spiegazione sopra?

Grazie per la segnalazione, cercherò di scoprirlo.

 
A100:

Quindi sulla richiesta #1530548 ServiceDesk non può riprodurre l'errore https://www.mql5.com/ru/forum/1111/page1628#comment_2702870 anche se ho una riproduzione costante anche adesso (nella build 1881). Con un po' di riflessione ho capito perché! La risposta è: perché ho un computer lento (tablet)

Una situazione simile era nella domanda #1952509 su questo problema https://www.mql5.com/ru/forum/1111/page2124#comment_6518537

Anche ServiceDesk ha riferito all'inizio di non poter riprodurre l'errore. Mi ci è voluto molto sforzo per convincermi che c'era un errore dopo tutto... alla fine:

Squadra di supporto 2018.02.10 22:35
Sembra che abbia riprodotto il tuo problema venerdì su una macchina debole con 39 grafici.
Lo terremo d'occhio. Richiederà ulteriori dati se necessario. Grazie.

Questo solleva la domanda: è proprio necessario preoccuparsi di questi errori? O semplicemente lasciarli vivere la loro vita in pace ... forse non salteranno più fuori - è sufficiente avere un computer veloce, giusto?

Queste domande sorgono nel contesto che una dozzina di altri grafici con diversi EAs/indicatori possono trasformare un computer veloce in uno lento (e un trader medio usa esattamente un sacco di EAs - per esempio https://www.mql5.com/ru/forum/267154/page5#comment_8164924 - 82 EAs sono in esecuzione)... O anche un computer lento può diventare lento per un breve periodo a causa di altre circostanze (antivirus... altri programmi... o il sistema stesso ha temporaneamente preso in consegna quasi tutte le risorse).

E poi esattamente quell'inspiegabile 1 su 100 di fallimento si verificherà (e per le leggi della natura si verifica naturalmente nel momento più inopportuno).

Qual è il problema di trasferire la strategia di lavoro al di fuori di MT5 lasciando MT5 come connettore? Penso che spendere tempo su tali danze sia ok, se la strategia è utile, e non usuale ))

 
Konstantin:

Che problema c'è a spostare la strategia di lavoro fuori da MT5 lasciando MT5 come connettore? Penso che sia giusto spendere tempo in questo tipo di danze se la strategia è utile e non come al solito ))

Il problema è l'organizzazione di un feedback completo... e anche i connettori a volte hanno bisogno di aprire i file stessi
 

Qualcuno può spiegare perché in MQL5 la serie temporale time[] non corrisponde al tempo del server?

ecco l'indicatore che calcola lo spostamento dei prezzi di chiusura rispetto all'inizio della giornata:

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
//--- plot Label1
#property indicator_label1  "Label1"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  2
//--- indicator buffers
double         DB[];

static int lastdayclose=-1;
static double F0=1.0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetIndexBuffer(0,DB,INDICATOR_DATA);
   lastdayclose=-1;
   F0=1;
   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[])
  {
   int i,limit;
   MqlDateTime tmpdate;
   if(prev_calculated==0)
     {
      limit=rates_total-1;
      lastdayclose=-1;
      F0=1;
     }
   else limit=rates_total-prev_calculated;
   ArraySetAsSeries(time,true);
   ArraySetAsSeries(close,true);
   for(i=limit;i>=0;i--)
     {
      TimeToStruct(time[i],tmpdate);
      if(tmpdate.day!=lastdayclose)
        {
         F0=close[i];
         lastdayclose=tmpdate.day;
        }
      DB[i]=F0-close[i];
     }
   return(rates_total);
  }
//+------------------------------------------------------------------+

l'indicatore è disegnato:

https://www.mql5.com/ru/charts/8940511/eurusd-m5-alpari-international-limited

potete vedere che l'ora di inizio del giorno è spostata a sinistra di 2 ore

 
Igor Makanu:

potete vedere che l'inizio del giorno è spostato a sinistra di 2 ore

Riesci a vedere dove?

Screenshot della piattaforma di trading MetaTrader

EURUSD, M5, 2018.07.25

Alpari International Limited, MetaTrader 5, Demo

EURUSD, M5, 2018.07.25, Alpari International Limited, MetaTrader 5, Demo


 
Alexey Viktorov:

Vedere dove?

vedete le linee di separazione dei punti? - è l'inizio del giorno, corrisponde all'ora del server 0:00

la logica dell'indicatore è chiara? - gli schizzi verticali della linea rossa è il prezzo di chiusura della prima barra all'inizio del giorno, lo memorizziamo e poi disegniamo l'incremento dei prezzi di chiusura relativi al prezzo di chiusura della prima barra all'apertura del giorno - questo "picco rosso" dovrebbe essere sulla linea di separazione del periodo, cioè all'inizio del giorno

 
A100:
Il problema è organizzare un feedback completo... e anche i connettori a volte hanno bisogno di aprire i file stessi

Perché i connettori devono aprire i file da soli, se tutta la logica è all'esterno, chiamare la funzionalità richiesta da OnInit in un programma esterno per inizializzare

 
Igor Makanu:

vedete le linee di separazione dei periodi? - è l'inizio del giorno, corrisponde all'ora del server 0:00

la logica dell'indicatore è chiara? - gli schizzi verticali della linea rossa è il prezzo di chiusura della prima barra all'inizio della giornata, lo memorizziamo e poi disegniamo gli incrementi dei prezzi di chiusura relativi al prezzo di chiusura della prima barra all'apertura della giornata - questo "picco rosso" deve essere sulla linea di separazione, cioè all'inizio della giornata

Pensi che possiamo dire qualcosa sulla base di questo? Sì...