Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1118
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
Non c'è bisogno di indovinare. Bisogna pensare e capire cosa si sta facendo e per quale scopo. Quando qualcosa deve essere scritto e quando non deve esserlo.
Si pensa che la stampa debba contenere una stringa e che qualsiasi valore numerico debba essere convertito in una stringa.
Ma questo esempio ha mostrato che il compilatore sta diventando lento. E come non indovinare quando il compilatore salta e quando no.
Sembrerebbe che la stampa debba essere convertita in stringa, quindi qualsiasi valore numerico deve essere convertito in stringa.
Ma questo esempio ha mostrato che il compilatore si blocca. Come non indovinare quando il compilatore salta e quando no.
Di nuovo - il codice qui - cosa non è chiaro?
ZS. Se si tratta di questo:
... Non l'ho controllato - l'ho solo ribattuto nel post.
Effettua la conversione funzionale in stringa:
Amici!
Sto lottando con il problema di collegare una DLL a MQL. Sto descrivendo il mio problema:
1. All'inizio ho provato a scrivere una libreria .dll in C#. Ho scoperto che MQL4 non "mangia" tali librerie, poiché tutti i metodi all'interno della dll sono chiusi, se scritti in C#. Ho iniziato a cercare attivamente una soluzione al problema. Ho trovato diverse varianti su Internet, come il collegamento della libreria "DLL Export", scaricata da NuGet. Ho provato diversi modi, ma non ha funzionato. Non voglio davvero avere una soluzione "fragile" a questo problema, secondo il principio "funziona oggi e non domani". Ho provato in questo modo, e in realtà c'è molto di come funziona altrimenti:
2. Ho capito che molto probabilmente avrei dovuto scrivere una libreria C++ stabile e funzionante. Collegato dalla 1a volta, le query di prova sono passate senza problemi. Ma quando ho iniziato a provare a restituire un messaggio di testo (a MQL) con un metodo (da DLL), ho incontrato un nuovo problema - ho ottenuto la risposta"?????‡?-" in MQL. Ho provato a decodificare il messaggio, ma non ha funzionato! Ho provato a restituire il valore attraverso un parametro di funzione - ho ottenuto "?". Ho cercato un sacco di cose e non ho ancora trovato una soluzione. Questa è la variante che ho scelto, ma restituisce dei punti interrogativi:
Ricevo una risposta sotto forma di:
La decodifica non aiuta...
Ciò che è necessario essenzialmente:
1) esiste una vera soluzione a questo problema tramite C#? Ho bisogno di una soluzione stabile e bella! Le mezze misure, anche se funzionano ora, ma possono cadere con una nuova costruzione, non è un'opzione.
2) Se non c'è una soluzione C#, passate al C++. Come inviare correttamente i messaggi in entrambe le direzioni senza perdere qualità? (MQL - DLL - MQL). Ho bisogno di una variante che funzioni ugualmente per MT4 e MT5.
Di nuovo - codice qui - cosa non è chiaro?
Non è chiaro perché vengono restituite costanti da H1 in su che non corrispondono al periodo come prima di H1
Lo stesso viene restituito dalla variabile _Period.
Non è chiaro perché vengono restituite costanti da H1 in su che non corrispondono al periodo come prima di H1
Lo stesso viene restituito dalla variabile _Period.
Artyom non impazzire ))
Perché a M30 vengono visualizzati esattamente i valori di TF
1
5
30
E su H1 inizia con 16385
Beh, non è logico restituire prima il valore ai minuti e poi all'inferno.
E non si adatta alla descrizione nell'aiuto per _Period come valore di ritorno del timeframe.
Artyom non impazzire ))
Perché a M30 vengono visualizzati esattamente i valori di TF
1
5
30
E su H1 inizia con 16385
Beh, non è logico restituire prima il valore ai minuti e poi all'inferno.
E non si adatta alla descrizione nell'aiuto per _Period come valore di ritorno dell'intervallo di tempo.
Valore del timeframe. Non il numero di minuti. Non il numero di secondi, non il numero di oche da Baba Nyura, ma il valore del tempo.
Il valore dell'intervallo di tempo. Non il numero di minuti. Non il numero di secondi, non il numero di oche da Baba Nyura, ma il valore del tempo.
Questo è ciò di cui stiamo parlando, che le costanti devono essere uguali ai valori di tempo!
E portare il significato logico e matematico della corrispondenza.
Perché questi valori sono utilizzati nei calcoli.
M1 = 1
M5 = 5
M30 = 30
H1 = 60
H4 = 240
D1= 1440
Altrimenti si perde il significato dei valori restituiti.
Perciò è un bug secondo me.
https://www.mql5.com/ru/articles/18
https://www.mql5.com/ru/articles/5798
Mi sorprende che tu abbia la pazienza di ripetere tutto per così tanto tempo e al mattino... Anche se sei già al mattino dopo un'altra notte insonne)).
Almeno mettetelo in quarantena per 24 ore per leggere attentamente la documentazione. Che sfortuna... È la prima volta che un asso delle varietà del linguaggio C dice una tale sciocchezza. E questa è la prima volta che viene spiegato tutto...
Immaginate che questo sia stato capito in Service Desk. Probabilmente non hanno quel tipo di equilibrio lì, ecco perché l'hanno chiuso.