[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 254

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
Gente, prima nell'editor quando si passa il mouse su una parola riservata e si preme f1 si apriva una finestra in basso con una descrizione della funzione, ora non ce l'ho più. Quale potrebbe essere il problema?
Chi può dirmi come rendere il risultato sempre positivo? (Buy lots - Sell lots)= -0.25, ma deve essere sempre positivo ?
Faccio così: se (profitbuy+profitsell > SymbProf_magBUY_magSELL* MathAbs((OrdersTotalMagicBuyLots(MagicBuy)-OrdersTotalMagicSellLots(MagicSell))/Lots)())
cosa c'è tra parentesi?
se (profitbuy+profitsell > SymbProf_magBUY_magSELL* MathAbs((OrdersTotalMagicBuyLots(MagicBuy)-OrdersTotalMagicSellLots(MagicSell))/Lots)(??????))
Dove ???? cosa?
Apro una posizione con un volume = 0,05. Ho bisogno di un codice - come ridurre il volume della posizione di 0,01 quando una perdita raggiunge i 100 pip per 5 cifre?
Grazie.
Quanti EAs ho scritto, tutti controllano le condizioni di mercato (livellamento degli stop, spread, ecc.) quando si fa trading con ordini pendenti. Ho guardato come sono scritti i gridder, ma non ho visto nessuno di loro controllare il valore del livellamento dello stesso stop prima di inviare qualsiasi ordine. Qual è la ragione?
Ci sono molti metariali sul forum sul tester e sul perché i suoi risultati differiscono dalla vita reale. Guarda nella sezione Articoli, questo argomento è stato toccato più di una volta.
Grazie.
Ho trovato un'alternativa.
Significa che nella DLL la stringa è passata esattamente come char*, ma non come MqlStr. Manon significa che nel programma ex4 la stringa non è memorizzata come MqlString. In generale, il trasferimento di parametri da ex4 a dll (secondo gli sviluppatori) è un processo piuttosto complesso, accompagnato da tutti i tipi di controlli e trasformazioni di parametri.
Avete letto il Riferimento MQL4? MQL4-stringa è la stessa di c-stringa con terminatore nullo.
La struttura è progettata solo per organizzare array di stringhe. Puramente un'invenzione dei Metaquote per facilitare la creazione di array di stringhe.
StrStrA dalla libreria shlwapi.dll. Test:
Diario:
Il meccanismo è il seguente. Shlwapi.dll in /system32. StrStrA è un analogo WinAPI diStringSubstr. MQL4 è un linguaggio senza tipo, quindi se impostiamo un int all'uscita, piuttosto che una stringa, otteniamo un puntatore ad esso, non una stringa. StrStrA cerca la prima occorrenza di una sottostringa nella stringa (sensibile alle maiuscole e alle minuscole, ma poiché le nostre stringhe sono uguali, non ci interessa), e poiché le nostre stringhe sono uguali, restituisce un puntatore al primo carattere della stringa, cioè alla stringa stessa.
Lasciate che vi spieghi per coloro che useranno questo codice. Non c'è un formato di stringa nella WinAPI. Invece, c'è solo il formato lpsz (un puntatore al primo elemento di un array di caratteri che termina con 0x00, alias /0). È un puntatore a un indirizzo di memoria. Poiché le nostre celle di memoria sono a 32 bit (cioè 4 byte) e l'int è anch'esso di 4 byte, tutto ci sta bene.
Conclusione: si possono facilmente impacchettare le stringhe in array di int, emulando così le strutture (e non ci sono strutture e classi in MQL4) per passarle ulteriormente alla dll, se è necessaria una struttura o una classe. I dll autoscritti per la traduzione dei tipi di dati (cioè costruzioni come "int(const char*)" (traduzione di tipo C) o simili in C++) non possono essere usati ora.