Errori, bug, domande - pagina 1261
![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
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Le applicazioni mobili MetaTrader 4 e MetaTrader 5 per Android sono state aggiornate
pav36krs, 2014.12.20 10:21
I miei amici aiutano!!! Ho scaricato Metatrader, e non si avvia in 32 bit sul mio Windows 64 bit. Questa è la prima volta che ho incontrato un tale problema prima di installare Metatrader da alpha forex, e tutto ha funzionato bene.Errori nelle operazioni bitwise.
Otteniamo 4, che dovrebbe essere 0. Quanti anni di lucidatura di MT, e ancora questi errori.
E cosa, il compilatore non ha giurato su questo offset? Ne dubito.
Comunque, questo è quello che volevamo.
E cosa, il compilatore non ha giurato su questo offset? Ne dubito.
Comunque, questo è quello che volevamo.
Niente può accadere lì nei bit di ordine inferiore.
La documentazione MQL non dice nulla su uno spostamento ciclico, quindi si assume il solito spostamento. Ma vi ho trovato la seguente frase
Non è raccomandato spostare un numero di bit maggiore o uguale al numero di bit nella variabile che viene spostata, perché il risultato di questa operazione è indefinito.
Questo non è corretto. Non ci può essere un risultato indefinito nelle operazioni bitwise. È solo che il bit di partenza è memorizzato in un flag speciale o non memorizzato, ma questo non ha alcun effetto sull'algoritmo di spostamento, cioè i bit di destra sono comunque riempiti di zeri. Se è uno spostamento ciclico, questo deve essere esplicitamente dichiarato (anche se un normale spostamento compatibile con C++ sarebbe più corretto).
è possibile collegare un indicatore compilato dalla vecchia build come risorsa a un altro indicatore?
Non riesco a farlo funzionare in questo modo:
........
#resource "\\Indicators\\тфьу.ex4"
........
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
........
ExtLimeBuffer[i]=iCustom(_Symbol,0,"::Indicators\\тьфу.ex4",pr1,pr2,pr3,pr4,pr5,pr6,pr7,2,i);
........
return(rates_total);
}
il compilatore dice questo:
unknown resource type 'C:\Program Files\MT4\MQL4\Indicators\тфьу.ex4' тфьу1.mq4 10 1
La documentazione MQL non dice nulla su uno spostamento ciclico, quindi assume uno spostamento normale. Tuttavia, ho trovato una frase simile lì:
Questo non è corretto. Non ci può essere un risultato indefinito nelle operazioni bitwise. È solo che il bit di partenza è memorizzato in un flag speciale, o non memorizzato, ma questo non influenza l'algoritmo di spostamento, cioè i bit di destra sono comunque riempiti di zeri. Se si tratta di uno spostamento ciclico, è necessario specificarlo esplicitamente (anche se uno spostamento compatibile con plain++ sarebbe più corretto).
Può essere.
Un massimo di 5 bit per gli interi a 32 bit (o 6 bit per gli interi a 64 bit) deve essere coinvolto nelle operazioni di spostamento. Se un valore di spostamento richiede più di 5 (o 6) bit, processori diversi gestiscono questa situazione in modo diverso. Nella documentazione, abbiamo appena riflesso questo fatto dicendo che il risultato dell'operazione è indefinito.
...
il compilatore scrive così:
unknown resource type 'C:\Program Files\MT4\MQL4\Indicators\тфьу.ex4' тфьу1.mq4 10 1