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
Mi chiedo se sia possibile ottenere un vero puntatore a una funzione. I puntatori ottenuti tramite typedef funzionano perfettamente all'interno del programma mql. Ma purtroppo non sono riuscito a passarli nella dll.
Se conoscete il C++ e l'assemblatore integrato e sapete cosa e come inserire nello stack, e se i termini far e near call sono chiari, potete provare. Non posso garantire che funzionerà, ma è possibile.
Dov'è l'errore?
Il tuo esempio nel codice è molto diverso. Sto cercando di ottenere il valore dall'indirizzo.
C'è un esempio nell'articolo.
Il tuo esempio nel codice è molto diverso. Sto cercando di ottenere il valore dall'indirizzo.
C'è un esempio nell'articolo.
Ho evidenziato i punti in cui è scritto per indirizzo. Tuttavia, anche questo esempio dell'articolo causa un arresto anomalo.Ho capito subito cosa volevate. Sono sicuro che l'indirizzo restituito dalle funzioni WinAPI non può essere utilizzato in MQL5. Ma l'indirizzo viene passato correttamente agli argomenti.
Si può essere assolutamente sicuri scrivendo una semplice DLL che mostri l'indirizzo ricevuto nell'argomento e lo restituisca. E confrontare il risultato in MQL5. Molte persone qui praticano il C.
Dov'è l'errore?
Corretto il tuo:
Dovresti avere una lunghezza di 4 o meno ovunque
Copiare più di 2GB funziona
Ottenere l'indirizzo iniziale di un array:
Il tuo esempio nel codice è molto diverso. Sto cercando di ottenere il valore dall'indirizzo.
C'è un esempio nell'articolo.
Ho evidenziato i punti in cui è scritto per indirizzo. Tuttavia, anche questo esempio dell'articolo causa un arresto anomalo.Certo che lo fa... i prototipi sono in 4 (indirizzo a 32 bit come l'unsigned int), e voi li compilate/eseguite in 5 (ha 64).
Non potete fidarvi di nessuno, se usate WinAPI - scrivete voi stessi i prototipi. O meglio scrivere la propria DLL, lasciare che tiri winapi, e di sopra in mql dà interfacce di livello superiore
La copia di più di 2GB funziona
Ottenere l'indirizzo iniziale dell'array:
Ho perso il punto con l'indirizzo a 64 bit. Ma ho ancora un crash con l'indirizzo corretto. È sicuro che dovrebbe funzionare? Posso vedere un esempio completo del codice fxsaber corretto?
Finora sono ancora della mia opinione: l'indirizzo di WinAPI è incompatibile con MQL.
Riparato il tuo:
certo che lo fa... i prototipi sono da 4 (indirizzo a 32 bit come unsigned int) e compilano/eseguono in 5 (ha 64).
Grazie, ora funziona.
Anche l'ultimo parametro (che è cnt) è a 64 bit. È size_t
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/memcpy-wmemcpy