Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 608
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
Il primo problemaLots/Prikup - Dplus deve essere normalizzato. Leggete attentamente. Se le variabili sono di tipo doppio, sarete sorpresi se 4/2 fornisce non il 2 previsto, ma 1.999999999999 - probabilmente non avete ancora affrontato questo problema.
Quindi se((OrderMagicNumber() == Magic)&&(OrderLots() <= Lots/Prikup - Dplus)) è falso, e posso dire con alta probabilità che è falso, allora anche se hai cnt_OO maggiore di 1 sei garantito di arrivare ad un blocco dopo l'etichetta 1. Quindi tutto funziona senza errori Il problema è nella logica di elaborazione dei dati.
Il secondo problema è che si ha la garanzia di processare solo l'ultimo ordine della lista, quindi perché preoccuparsi di un ciclo for?
Se lo fate solo per il tester, scegliendo poi l'ultimo ordine dalla lista, otterrete davvero l'ordine necessario, e non sempre. Sul mercato reale, specialmente se ci sono diversi Expert Advisors in esecuzione, è garantito che otterrete qualcosa di diverso da quello che vi aspettate e che il ciclo si interromperà dopo il primo passaggio usando il comando break.
Il primo problemaLots/Prikup - Dplus deve essere normalizzato. Leggete attentamente. Se le variabili sono di tipo doppio, sarete sorpresi se 4/2 fornisce non il 2 previsto, ma 1.999999999999 - probabilmente non avete ancora affrontato questo problema.
Quindi se((OrderMagicNumber() == Magic)&&(OrderLots() <= Lots/Prikup - Dplus)) è falso, e posso dire con alta probabilità che è falso, allora anche se hai cnt_OO maggiore di 1 sei garantito di arrivare a un blocco dopo l'etichetta 1. Quindi tutto funziona senza errori Il problema è nella logica di elaborazione dei dati.
Il secondo problema è che si ha la garanzia di processare solo l'ultimo ordine della lista, quindi perché preoccuparsi di un ciclo for?
Se lo fate solo per il tester, scegliendo poi l'ultimo ordine dalla lista, otterrete davvero l'ordine necessario, e non sempre. Sul mercato reale, specialmente se ci sono diversi Expert Advisors in esecuzione, è garantito che otterrai qualcosa di diverso da quello che ti aspetti e il ciclo si romperà dopo il primo passaggio.
Il primo problemaLots/Prikup - Dplus deve essere normalizzato. Se le variabili sono di tipo doppio ti sorprenderà se 4/2 non dà il 2 previsto ma 1.999999999999 forse non hai ancora affrontato questo problema
Quindi se((OrderMagicNumber() == Magic)&&(OrderLots() <= Lots/Prikup - Dplus)) è falso, e posso dire con alta probabilità che è falso, allora anche se hai cnt_OO maggiore di 1 sei garantito di arrivare a un blocco dopo l'etichetta 1. Quindi tutto funziona senza errori Il problema è nella logica di elaborazione dei dati.
Il secondo problema è che si ha la garanzia di processare solo l'ultimo ordine della lista, quindi perché preoccuparsi di un ciclo for?
Se lo fate solo per il tester, scegliendo poi l'ultimo ordine dalla lista, otterrete davvero l'ordine necessario, e non sempre. Sul mercato reale, specialmente se ci sono diversi Expert Advisors in esecuzione, è garantito che otterrete esattamente l'ordine sbagliato, e il ciclo si interromperà sul comando break dopo il primo passaggio.
Per quanto riguarda la normalizzazione - grazie, non avevo notato che mancava. Il mio occhio si è perso nella mia testa.
Riguardo al ciclo for: ci sono diversi ordini nell'archivio con diversi maghi e da diverse coppie. Li esamino dalla fine finché non trovo quello che mi serve. Questo succede quando l'EA non ha iniziato a lavorare e nessun nuovo ordine di cui ho bisogno appare nella lista. Il ciclo viene interrotto non al primo passaggio, ma quando viene trovato l'ordine richiesto.
Dobbiamo capire bene le funzioni Onlinit e OnDeinit. La loro necessità è ovvia.
In questa implementazione, il ciclo non funziona. Ho eseguito il tuo codice in diverse varianti sempre un passaggio.
E ora capisco dove hai sbagliato!
Ho commentato tutto il più possibile! Provate!
In questa implementazione, il ciclo non funziona. Ho eseguito il tuo codice in diverse varianti sempre un passaggio.
E ora capisco dove hai sbagliato!
Ho commentato tutto il più possibile! Provate!
Grazie, ho capito. Ecco un workaround per l'errore di mancanza di normalizzazione. Dopo un esame più attento dell'algoritmo di recupero, la condizione&&(OrderLots() <= Lots/Prikup - Dplus) sembrava essere inutile.
Grazie a tutti per i vostri buoni consigli
Ecco il risultato dei test. È più o meno lo stesso sul reale, anche meglio. Siate avvertiti in anticipo: questa non è una martingala. È anche peggio di quanto si pensi :=). Drawdown 1,3% profitto 507$
Se funziona, e non ti dispiace condividere il risultato, scrivi una soluzione al problema
Non ha funzionato (ho usato la libreria openssl di php). Ha risolto il problema in modo diverso.
Non ha funzionato (ho usato la libreria openssl di php). Ha risolto il problema in modo diverso.
Quindi hai finito per criptare in MT e decriptare in .php? Quale modo hai usato?
Quindi hai finito per criptare in MT e decriptare in .php? Che metodo avete usato?
No, ti ho detto che non ha funzionato. Ci ho rinunciato. Per il mio compito un hashish era sufficiente. Stavo inviando e ricevendo hash e indietro un altro hash come conferma.
Quindi non sono stato in grado di decifrarlo in PHP. Sarebbe bello se qualcuno potesse esaminare seriamente questo problema. Forse uno sviluppatore o qualcosa del genere.
No, ho scritto che non ha funzionato. Ci ho rinunciato. Un hashish era sufficiente per il mio compito. Ho inviato e ricevuto un hash e indietro un altro hash come conferma.
Quindi non sono stato in grado di decifrarlo in PHP. Sarebbe bello se qualcuno potesse esaminare seriamente questo problema. Forse uno sviluppatore o qualcosa del genere.
Scrivete la vostra funzione di crittografia in puch, e spostatela su mq. In questo modo non lo decifreranno, e funzionerà al 100% in entrambi i casi.
Se funziona, e non ti dispiace condividere il risultato, pubblica la soluzione
google "PKCS#7 padding format"