Errori, bug, domande - pagina 1701
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
Ci sono pesci nei tikes?
Questo è quello che voglio scoprire.
Ha senso solo provarlo su qualche lmax. E anche questo è discutibile.
Avete provato i volumi, il sentimento, il vetro? Per me ha un sapore migliore. I miei trade preferiti sono sul nastro e sul vetro, ma non riesco a trovare nulla di simile sul forex.
Ha senso solo provarlo su qualche lmax. E questo è dubbio.
Avete provato i volumi, il sentimento, il vetro? Per me ha un sapore migliore. Il mio trading preferito è con Ribbon e Gauge, ma non c'è niente di simile sul forex.
Voglio provare lo scambio. In qualche modo mi è tutto chiaro finora cosa fare lì. E non si capisce perché non venga fatto anche sotto forma di indicatori.
Solo i bug mi rallentano.
Eseguo uno script come questo
e ottenere
DBL_MAX= 1.797693134862316e+308
IntegerToString(int(DBL_MAX) )= -2147483648
IntegerToString(uint(MathAbs(DBL_MAX) ) )= 0
------
Domanda: perché otteniamo effettivamente un numero negativo quando convertiamo un numero doppio positivo in int?
Ho compilato una domanda, anche se sono stanco di farlo così spesso.
L'autore dell'indicatore ha deliberatamente codificato il link a se stesso.
Si può vietare questo "hack" o lasciarlo alla coscienza di chi lo usa.
Finora sei la prima persona a cui è stato impedito l'uso del terminale con questa caratteristica da diversi anni.
Quanti indicatori possono essere eseguiti in modalità inattiva e non ne abbiamo idea? Non c'è nessun controllo.
Non capisco bene il patetismo regolare nei vostri post. Chiaramente, non stiamo parlando di un problema massiccio o serio.
1) Solo deliberatamente, coscientemente si può scrivere un indicatore con il comportamento specificato. Chi ti fa scrivere un codice del genere ed eseguire un indicatore del genere? O eseguite altri programmi senza conoscere il loro codice?
2) Non è più maligno di molti altri indicatori con errori logici meno evidenti.
3) Quando si riavvia il terminale, l'indicatore si scarica e non riparte. Se si avvia accidentalmente un tale indicatore - riavviare il terminale. E non eseguirlo più.
Dovrei avere la possibilità di cancellarmi (l'indicatore) nel caso in cui venga lanciata almeno una copia, anche se ha parametri di input diversi. Per fare questo avevo bisogno di capire la maniglia stessa. Purtroppo, in quel momento non sapevo ancora che in MQL è impossibile nel 100% dei casi. Ho quindi deciso di provare un trucco poco intelligente.
Ho esaminato tutte le maniglie. Se coincide con il random che ho scritto nel mio indicatore prima di controllare, significa automaticamente che il manico appartiene a me e posso cancellarmi, se necessario.
È da queste considerazioni che è stato scritto un codice così innocuo, che ha causato una reazione così ambigua, ma ovviamente negativa degli sviluppatori. Vedete, non potete farlo. Che cosa hai fatto? Bene, ho letto il valore del mio buffer attraverso il CopyBuffer. È illegale?!
Fate sapere alla comunità che potete creare in tal modo un'esecuzione incontrollabile in background di qualsiasi codice anche sul terminale senza grafici. Qui c'è una piccola punta di piedi. Se considerarlo o meno un bug è probabilmente una questione di terminologia. La mia comprensione è che gli sviluppatori non sono in grado di cambiare nulla a livello architettonico qui. Ecco perché c'è tanta rabbia. Non posso spiegare questa reazione in nessun altro modo.
Nessuno dirà niente comunque. Un tale rastrellamento sarebbe ben riflesso nell'Aiuto.
O è ancora lo stesso.
Il tipo int ha una dimensione di 4 byte. Il tipo doppio ha una dimensione di 8 byte. Non dovete fare così - cercare di ottenere 4 byte da 8 byte - potreste finire con un nonsenso - specialmente in questo caso, quando il valore DBL_MAX si trova al di fuori dei valori int.
Se prendete il numero double d=123456.1258 e cercate di ottenere int da esso - allora il numero funzionerà, ma ancora, non potete farlo in questo modo.
Il tipo int ha una dimensione di 4 byte. Il tipo doppio ha una dimensione di 8 byte. Non dovete fare così - cercare di ottenere 4 byte da 8 byte - potreste finire con un nonsenso - specialmente in questo caso, quando il valore DBL_MAX si trova al di fuori dei valori int.
Se prendete il numero double d=123456.1258 e cercate di ottenere int da esso, il numero funzionerà, ma ancora non potete farlo.
Ok, come convertire correttamente il doppio in int con conservazione del segno (il numero non importa, se va fuori limite allora limitalo a int)
OK, come si fa a convertire correttamente il doppio in int con il segno intatto (il numero non è importante, se è fuori dal limite allora limitalo a int)?
Il tipo intero int ha una dimensione di 4 byte (32 bit). Il valore minimo è -2 147 483 648, il valore massimo è 2 147 483 647. Sulla base di questo,
vedere cosa viene restituito:
Penso che il principio sia chiaro.