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
Ho creato il mio Expert Advisor in Wizard. Non conosco molto bene mql. Potreste spiegarmi cosa fare con l'esempio delle buste?
La classe CSignalEnvelopes non ha un tale modello di mercato.
Conclusione: dobbiamo migliorare la classe (o scrivere la nostra classe).
2011.10.06 23:00:34 Esecutore Solaris EURUSDm,M1: impossibile chiamare la funzione 'InfoOfTrading' dalla dll 'Solaris.dll' (errore 127)
Qual è la differenza tra chiamare funzioni da dll in MT4 e MT5? Compilo una dll, funziona bene in MT5, ma in MT4 genera un errore:
2011.10.06 23:00:34 Esecutore Solaris EURUSDm,M1: impossibile chiamare la funzione 'InfoOfTrading' dalla dll 'Solaris.dll' (errore 127)
Datemi una descrizione del prototipo di funzione, per favore. Molto probabilmente hai usato il progetto _stdcall per MT5.
MT5 ha un meccanismo più flessibile per collegare i nomi delle funzioni DLL - supporta automaticamente sia _stdcall (più avanzato con la decorazione del nome) che _cdecl (vecchio metodo classico). MetaTrader 4 supporta solo le chiamate _cdecl.
Avete letto l'articolo"Come scrivere una DLL per MQL5 e condividere i dati in 10 minuti?"Spiega in dettaglio come chiamare le funzioni della DLL.
Fornire una descrizione del prototipo di funzione, per favore. Molto probabilmente per MT5 avete usato il design _stdcall.
MT5 ha un meccanismo più flessibile per collegare i nomi delle funzioni DLL - supporta automaticamente sia _stdcall (più avanzato con la decorazione del nome) che _cdecl (vecchio metodo classico). MetaTrader 4 supporta solo le chiamate _cdecl.
Leggi l'articolo"Come scrivere una DLL per MQL5 e scambiare dati in 10 minuti?" - c'è una descrizione dettagliata delle chiamate di funzione della DLL.
Ho cercato di dichiararlo in questo modo:
E così:
invece di quello vecchio:
Ma ora un errore diverso:
2011.10.07 01:35:05 Solaris executor EURUSDm,M1: funzione 'InfoOfTrading' chiamata dalla dll 'Solaris.dll' errore criticoHo letto l'articolo.
Nelle impostazioni del progetto ha specificato esplicitamente il modo di chiamare:
E in MT5 funziona ancora senza errori.
In generale, i segnali sono descritti nella Guida esattamente nel modo in cui ne avete bisogno. Potete vederlo qui. L'immagine mostra le impostazioni dell'indicatore CCI. Quindi, molto probabilmente, il vostro Expert Advisor non si baserà solo sui segnali dell'indicatore Envelopes. C'è anche l'ICC.
Giusto, scusa per questo. Ho postato l'immagine sbagliata. Ma non cambia la questione. Ecco un'immagine dell'EA sulle sole buste.
Cosa faccio, come lo sistemo?
A proposito, nell'esempio di surs dalla consegna standard di MT4 la chiamata è fatta tramite __stdcall:
e funziona bene.
A proposito, nell'esempio surs dalla consegna standard MT4 la chiamata tramite __stdcall:
e funziona bene.
Nell'esempio di MT4:
MT4_EXPFUNC char* __stdcall GetStringValue(char *spar)
и имена экспортируемых функций явно описываются через *.def файл:
LIBRARY ExpertSample
EXPORTS GetIntValue
GetDoubleValue
GetStringValue
GetArrayItemValue
SetArrayItemValue
GetRatesItemValue
SortStringArray
ProcessStringArray
stdcall sembra essere supportato. Non sono sicuro che sia corretto descrivere il passaggio di parametri tramite & per i quattro.
L'esempio di MT4:
MT4_EXPFUNC char* __stdcall GetStringValue(char *spar)
и имена экспортируемых функций явно описываются через *.def файл:
LIBRARY ExpertSample
EXPORTS GetIntValue
GetDoubleValue
GetStringValue
GetArrayItemValue
SetArrayItemValue
GetRatesItemValue
SortStringArray
ProcessStringArray
stdcall risulta essere supportato. Non sono sicuro che sia corretto descrivere il passaggio dei parametri tramite & per i quattro.
Sono completamente disimparato in due anni con 4. :)
1. si scopre che una variabile passata per riferimento non può essere scritta in una DLL. Devi usare un array per questo.
2. ed è obbligatorio usare il file *.def.
Qui ci sono effettivamente 2 differenze di lavoro con le DLL del 4 e del 5 che ho scoperto, potrebbero essercene altre.