![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Puoi fare qualcosa del genere: in una dll, un array o due array, uno per il nome dell'oggetto e l'altro per il tipo di evento.
qui!
Non ho ancora controllato, ma se gli sviluppatori hanno un supporto avanzato per C#.Net, allora forse funziona lo scambio di tipi di dati complessi tra MT5 e .dll, cioè strutture.
Se lo scambio di strutture funziona, il compito diventa ancora più semplice e primitivo.
riempiamo la struttura con OrderProfit,OrderTicket,OrderStoploss.... sul tick ...e inviare questa struttura a una .dll e ricevere una struttura di risposta dall'utente... Poi il modulo ruota le informazioni visive da solo, il terminale stesso.
E poi creare una memoria TOTALE all'interno della .dll.
Con l'aumento del numero di elementi del modulo e la crescente complessità del programma MT5, questa interazione diventa MOLTO impegnativa e complessa.
Hmmm, cosa c'è di complicato in questo? Si separa la visualizzazione = .dll, separatamente il lavoro MT
difficile da spiegare, avete un'idea della velocità di scambio di dati attraverso la memoria? - Non stiamo parlando di centomila byte al secondo, nemmeno di milioni, ma di diversi miliardi di byte al secondo, e stai parlando della complessità dello scambio )))))
OK.
Quindi è necessario:
E se ci sono centinaia di elementi?
Come organizzare la memoria condivisa?
Cosa succede se è necessario cambiare non solo lo stato premuto/rilasciato degli elementi in un modulo, ma anche il loro colore (per esempio, per i pulsanti)?
Cosa succede se è necessario cambiare il testo nei campi di inserimento di un modulo programmaticamente da МТ5?
1. Qual è il problema? Sta selezionando il tipo di progetto quando lo si crea.
2. Come si vede nell'esempio mostrato da Igor, la connessione è fatta in una riga, non c'è nemmeno bisogno di descrivere l'importazione.
3. Un metodo viene scritto una volta, salvato in un file, e poi viene usato in tutti i progetti senza alcuna modifica.
4. Probabilmente è necessario, ma sono semplici. Non tutti saranno probabilmente necessari, l'interazione tra gli elementi di controllo in c# sarà diversa, e potrebbe essere necessario inserire un solo evento, e ci saranno 100 pulsanti sul modulo.
5. Questo è legato al punto 3.
6. Anche una linea con il giusto approccio al punto 3.
7 - Hai tutta la potenza di C# nelle tue mani, la cui scala sembra non avere idea è enorme.
Senza offesa, ma scusate l'off-topic.
Stai prendendo l'esempio più semplice ed estrapolando da esso, pensando che la complessità non aumenterà. Questo è un errore.
Anche l'esempio più semplice che hai fatto è sbagliato. Perché oltre al modulo creato, è necessario creare anche una DLL. E poi creare una memoria TOTALE all'interno della DLL.
Man mano che il numero di elementi del modulo cresce e la funzionalità del programma su MT5 diventa più complessa, questa interazione diventa MOLTO impegnata e complicata.
Ho testato tutto questo nella pratica.
La conclusione è completamente sbagliata.
Il problema è che ho fatto DAVVERO quello di cui sto parlando. E conosco la complessità di organizzare l'interazione tra un complesso programma di MT e un complesso programma di terzi.
E l'approccio del profano è di solito quello di dire "È facile... Qual è il problema? È così, è così...".
Datemi un esempio di collegamento tra un complesso programma MT e un complesso modulo Windows, dove il programma può:
Il problema è che ho fatto DAVVERO quello di cui sto parlando. E conosco la complessità di organizzare l'interazione tra un complesso programma di MT e un complesso programma di terzi.
E l'approccio del profano è di solito quello di dire "È facile... Qual è il problema? È così, è così...".
Datemi un esempio di collegamento tra un complesso programma MT e un complesso modulo Windows, dove il programma può:
Se lo faceste, non fareste domande come quella di oggi. Impara il C# e fallo da solo. Come collegare la dll e chiamare i metodi che Igor ha mostrato ieri.
1. Qual è il problema? È la scelta del tipo di progetto quando lo si crea.
2. Come si vede nell'esempio mostrato da Igor, la connessione è fatta in una riga, anche l'importazione non è descritta.
3. Un metodo viene scritto una volta, salvato in un file, e poi viene usato in tutti i progetti senza alcuna modifica.
4. Probabilmente è necessario, ma sono semplici. Non tutti saranno probabilmente necessari, l'interazione tra gli elementi di controllo in c# sarà diversa, e potrebbe essere necessario inserire un solo evento, e ci saranno 100 pulsanti sul modulo.
5. Questo è legato al punto 3.
6. Anche una linea con il giusto approccio al punto 3.
7 - Nelle tue mani tutta la potenza di C#, la cui scala sembra non avere idea, è enorme.
Dmitry, usa l'enorme potenza di C# e fai un'applicazione non molto complessa con un modulo, che interagisce con l'applicazione MT ed esegue questi elementi:
Dimitri, usa la GRANDE potenza di C# e fai un'applicazione non molto complessa con un modulo che interagisce con l'applicazione MT ed esegue questi elementi:
Ho molto da fare. Ma potete continuare nelle vostre illusioni.
E oh sì, un miracolo mai visto nella programmazione: per fare qualcosa, bisogna scrivere una funzione per farlo.
Ho delle cose da fare. ...
OK, forse Igor lo farà allora...
OK, forse Igor lo farà allora...
Igor ha già mostrato troppo. E ho detto troppo.