Errori, bug, domande - pagina 1065
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Un'altra cosa - ho trovato un trucco 'utile'...
Dichiarare un array, per esempio, 'int arrTemp[5];'.
Sotto il debugger tutti i suoi elementi sono uguali a 0, mentre durante il test non lo sono.
Ho passato mezza giornata a cercare di capire perché la funzione connect() della libreria WinSock portata da MQL4 non funziona.
In mql5 tutte le variabili devono essere inizializzate esplicitamente, per esempio:
Non c'è un'inizializzazione predefinita con degli zeri. È normale, abituatevi.
In mql5 tutte le variabili devono essere inizializzate esplicitamente.
Non c'è un'inizializzazione predefinita con degli zeri. È normale, abituatevi.
Non mi dispiace, ma funzionerebbe allo stesso modo. Nel debugger l'inizializzazione con degli zeri è automatica.
A proposito, e nessuno ha affrontato il fatto che durante l'ottimizzazione di EA, il terminale non può connettersi agli agenti remoti accessibili tramite VPN?
Sto cercando di usare gli agenti remoti sul mio computer di lavoro da casa collegato alla rete aziendale tramite una VPN standard di Windows. Gli agenti stessi sul mio computer di lavoro stanno gestendo i compiti da MQL5 Cloud Network abbastanza bene, posso connettermi al mio computer di lavoro tramite terminale RDP da casa e il terminale sul mio computer di casa può utilizzare gli agenti da MQL5 Cloud.
L'unica cosa che non posso usare è usare gli agenti sul mio PC di lavoro dal mio PC di casa. Ho anche provato a eseguire agenti sulla porta 443 sul PC dell'ufficio per bypassare (in teoria) possibili filtri/firewall, ma non ha funzionato. Il terminale registra 'connessione all'agente...'. - e questo è tutto.
Tracert da casa al lavoro passa. 'netstat -na' sul computer di casa mostra:
cioè SYN_SENT non va oltre.
L'unica cosa che non funzionerà è ottenere agenti sul computer di lavoro dal computer di casa. Ho anche provato ad eseguire l'agente sulla porta 443 sul computer di lavoro per bypassare (teoricamente) possibili filtri/firewall, ma non ha funzionato. Il terminale registra 'connessione all'agente...'. - e questo è tutto.
Tracert da casa al lavoro passa. 'netstat -na' su casa mostra:
Non mi dispiace, ma vorrei che funzionasse in modo uniforme. Altrimenti il debugger si inizializza automaticamente con degli zeri.
Guarda più a fondo nelle impostazioni di connessione VPN, il Windows Brandmauer,
È una questione di sciamanesimo...
Il firewall sul computer di casa è disattivato del tutto.
Il terminale sul computer di lavoro può utilizzare gli agenti sul computer di casa, ma non il contrario.
Non ho trovato nulla di sbagliato nella connessione VPN.
È una questione di sciamanesimo...
Il firewall sul computer di casa è disattivato del tutto.
Il terminale sul computer di lavoro può utilizzare gli agenti sul computer di casa, ma non il contrario.
Non ho trovato nulla di sbagliato nella connessione VPN.
Se avete win7, aggiungete una regola per le connessioni in entrata e in uscita. Lì c'è una procedura guidata, gli add-on. Nel caso di win XP c'è anche un'opzione per aggiungere un'eccezione per un programma o una porta. Non uso XP da molto tempo.
Alleluia!
Finalmente l'ho capito...
Il fatto è che ci sono 2 istanze di MetaTrader 5 installate in diverse directory sul mio computer di lavoro (Win7) (dove gli agenti che voglio usare).
Non ricordo l'ordine di installazione/rimozione degli agenti, ma è risultato che gli agenti sono avviati dall'istanza N1, e la regola in entrata in Windows Firewall per "MetaTrader 5 Strategy Tester Agent" puntava al pezzo EXE dell'istanza N2. Ho aggiunto una regola per l'istanza N1 - tutto funziona.
Sarebbe utile quando si fa la disinstallazione/installazione di agenti in Agent Manager per aggiornare la regola in Windows Firewall.
C'è ancora una questione irrisolta. Si tratta della risoluzione host_name -> IP_address usando la funzione getaddrinfo() di WinSock. Qualcuno può costruire un codice di esempio in MQL5?
Non è davvero discutibile usare IP invece di hostname ;-). E usare il nome dell'host è un must nel mio caso.
...
Attenzione - domanda: come in MQL5 ottenere dati a questo indirizzo?
Voglio fare una funzione in dll che vada a questo indirizzo e restituisca i dati richiesti ))
No, non si adatta.
L'Expert Advisor è sviluppato per l'elaborazione distribuita di informazioni finanziarie e non voglio preoccuparmi delle DLL x86/x64. Cioè ho bisogno di implementarlo usando gli strumenti MQL5.