Discussione su "Come scrivere una DLL per MQL5 e scambiare dati in 10 minuti". - pagina 7
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
pisara:
...IMHO lo sviluppo del linguaggio di scrittura MT dovrebbe servire ai compiti specifici del commercio, cioè raccolta di informazioni, analisi, test, gestione del commercio e integrazione con altri sistemi - tutto questo può e IMHO dovrebbe essere fatto ad un alto livello di strumenti di sviluppo moderni, cioè integrando ed estendendo il framework standard selezionato usando metodi generalmente accettati in esso (OOP, ecc.). Il compito non è quello di scrivere una piattaforma chiusa e autosufficiente su un mix di C/C++ o altro, ma, prima di tutto, di scrivere le basi della piattaforma di trading, i suoi servizi, API e interfaccia utente...
Moe IMHO è in completo accordo con il tuo IMHO. È bello esporre persone che la pensano come te. Associo MT al proverbio "il diavolo si annida nelle piccole cose" e sospetto gravi difetti architettonici, altrimenti perché ci sono così tanti "mattoni" - "Hey cittadino! Non andare lì, vai qui! Altrimenti la neve ti cadrà sulla testa - sarai completamente morto!".
Allo stesso tempo, bisogna ammettere che MT non è affatto il peggior prodotto con cui ho avuto a che fare.
Renat писал(а) # :
Forse mi è sfuggito qualcosa, o forse ti è sfuggito qualcosa. Non riesco a trovare alcun articolo sull'interazione tra Matkad e MT4. Sì, ho Matlab. Non ho Matcad ((.
Una volta ho ordinato MT4B<-> Matcad link ai programmatori. L'unico accettabile (stabile) era la comunicazione tramite operazioni su file. MT4-scrive le quotazioni in un file-Matkad legge-elabora-inserisce i risultati in un file (acquisto/vendita di valuta)-MT4 legge ed esegue. Ma a volte si blocca per ragioni sconosciute... ha trascorso più di 3 mesi ma ancora non è riuscito a risolvere il problema.
Da un lato il tuo desiderio di fare tutto in un unico pacchetto, sì, bene e buono. È la stabilità e l'affidabilità del sistema.
Ma d'altra parte ci sono linguaggi di programmazione di alto livello (Matlab, Matcad) per i quali è già stato scritto molto, speso miliardi di anni umani. E collegare questa potenza a MT5 sarebbe fantastico. Non hai abbastanza forza o capacità per raggiungere il livello di queste lingue...
P.S. Voglio attirare la tua attenzione sul fatto che entrambi questi linguaggi sono specializzati per lavorare con gli array (algebra matriciale), esattamente ciò di cui hai bisogno...
Forse mi sono perso qualcosa, o forse ti sei espresso male. Non riesco a trovare da nessuna parte un articolo sulla connessione tra Matcad e MT4. Matlab è lì. Ma Matcab non è disponibile ((.
Una volta ho ordinato MT4B<-> Matcad link ai programmatori. L'unica connessione accettabile (stabile) era attraverso operazioni di file. MT4-scrive le quotazioni in un file-Matkad legge-elabora-inserisce i risultati in un file (acquisto/vendita di valuta)-MT4 legge ed esegue. Ma a volte si blocca per ragioni sconosciute... abbiamo passato più di 3 mesi, ma non siamo ancora riusciti a risolvere il problema.
Provate a fare un pacchetto con MQL5 - è un linguaggio più potente, efficiente e sicuro.
Puoi iniziare un lavoro pubblico aperto sull'integrazione di Matkad con MT5 per ottenere un buon risultato. In questo modo entrambi gli errori possono essere corretti rapidamente e il risultato può essere buono.
Sì, ho confuso Matkad e Matlab. Mi dispiace.
Provate a fare un pacchetto con MQL5 - è un linguaggio più potente, efficiente e sicuro.
Per ottenere un buon risultato, possiamo iniziare un lavoro pubblico aperto sull'integrazione di Matkad con MT5. In questo modo è possibile correggere rapidamente gli errori e ottenere un buon risultato.
Puoi fare molto, ma prima di tutto penso che sei tu che dovresti essere interessato a tali progetti (immagina solo come il tuo pubblico aumenterà e forex e cambio + scrivere programmi su matlab standard ).
E il lavoro pubblico, aperto, ecc. non mi interessa da molto tempo. Anch'io do valore al mio tempo. Stanco di fare errori come questi.
Come può questa procedura produrre questo?
2010.05.06 02:28:14 Setka_Final_1 (EURUSD,M5) SetVLine creation error VLine_838524 4202 t1= 2010.05.06 00:00
Questa è una stronzata.
ERRARE_OGGETTO_NON_TROVATO
4202
Oggetto grafico non trovato
Se non è stato trovato nessun oggetto. Il programma dovrebbe averlo creato. Ma l'oggetto è lì if(...) quindi perché ottiene 4202.
Forse sono solo stanco ed è ora di andare a letto.
A Prival.
Se formulate un problema MatCad abbastanza interessante (non molto complicato per cominciare), sono sicuro che ci saranno persone disposte a partecipare al compito.
2010.05.06 02:28:14 Setka_Final_1 (EURUSD,M5) Errore nella creazione di SetVLine VLine_838524 4202 t1= 2010
Se non è stato trovato nessun oggetto. Il programma avrebbe dovuto crearlo. Ma l'oggetto esiste if(...) perché viene restituito 4202.
Buon giorno! Parlando di passare stringhe in funzioni dalla DLL
Ho il seguente codice:
#include <WinUser32.mqh>.
#importare "mt4excel.dll"
bool ExcelOpen();//apre Excel e crea una pagina bianca
bool ExcelSetTextCell(int X,int Y,char Value[]);//Scrivere il testo nella cella
/*
altri tagliati
*/
#importare
void OnTick()
{
MqlRates tassi [];
int copied=CopyRates("EURUSD",PERIOD_M1,0,1,rates);
ExcelSetTextCell(1,1, "Tool");
ExcelSetTextCell(2,1, "EURUSD");
ExcelSetValueCell(2,2,rates[0];
}
Come detto, Excel visualizza solo la prima lettera di quella passata lì usando ExcelSetTextCell. Dopo aver letto questo thread, ho capito qual è la ragione, ma non sono sicuro di come ottenere ciò di cui ho bisogno. Il punto è che non ho scritto la DLL, è una libreria di funzioni per lavorare con Excel tramite MT4. Per ovvie ragioni MT5 prende un puntatore a una stringa con solo il primo carattere. La domanda è: come posso far passare a MT5 ciò di cui ho bisogno, se non posso modificare il codice sorgente della DLL? Per quanto ho capito, è necessario aggiungere qualcosa come
_DLLAPI void __stdcall demo(char *stream, char*buf){ buf=stream;}
Sarei grato per i commenti degli sviluppatori di MT5
Grazie!
ns_k, non dimenticare che le stringhe in MQL5 sono unicode.
Ci sono 2 soluzioni possibili.
1. Rielaborare (modificare) la dll per accettare stringhe unicode
2. Convertire una stringa in un array da solo
ns_k, non dimenticare che le stringhe in MQL5 sono unicode.
Ci sono 2 soluzioni possibili.
1. Rielaborare (modificare) la dll per accettare stringhe unicode
2. Convertire la stringa in un array da solo
La seconda soluzione funziona per me. Dimmi, devo cambiare anche la dichiarazione della funzione? Cioè invece di
bool ExcelSetTextCell(int X,int Y, string Value);//Scrivere il testo nella cella
Devo scrivere una dichiarazione dove il terzo parametro sarà un array? Se sì, come farlo non lo capisco. Grazie!
Però l'ho capito, ho solo dovuto pensare un po'. Grazie per l'aiuto!!!
Dichiarazione di una funzione DLL
Chiamare una funzione DLL