ObjectSetDouble' - nessuno degli overload può essere applicato alla chiamata di funzione
'ObjectSetInteger' - nessuno degli overload può essere applicato alla chiamata di funzione
Credo di aver capito. In MT5 dovete specificare chiaramente tutti e tre ENUM_OBJECT_PROPERTY_STRING, ENUM_OBJECT_PROPERTY_INTEGER e ENUM_OBJECT_PROPERTY_DOUBLE. In MT4, basta specificare int, e tutto funzionerà.
In questo caso non so nemmeno se MQL5 è una soluzione migliore di MQL4.
Credo di aver capito. In MT5 tutti e tre gli ENUM_OBJECT_PROPERTY_STRING, ENUM_OBJECT_PROPERTY_INTEGER e ENUM_OBJECT_PROPERTY_DOUBLE devono essere chiaramente specificati. In MT4, basta specificare int, e tutto funzionerà.
boolObjectSetInteger(
long chart_id, // идентификатор графика string name, // имя int prop_id, // свойство long prop_value // значение
);
Dovrebbe essere.
boolObjectSetInteger(
long chart_id, // идентификатор графика string name, // имя ENUM_OBJECT_PROPERTY_INTEGER prop_id, // свойство long prop_value // значение
);
E in cinque con IndicatorBuffers quando il numero di buffer CURRENT non può essere impostato rigidamente tramite #property? Nei quattro non c'è nessuna restrizione con questo.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Perché questa classe si compila sotto MT4 ma non sotto MT5?
Se si rimuove la definizione di operatore in questa classe, inizia a compilare sotto MT5. Questo sembra essere un bug nel compilatore del 5.
Prova a sostituire
__MQL5__
a
__MQL5BUILD__.
Prova a sostituire
__MQL5__
a
__MQL5BUILD__
Per non essere confuso dalla compilazione condizionale, l'ho rimosso.
Cinque non possono compilare, quattro vanno bene.
Per evitare confusione con la compilazione condizionale, l'ho rimosso
Cinque non possono compilare, quattro vanno bene.
Qual è il registro degli errori?
Credo di aver capito. In MT5 dovete specificare chiaramente tutti e tre ENUM_OBJECT_PROPERTY_STRING, ENUM_OBJECT_PROPERTY_INTEGER e ENUM_OBJECT_PROPERTY_DOUBLE. In MT4, basta specificare int, e tutto funzionerà.
In questo caso non so nemmeno se MQL5 è una soluzione migliore di MQL4.
Hai passato un parametro non validoENUM_OBJECT_PROPERTY_STRING id come parametro di input ai metodi ObjectSetDouble e ObjectSetInteger.
In generale, non fate una libreria comune per due lingue, ci sarebbe più confusione.
Credo di aver capito. In MT5 tutti e tre gli ENUM_OBJECT_PROPERTY_STRING, ENUM_OBJECT_PROPERTY_INTEGER e ENUM_OBJECT_PROPERTY_DOUBLE devono essere chiaramente specificati. In MT4, basta specificare int, e tutto funzionerà.
Esattamente!
Ora compila su entrambe le piattaforme. C'è chiaramente un errore nella Guida 5.
Esattamente!
Ora compila su entrambe le piattaforme. C'è chiaramente un errore nell'aiuto dei cinque.
Qual è l'errore?
Per esempio, nella descrizione di ObjectSetInteger ora
Dovrebbe essere.
E in cinque con IndicatorBuffers quando il numero di buffer CURRENT non può essere impostato rigidamente tramite #property? Nei quattro non c'è nessuna restrizione con questo.