Cosa sono tutte queste sciocchezze sul carattere tab? - pagina 7

 
Andrei, te l'ho detto, non avresti dovuto fare versioni parallele. Ora tu hai una funzione e io un'altra... Avremmo dovuto mantenere un unico progetto.
 
Zhunko:
Andrey, ti ho detto che non era necessario moltiplicare le versioni parallele. Ora tu hai una funzione e io un'altra... Avresti dovuto tenere un progetto.

Non ha molta importanza :-). Se il progetto è semplice, potete mantenere 2 progetti :-).
Per aggiungere altre funzioni - 5 minuti di tempo.

 
jartmailru:
Sai, se il video non ti ispira, non montarlo :-).
E personalmente non sarò in grado di scrivere i miei consiglieri senza una cosa del genere ;-)...
Qual è l'idea - per me cercare manualmente qualcosa nel registro.

Il Fiore di Pietra non funziona. Lo script (il mio Expert Advisor) apre la seconda finestra.


Avete qualche idea su come risolvere il problema? Non ne ho.

File:
 

MetaDriver:

Qualche idea su come trattarlo? Non ne ho ancora uno.

Ne ho uno. È un po' disordinato, ma funzionerà.

Lo schema di lavoro è così:

1. tester expert scrive un file di log, non una finestra.

2. Dopo il test, prendiamo il file MyTesterLog.log e lo copiamo manualmente nella cartella ..\MetaTrader 5\MQL5\Files

3. ShowLog-expert in Inite prende tutto dal file alla finestra di debug...

4. ...e posiziona i clic nella stessa finestra come previsto.

È noioso da scrivere ancora, ma dovrebbe funzionare al 100%.

 
Io stesso sono rimasto sorpreso - ho finito con lo stesso 1:1 !!!
.
Quindi...
Il punto è che tutti i file Mql devono riferirsi esplicitamente allo stesso dll-index.
Altrimenti, li carica da posti diversi e si ottengono due finestre.
 
jartmailru:
Io stesso sono rimasto scioccato - mi sono ritrovato con lo stesso 1:1 !!!
.
Bene...
Il punto è che tutti i file Mql devono riferirsi esplicitamente a una dll-ina.
Altrimenti, li carica da posti diversi e si ottengono due finestre.

Non mi interessa sapere di chi è la colpa. // Lo so io stesso. ))

Dimmi cosa fare.

;)

 
MetaDriver:

Non mi interessa sapere di chi è la colpa. // Lo so da solo. ))
Dimmi cosa fare.
;)

Te l'ho detto:
tutti i file Mql devono fare riferimento alla stessa dll-in.
.
Controllate che le importazioni facciano riferimento allo stesso dll-in.
 
jartmailru:
Te l'avevo detto:
tutti i file Mql devono riferirsi esplicitamente a un solo dll-index.
.
Assicuratevi che le importazioni facciano riferimento allo stesso dll-in.

Non c'è dubbio.

Penso (in realtà sono sicuro) che MT5 crei una nuova istanza per ogni processo. Credo di averlo incontrato anche nella documentazione qualche tempo fa. Mi chiedo anche perché tutte le diverse istanze di EAs scrivono tutto in una finestra durante l'ottimizzazione. Forse esistono tutti all'interno di un unico filo, quindi è possibile. Comunque, questo problema va oltre la mia comprensione. Se non si può fare in modo che diverse istanze della DLL scrivano tutto in una finestra, io passo.

Probabilmente potete farlo usando la seconda dll-in (chiamata dalla prima) come host della finestra. In ogni caso, window dovrebbe essere un singleton.

// Correggi i pulsanti allo stesso tempo, Bomb! ;)

 
MetaDriver:

Non c'è dubbio.

Penso (in realtà sono sicuro) che MT5 crei una nuova istanza per ogni processo. Credo di averlo incontrato anche nella documentazione qualche tempo fa. Mi chiedo anche perché tutte le diverse istanze di EAs scrivono tutto in una finestra durante l'ottimizzazione. Forse esistono tutti all'interno di un unico filo, quindi è possibile. Comunque, questo problema va oltre la mia comprensione. Se non si può forzare diverse istanze della DLL a scrivere tutto in una finestra, passo.

Forse questo può essere fatto, se si usa la seconda DLL-ino (chiamata dalla prima), come hostess della finestra. In ogni caso, la finestra deve essere un singleton.

// Correggi i pulsanti allo stesso tempo, Bomb! ;)

Hmmm... Se c'è un processo separato per ogni istanza, è un peccato...
e non c'è una cura semplice.
.
> Mi chiedo anche perché DIVERSE istanze di EAs scrivono tutto in una finestra durante l'ottimizzazione.
Se sono di un solo processo, scrivono tutto in una finestra.
.
> Se non si può fare in modo che diverse istanze di una DLL scrivano tutto in una finestra - io passo.
È relativamente facile da fare, ma dovrei rifare tutto :-).
Che bello che non sto ancora usando MT5 :-D.
.
Se i processi sono diversi, allora il secondo dllin non risolverà il problema.
Avete bisogno di un processo separato con una finestra per ricevere messaggi e comandi.
e comandi da diversi altri processi.
.
Il modo più semplice è trovare una finestra e inviarle WM_COPYDATA di qualche tipo.

 

È tutto brutto... :)

Tutti gli esperti su diversi grafici normali + tutti gli script (lì) pronti a scrivere nella stessa finestra.

Basta correre nel tester - ne apre un altro e ci scrive dentro. Un gran casino.

Probabilmente perché il tester è in realtà un programma separato (MetaTester.exe), apre una copia aggiuntiva. Non puoi metterti sulla sua strada.

Razumo: Penso che abbiamo bisogno del disaccoppiamento/binding a livello di dll.

--

Trailer è una versione corretta di EA + lib intermedia su µl (provato a fare un'istanza di dll da usare)

File: