![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
Permette (seleziona) un parametro orario GoodHourOfDay (-1 tutte le ore sono "buone")
Per permettere un periodo (intervallo di ore) usate il parametro BadHoursOfDay. Questa è la maschera di bit delle ore "cattive". Vengono utilizzati 24 bit (per il numero di ore in un giorno).
Se volete permettere un intervallo da 8 a 19 ore comprese, disabilitate le ore da 0 a 7 e da 20 a 23. Il valore del parametro sarà così
111100000000000011111111111111 (in forma binaria),
16646399 (in forma decimale).
1. 16646399 = 11111100000000011111111 o 1111000000000111111111?
Il divieto di scambio descritto sopra dovrebbe apparire così - 111111100000000000011111= 16646175 (credo di sì).
2. Anche questo pezzo del seguente articolo è molto poco chiaro
Sì, infatti, 11111111111111110000 = 16777152. Ma per qualche motivo mi sembra che non siano le prime 6 ore del giorno, ma le ultime.
Secondo me, la risoluzione solo per le prime 6 ore dovrebbe essere così - 00000011111111111111111111111111= 262143.
O mi manca qualcosa? Vorrei una documentazione più dettagliata su questo (preferibilmente con vari esempi), non come adesso... :(
Non sono bravo a programmare. Il parametro deve essere impostato come una stringa lunga? L'Expert Advisor capirà se stesso - quando è un codice binario e quando è un codice decimale? Come sarebbe il valore del parametro per permettere il commercio dalle 02:00 alle 05:00 e dalle 14:00 alle 17:00? Grazie in anticipo per le risposte.
Non posso impostare questo parametro in binario, non posso inserire più di undici cifre. Ma in forma decimale funziona, ma come risolvere il tempo richiesto? Qualche consiglio?
Impostare la calcolatrice normale in modalità "ingegneria" ed eseguire il valore desiderato da Bin a Dec.
È solo una questione di tempo... :)
1. 16646399 = 11111110000000000011111111 o 1111000000000000011111111111?
Il divieto di commercio descritto sopra dovrebbe apparire così - 11111110000000000000011111= 16646175 (credo di sì).
2. Anche questo pezzo del seguente articolo è molto poco chiaro
Sì, infatti 111111111111111111000000 = 16777152. Ma per qualche motivo mi sembra che non siano le prime 6 ore del giorno, ma le ultime.
Secondo me, la risoluzione solo per le prime 6 ore dovrebbe essere così - 00000011111111111111111111111111= 262143.
O mi manca qualcosa? Vorrei una documentazione più dettagliata su questo (preferibilmente con diversi esempi), non come adesso... :(
Se ho capito bene, il parametro deve essere così -110001111111111111000111111111= 13106303.1. 16646399 = 11111110000000000011111111 o 1111000000000000011111111111?
Il divieto di commercio descritto sopra dovrebbe apparire così - 11111110000000000000011111= 16646175 (credo di sì).
2. Anche questo pezzo del seguente articolo è molto poco chiaro
Sì, infatti 111111111111111111000000 = 16777152. Ma per qualche motivo mi sembra che non siano le prime 6 ore del giorno, ma le ultime.
Secondo me, la risoluzione solo per le prime 6 ore dovrebbe essere così - 00000011111111111111111111111111= 262143.
O mi manca qualcosa? Vorrei una documentazione più dettagliata su questo (preferibilmente con diversi esempi), non come adesso... :(
Se ho capito bene, il parametro deve apparire come segue -110001111111111111000111111111= 13106303.Grazie per la risposta. Ho provato a metterlo nel tester. Funziona, ma non al momento che volevo. Come convertire dal codice binario al decimale?
Funziona. Ma è quattro ore indietro rispetto all'orario del terminal. Inizia a commerciare alle 6 invece che alle 2, ecc.
Non sono del tutto sicuro di11000111111111111100011111111111, ho solo detto quello che ho capito. Come convertire da Bin a Dec descritto sopra (può essere fatto facilmente con la calcolatrice di Windows).
Se si seleziona lo stile "engineering" e si specifica Bin, allora tutti i numeri inseriti saranno binari. Per convertire Bin in Dec senza problemi devi solo cambiare la modalità da Bin a Dec.
Non sono del tutto sicuro di11000111111111111100011111111111, ho solo detto quello che ho capito. Come convertire da Bin a Dec è stato descritto sopra (puoi farlo facilmente con la calcolatrice di Windows).
Wikipedia ha tutto.
Conversione di numeri binari in numeri decimali
Supponiamo che vi venga dato un numero binario 110001. Per convertirlo in decimale, basta scriverlo da destra a sinistra come la somma delle cifre come segue:
Vorrei anche sapere come passare alla modalità di ingegneria e cosa significa "eseguire"?
È molto semplice.
Se avete bisogno di lavorare in modalità binaria andate su "engineering" e Bin (F8).
Per esempio inserire110001111111110001111111 e premere F6. La calcolatrice convertirà automaticamente Bin in Dec e mostrerà 13106303
PS
In modalità binaria devono essere specificati 8 byte (altrimenti la lunghezza del valore di ingresso sarà inferiore a 24 caratteri).
È molto semplice.
Se volete lavorare in modalità binaria, passate a "ingegneria" e Bin (F8).
Per esempio inserire110001111111110001111111 e premere F6. La calcolatrice convertirà automaticamente Bin in Dec e mostrerà 13106303
PS
In modalità binaria devono essere specificati 8 byte (altrimenti la lunghezza del valore di input sarà inferiore a 24 caratteri).
Entro, premo F6 - nessuna reazione. Grazie comunque. Ho ottenuto lo stesso numero 13106303 usando la classica tecnica di conversione di Excel. Ma il mio Expert Advisor non fa trading nel momento in cui ne ho bisogno. Immagino che gli sviluppatori debbano darmi la risposta.
1. Sì, c'è qualche domanda per gli sviluppatori - che è una maschera per 24 ore è chiaro, ma dove è il 1 e 24 ore io personalmente non capisco (anche se è ragionevole supporre che 1 segno nella maschera è 1 ora).
Nel mio giudizio ho proceduto da quanto segue
Nota
I valori da 0 a 16777215 (11111111111111111111111111111111b) sono corretti. Ogni bit nella bitmap che ha un valore di "1" segna l'ora (il cui numero nel giorno corrisponde al numero del bit nella bitmap) come "cattivo".
Se ho capito bene la descrizione, il parametro 262143(000000111 111111111111111 ) dovrebbe permettere il trading solo nelle prime 6 ore.
Anche se, a giudicare dall'esempio qui descritto, le prime 6 ore avranno già la seguente mappa - 111111111111111111110000= 16777152 (specificato 6 ultimi caratteri bitmap).
Oppure c'è stato un errore nel testo e l'autore intendeva le ultime 6 ore.
2. Di nuovo - Engineering - F8(Bin) - inserire la bitmap come Bin - F6(Dec) - il risultato che vogliamo.
Da Dec a Bin - Ingegneria - F6(Dec) - inserire bitmap come Dec (parametro) - F8(Bin) - decodificare bitmap.