Qualsiasi domanda da un PROFI a un SUPER PROFI - 1. - pagina 12

 
TheXpert:
Se avete problemi a rimuovere un singleton, probabilmente non è usato correttamente. Anche se anche i singleton sono diversi, prendete Phoenix per esempio.
Questa è la fine)
 
Singleton? Cancellare? Puntatore intelligente al salvataggio.
Per esempio, il mio ptr condiviso preferito.
Anche se probabilmente non è il modo migliore per il dll.
Non uso i puntatori in C++.
Come l'allocazione della memoria, le chiamate WinAPI ecc.
.
Oppure, si può creare una funzione speciale come killInstance();
.
Vadim è stato in grado di raccomandare i singleton perché
stesso ha risolto il problema dell'inizializzazione.
Non c'è altro modo per inizializzare normalmente le istanze globali di
.
.
L'ho cercato su Internet da qualcun altro.
 
Sì, è così che è Andrew, ho pensato tra me e me. Siamo in tanti qui...
 
TheXpert:

Blocco in base ai sintomi. Apparentemente, quando si avvia da un processo remoto, il terminale non ha il tempo di eseguire qualche procedura. Forse lo script viene eseguito dal thread sbagliato.

In alternativa si può eseguire l'evento tick invece di slip - per emulare il lancio asincrono dello script, dovrebbe aiutare.

Dopo tutte le mie conversioni di libreria di classe per correggere i singleton, finalmente sono tornato al progetto principale.

Il problema del primo post di questo thread è ora risolto. Si trattava di un'inizializzazione sbagliata e intempestiva delle classi.

 
Zhunko:

... torniamo al progetto principale...

spero di dare un'occhiata al tuo progetto più tardi, almeno sotto forma di diagrammi di flusso o screenshot: per meravigliarsi, per così dire)))
 
alsu:
Spero di dare un'occhiata al tuo progetto più tardi, almeno sotto forma di diagrammi di flusso o screenshot: per meravigliarmi, per così dire)))

:-)) Sì, non è niente di speciale. Questo progetto è anche un sottoprogetto.

È un'applicazione console che semplicemente, con l'aiuto di MT4, carica/carica la storia su un timer indipendentemente dal terminale principale (terminale di battaglia).

La funzione principale di questa applicazione è già funzionante. Quello che resta da fare è sintetizzare un TF non standard per calcolare i pesi degli indici valutari.

La creazione di TF non standard e il calcolo dei pesi e il rifornimento del database vengono eseguiti in thread aggiuntivi indipendentemente dal caricamento delle quotazioni.

Applicazione console:

1. Crea una directory - una copia della directory principale di MT4 in MT4.

2. Crea, in caso contrario, copie delle directory e dei file necessari in questa directory utilizzando collegamenti rigidi e simbolici, in modo da non sovraccaricare il disco.

Cioè, di fatto, funziona con gli originali dei file principali di MT4.

3. Esegue MT4 dalla nuova directory.

4. Commuta gli strumenti e i TF, aggiornando i grafici.

5. Chiude MT4 in modo che salvi tutto ciò che è stato scambiato nei file della cronologia.

6. Attende che il processo MT4 sia completato.

7. Inizia la creazione di TF non standard.

8. Inizia il flusso con il calcolo e il salvataggio dei pesi.

9. Con il timer tutto da capo.

 
sarebbe corretto dire che le rotatorie sono organizzate principalmente per il punto 5?
 
alsu:
Sarebbe corretto dire che le manovre di aggiramento sono organizzate principalmente per il punto 5?

Tutto questo è principalmente per aumentare l'affidabilità del commercio nel terminale principale. Il pompaggio di tutti gli strumenti sovraccarica la memoria di MT4. Non funziona in modo affidabile in questa modalità.

E l'Expert Advisor sovraccarico di varie funzioni di servizio non è troppo affidabile, come si è scoperto. Dobbiamo dividere i compiti tra diversi terminali.

Forse ci sarà un terzo terminale per il commercio.

 

Posso fare una domanda stupida: come faccio a sapere quale delle finestre del grafico del terminale è attualmente visibile all'utente?

;)

 
FreeLance:

Posso fare una domanda stupida: come faccio a sapere quale delle finestre del grafico del terminale è attualmente visibile all'utente?

;)

Passa attraverso tutte le finestre del grafico e controlla ognuna di esse per la piena inversione e attività. Se c'è, allora una di queste finestre è visibile, altrimenti sono tutte visibili. Questo senza prendere in considerazione la sequenza Z.