Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 163

 
hoz:

C'è una libreria hoz_LoggingToAnywhere@Library.mq4, che viene chiamata dal file header hoz_Base@Include.mqh

Quando compilo la libreria hoz_LoggingToAnywhere@Library.mq4 lo vedo nel log:

Ci vado... E lì vedo:

Chiamando questa funzione fPrint da altre librerie non viene incolpata da nessuna parte, ma dal file di intestazione... sì. Perché è così? È già copiato proprio da simbolo a simbolo...


Perché questa funzione ha (...) come parametro, e avete bisogno della composizione esatta


link:

https://docs.mql4.com/ru/basis/preprosessor/import

Poiché le funzioni importate sono esterne al modulo in fase di compilazione, il compilatore non può controllare se i parametri passati sono corretti. Pertanto, al fine di evitare errori di esecuzione, è necessario specificare l'esatta composizione e l'ordine dei parametri passati alle funzioni importate. I parametri passati alle funzioni importate (sia da EX4 che dai moduli DLL) non possono avere valori predefiniti.

 
ilunga:

Perché questa funzione ha (...) come parametri e avete bisogno della composizione esatta


riferimento:

https://docs.mql4.com/ru/basis/preprosessor/import

Poiché le funzioni importate sono esterne al modulo in fase di compilazione, il compilatore non può controllare la correttezza dei parametri passati. Pertanto, al fine di evitare errori di esecuzione, è necessario specificare l'esatta composizione e l'ordine dei parametri passati alle funzioni importate. I parametri passati alle funzioni importate (sia da EX4 che dai moduli DLL) non possono avere valori predefiniti.


Quindi ho importato le funzioni correttamente, secondo:

#import "hoz_LoggingToAnywhere@Library.ex4"
    void fPrint (string& fs_Text);
#import
#import "hoz_HandlingWithErrorS.ex4"
    string fErrorToString(int fi_Error);
    string fErrorDescription (int fi_Error);
#import

Il tipo di funzione e i parametri sono lì... E l'ho già usato in questo modo:

fPrint (StringConcatenate ("fInitBase() => ", fErrorToString (bi_Err)));

Infatti qui è ovvio che tutto ciò che è tra parentesi StringConcatenate è di tipo stringa, li ho già dichiarati durante l'importazione.

//.......................................................................................................................................................................//

Dov'è il problema? Viene fuori una cosa completamente senza senso. L'ho cambiato in questo:

string m = StringConcatenate ("fInitBase() => ", fErrorToString (bi_Err));
   fPrint (m);

E niente più errori. Ma questo look non mi piace. Si sta allungando. Qualcosa di più corto?

 
hoz:


Dov'è il problema?

È nel suo approccio. Per essere più precisi - nella vostra riluttanza a leggere la documentazione tecnica. Sempre lo stesso "rastrello". Se volete essere così gentili, indipendentemente Leggete quando potete passare parametri per riferimento e quando no.

https://docs.mql4.com/ru/basis/variables/formal

Se non è chiaro, memorizzatelo.

 
VladislavVG:

È nel suo approccio. Più precisamente, la vostra riluttanza a leggere la documentazione tecnica. Sempre lo stesso "rastrello". Se volete essere così gentili, indipendentemente Leggete quando potete passare parametri per riferimento e quando no.

https://docs.mql4.com/ru/basis/variables/formal

Se non è chiaro, memorizzatelo.


In effetti, da qualche parte hai ragione. Ma non è una mancanza di volontà di capire, è solo un po' di distrazione. È su questo che sto lavorando. La questione è risolta. Grazie mille per il rimprovero! Ne terrò conto.
 
hoz:

In effetti, da qualche parte hai ragione. Ma non è una mancanza di volontà di capire, è solo un po' di distrazione. È su questo che sto lavorando. La questione è risolta. Grazie mille per il rimprovero! Lo prenderò in considerazione.
Nell'angolo, sui piselli!
 
artmedia70:
Nell'angolo, sui piselli!


 

Signori, consigliate come impostare (chiudere) la visualizzazione delle schede su fxbook. Grazie.


 
Il problema è stato risolto.
 

Non ho ancora padroneggiato del tutto mql4, ma ho già fatto dei progressi. Mi piace il tester di strategie in mql5, secondo me, mostra un quadro più profondo e solo a causa del tester voglio convertire gli EA in mql5.

Ma una cosa manca sul forum di mql5, non ci sono molti messaggi, il forum non è molto attivo. È possibile fare domande su mql5 su questo forum?

 
Forexman77:

Non ho ancora padroneggiato del tutto mql4, ma ho già fatto dei progressi. Mi piace il tester di strategia in mql5, mi dà una visione più profonda della situazione e solo a causa del tester vorrei cambiare i miei EAs in mql5.

Il forum mql5 ha solo pochi messaggi, il forum non è così attivo. È possibile fare domande su mql5 su questo forum?

Penso che MQL4 e MQL5 abbiano diviso le persone in commercianti e programmatori. Quelli con MQL5 possono fare ogni sorta di cose belle e poi venderle sul Mercato. Il commerciante comune ha bisogno solo di MQL4, per non parlare di quelli che commerciano a mano. L'ho provato io stesso, e mi sono anche fatto un'idea dell'OOP. Prova e impara. Ti ripagherà)).