Errori, bug, domande - pagina 906

 
Renat:

Una volta che sei diventato un programmatore, devi capire che sei tu che inizi a consumare risorse con le tue richieste. Chiamare funzioni costose non significa affatto che ci si possa scollegare dalla questione di "come vengono effettivamente gestite le risorse".

Il modo migliore è postare il codice completo qui nel forum e l'area del problema sarà individuata immediatamente. Se non puoi farlo qui, puoi farlo nel servizio Desk (il codice sarà cancellato dopo i controlli).

ps: non abbiamo mai problemi quando il sistema operativo dice che non c'è abbastanza memoria e non diamo mai la colpa a Microsoft per questo.

Tuttavia, scriverò quello da cui mi sono astenuto prima.

Sì, sono consapevole che ci sono corporazioni interessate a forzare le vendite dei prodotti e ad aumentare i profitti con ogni mezzo necessario. Ci sono cospirazioni di cartelli, per esempio. E Microsoft, che è ritenuta famigerata per il bumping ciclico dei programmi per rallentare il suo sistema operativo da tempo sofferente (il che potrebbe anche essere vero), è quasi costantemente in uno stato di collusione con i giganti dell'hardware che sognano anche di torcersi le mani affrettandosi a vendere al consumatore Windows il loro costoso nuovo hardware per sostituire quello vecchio e perfettamente utilizzabile che deve ancora vivere su piattaforme Unix o un vecchio Windows.

La MQ non mi ha mai dato la sensazione di volermi legare con un ago di ferro e lasciarmi senza biancheria. Sia MT4 che MT5 hanno sempre fornito una reattività e un'usabilità decenti nel corso degli anni, specialmente se paragonati a quelle applicazioni relativamente nuove, onnipresenti e ingombranti di .NET Framework. Quindi non c'è niente di sbagliato in questo, che è quello che mi piacerebbe vedere in futuro. È importante avere un'informazione completa sulle nuove costruzioni e un'informazione di accompagnamento sui requisiti minimi cambiati, ecc., in modo da sapere a cosa prepararsi mentalmente, intellettualmente e finanziariamente.

E come nota a margine, per quanto riguarda le accuse degli sviluppatori dipendenti verso gli sviluppatori primari: Microsoft non costringe nessuno ad aggiornare senza alternative. Non è possibile disabilitare gli aggiornamenti automatici per qualche motivo, però. Quindi.

 
x100intraday:

Scriverò ancora quello che mi sono astenuto dallo scrivere prima.

Non avreste speso più di 5 minuti per creare un'applicazione di service-desk. E forse avresti ricevuto una risposta definitiva il giorno dopo.

Ma tu preferisci discutere con Renat di una cospirazione di Microsoft contro gli utenti.

Non dire dopo questo che hai davvero un problema ;)

 
notused:

dopo un tranquillo aggiornamento all'ultima build, gli agenti cancellati hanno iniziato a cadere:

Qualcuno sta inviando i dati sbagliati. Prima di questo, gli agenti andavano tranquillamente in crash (semplicemente non ve ne accorgevate) a causa della divisione per 0. Questa divisione per zero non dovrebbe esistere in principio, quindi non avevamo un controllo corrispondente. Questo qualcuno potrebbe non essere un intruso, quindi stiamo aspettando una sua richiesta al service desk. Noi stessi non siamo stati in grado di riprodurre questo errore.

UPD

All'improvviso ho visto la linea di registro

expert file added: Experts\grider1.1.ex5. 18867 bytes loaded

Questo dimostra che il vostro agente è stato effettivamente utilizzato come agente remoto. Così conosci la fonte del problema. Vorrei parlare con servicedesk

 

Qual è il

2012.12.19 21:33:50 Core 01 2004.04.02 20:15:00 Violazione di accesso scrivere a 0x0000000000000009


Mostrato durante il backtest della strategia.

 
gpwr:

Qual è il

2012.12.19 21:33:50 Core 01 2004.04.02 20:15:00 Violazione di accesso scrivere a 0x0000000000000009


Mostrato durante il backtest della strategia.

Buon pomeriggio. Scrivete a servicedesk e allegate l'esperto (dopo che i controlli saranno rimossi), per favore. Specifica ilnumero di build, il sistema operativo, il bit rate e le impostazioni di ottimizzazione. Grazie.
 
Errore nell'invio di un messaggio a servicedesk
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
IvanIvanov:
Errore nell'invio di un messaggio a servicedesk
C'è stato un piccolo intoppo nel servizio, ora funziona.
 

Renat, beh, ho ancora problemi con la versione a 32 bit, ma per la prima volta ho avuto la possibilità di testare il codice sulla versione x64 di MT5. E questo è quello che ho scoperto...

Non ci sono stati quegli errori che la versione a 32 bit del terminale produceva, ma ci sono stati problemi con un disegno iniziale incompleto (cioè prima che passassi manualmente ad altri timeframes) dei layout grafici e uno spostamento occasionale dei punti di legame di alcuni oggetti dagli estremi insieme allo spostamento delle serie grafiche di un indicatore ausiliario. Fino all'ultimo momento stavo preparando un discorso infuocato per ServiceDesk, ma dopo una dozzina di lanci del terminale (compresi anche diversi riavvii completi del computer) tutto si è miracolosamente stabilizzato. Non so e non posso nemmeno indovinare la logica di tutto ciò, ma la mia impressione è che durante quelle decine di riavvii il terminale sembrava "accelerare" e finalmente "adattarsi" al sistema operativo e/o all'indicatore al terminale. Sì, sembra mistico, ma logicamente non dovrebbe essere così: l'unico "aggiustamento" - è il caricamento completo della storia, il caching dei timeframes usati, la regolazione manuale fine delle opzioni del terminale e... Questo sembra essere tutto. Ma tutto questo è stato fatto al primo avvio, e le successive corse del terminale non hanno differito dal secondo nei loro stati (l'ultimo download della storia e l'aggiunta di bandiere di notizie al grafico sono irrilevanti, quindi non li prendiamo in considerazione).

Sono ancora un po' confuso, immagino che i nodi si mostreranno in modo semi-imprevisto e poi li affronterò, ma non è ancora presto, nel frattempo - ottimizzazione del codice pianificata. Se sarà interessante testare il codice puramente per voi stessi - fatemelo sapere prima che io scompaia di nuovo.

 
Con "miracolosamente stabilizzato" intende dire che tutta la storia è pompata? Beh, c'è da aspettarselo - la storia viene pompata a seconda delle necessità e può richiedere tempo.

Guarda nel catalogo della storia e vedi centinaia di megabyte di dati storici.
 
Renat:
Con "miracolosamente stabilizzato" intende dire che l'intera storia si è pompata? Quindi c'è da aspettarselo - la storia viene pompata per necessità e può richiedere tempo.

Guarda nel catalogo della storia e vedi centinaia di megabyte di dati storici.

È vero il contrario. Sotto il controllo visivo personale tutta la storia viene scaricata al primo avvio, alla fine del download viene controllata con il tasto Home andando all'inizio del 1994 su M1. Poi bypasso manualmente i timeframe che uso frequentemente, così come quelli rilevanti per l'indicatore multitemporale, aspetto la loro formazione e ricarico il terminale. Questo è tutto.

Ulteriori piccoli download di nuovi dati storici non hanno alcun effetto principale, cioè teoricamente, il terminale può essere considerato "stabilizzato" dopo il caricamento completo della storia alla fine della prima corsa o, per affidabilità, proprio all'inizio della seconda corsa, quando è garantito che i timeframe generati non-M1 si siano depositati sull'HDD. Ma questo è teorico. Per qualche motivo, tutto si è sistemato (parlo del corretto funzionamento dell'indicatore) al decimo riavvio circa, anche se, sottolineo, la storia principale era già caricata al primo, e i successivi non dovrebbero essere in grado di fare il tempo in linea di principio... Direi addirittura il contrario: più la storia diventa grande di manche in manche, maggiore è il rischio che l'indicatore non riesca a mandarla giù in qualche manche particolare e fallisca, ma in realtà era il contrario: più andava avanti e meglio funzionava).

Quindi forse ci sono alcuni processi nascosti e non evidenti per l'utente del terminale o della combinazione MT5 + OS, che ottimizzano l'applicazione nell'ambiente operativo non immediatamente, ma dopo alcuni n-tweaking. Non modifico il mio codice sorgente per molto tempo, per quanto riguarda la sua compilazione - solo al primo lancio di MT5 appena installato (la cui build è sempre la stessa in questo studio). Non ci sono state modifiche dopo il primo giro. Tutta questa misteriosa situazione mi ha ricordato il menu"Start" di Windows, dove le applicazioni chiamate frequentemente diventavano disponibili prima nel tempo (il sistema operativo raccoglieva le statistiche, ma ci voleva tempo e una certa quantità di chiamate agli stessi programmi). O la deframmentazione dei file del disco ottimizza l'accesso al disco e rende le applicazioni più veloci, che è la stessa cosa.

Non sono propenso a credere che tu abbia implementato qualcosa di simile in MT5, altrimenti o l'hai segnalato tu stesso, o saresti stato sorpreso a chiederlo sul forum molto tempo fa. Quindi è solo un'ipotesi non confermata basata sull'esperienza.

Motivazione: