Errori, bug, domande - pagina 2088

 
Andrey Dik:


L'ottimizzazione funziona ma non va, è congelata...

nei registri al momento:


Scrivete a servicedesk, daremo un'occhiata.

Servono più informazioni:

Grazie

 

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Libreria di classi generiche - bug, descrizione, problemi, casi d'uso e suggerimenti

fxsaber, 2017.12.11 12:24

Non mi piaceva l'attuale implementazione e l'ho modificata. Certo, è storto. Come si ottiene la bibbia originale?

È possibile fare qualche meccanismo interno in ME per ripristinare il codice sorgente delle librerie standard e degli esempi?

 
fxsaber:

È possibile fare qualche meccanismo in ME per ripristinare il codice sorgente delle librerie standard e degli esempi?


Installare sopra e poi aggiornare all'ultima build non aiuterebbe?

 
Vladimir Karputov:

Installare sopra e poi aggiornare all'ultima build non aiuta?

Lo farà, ma non faccio un'installazione da molto tempo. Solo due file exe sono sufficienti.

 
fxsaber:

Aiuterebbe, ma non faccio un'installazione da molto tempo. Bastano due file exe.

un terminale per le bibliche pure da inserire e aggiornare

Lavorare uno per personalizzarlo.

BeyondCompare (o simile su google) - confronta file o directory per differenza in 1 secondo. Ritorno al codice originale qualsiasi pezzo - 5 secondi.

Se salvi le directory delle bibbie originali quando viene rilasciata una nuova build - allora puoi vedere le correzioni fatte con ogni aggiornamento.

 
Kirill Belousov:

un terminale per le bibliche pulite da inserire e aggiornare

per modificare il terminale di lavoro in base alle proprie esigenze.

BeyondCompare (o simile su google) - confronta file o directory per differenza in 1 secondo. Ritorno al codice originale qualsiasi pezzo - 5 secondi.

Se si salvano le directory delle bibliche originali quando esce una nuova build, è possibile vedere le correzioni fatte ad ogni aggiornamento.

È un buon strumento, grazie!


Vorrei poter aggiungere la cartella MQL5 come ZIP-archive nel mio kodobase. E poterlo scaricare e installare direttamente da ME, come altri prodotti KB.

 
Alexander:

Scrivete a servicedesk e daremo un'occhiata.

Sono necessarie più informazioni:

Grazie

Posso dire in via preliminare quanto segue:

1. Sulla build precedente tutto funzionava bene (su quale build non posso dire, 2-3 mesi appesi sul server broker)

2. Su questa build tutte le modalità funzionano bene, tranne i "tic reali". Nella modalità "real ticks", l'ottimizzazione e il test singolo si bloccano.

L'Expert Advisor riesce ad eseguire un certo numero di operazioni, dopo di che il tester si blocca. La profilazione ha mostrato che tutto il tempo (quasi) è stato speso sui trade contrassegnati da un commento:

bool IsNewBar (string symbol, ENUM_TIMEFRAMES timeframe, bool exact, long &time)
{
  long currentTime = SeriesInfoInteger (symbol, timeframe, SERIES_LASTBAR_DATE); // все тормоза тут!

  if (exact)
  {
    if (time == 0)
    {
      time = currentTime;
      return (false);
    }
    else
    {
      if (currentTime > time)
      {
        time = currentTime;
        return  (true);
      }
    }
  }
  else
  {
    if (currentTime > time)
    {
      time = currentTime;
      return  (true);
    }
  }

  return (false);
}
//——————————————————————————————————————————————————————————————————————————————
RoboForex-MetaTrader 5 server. Provato su altri server - problema simile.
 
Renat Fatkhullin:

Controlla l'avvio con Ctrl+F5.

Re-run funziona, perché molto probabilmente l'agente è attivo dopo la prima chiamata e si blocca in background per diversi minuti attivato in attesa del prossimo compito.

1703 - rilevante.

 
fxsaber:

Il 1703 è attuale.

Non ci sono ancora arrivato, è sulla lista.

 

Si prega di consigliare un algoritmo (il codice non è interessante, lo schema è importante) del seguente:

Il compito è quello di ottenere intervalli di minuti per ulteriori calcoli sulla sezione futures del MOEX per un periodo di diversi contratti:

1. determinare la gamma richiesta

2. provando questa gamma con campionamento di 1 minuto e memorizzando il contratto e il tempo corrente

3. creare una serie di contratti e tempi unici

4. dividere l'intervallo ottenuto nel passo 1 negli intervalli entro i confini di ogni elemento della matrice dal passo 3

5. richiamare intervalli di minuti nel ciclo con discretizzazione per il numero di elementi del passo 3

6. unire gli array ottenuti di intervalli di minuti

Perché sono andato in questa direzione? Ci sono salti di battute di minuti in Splice, anche in intervalli freschi

PS. se qualcuno proporrà un algoritmo migliore, gliene sarò grato
Motivazione: