Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1173
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
MQL5 iBarShift
Secondo la documentazione di mql5, la funzione iBarShift restituisce un valore di tipo int.
int#
Il tipo int ha una dimensione di 4 byte (32 bit). Il valore minimo è -2 147 483 648, il valore massimo è 2 147 483 647.
Il mioiBarShift non vuole dare un valore maggiore di 99999
Disegno una linea di tendenza sul grafico, il seguente script ottiene il tempo di inizio della linea e produce il numero di barra di quel tempo.
Quando la linea viene spostata indietro nella storia ad un certo punto il valore di uscita si ferma a 99999, e se
boolexact=false// modo
cambiarlo in true, stampa -1, e GetLastError = 0
Cosa c'è che non va?
Ho provato diversi grafici di diversi broker, il tempo dalla linea si legge correttamente, se cambio PERIOD_M1 a M5, per esempio, allora ho bisogno di spostarmi più avanti nella storia per raggiungere 99999
MQL5 iBarShift
Secondo la documentazione di mql5, la funzione iBarShift restituisce un valore di tipo int.
int#
Il tipo int ha una dimensione di 4 byte (32 bit). Il valore minimo è -2 147 483 648, il valore massimo è 2 147 483 647.
Il mioiBarShift non vuole dare un valore maggiore di 99999
Disegno una linea di tendenza sul grafico, il seguente script ottiene il tempo di inizio della linea e produce il numero di barra di quel tempo.
Quando la linea viene spostata indietro nella storia ad un certo punto il valore di uscita si ferma a 99999, e se
boolexact=false// modo
cambiarlo in true, stampa -1, e GetLastError = 0
Cosa c'è che non va?
Ho provato diversi grafici di diversi broker, il tempo dalla linea si legge correttamente, se cambio PERIOD_M1 a M5, per esempio, ho bisogno di spostarmi ulteriormente nella storia per raggiungere 99999.
Prima di tutto controlla il numero massimo di barre nelle impostazioni del terminale.
Prima controlla il numero massimo di barre nelle impostazioni del terminale.
Grazie!
Era 10000, l'ho cambiato in illimitato e ha funzionato.
Non è una cosa ovvia però...
Aiuto nella creazione di maniglie
Ecco come stanno le cose
Domanda: Da quali parametri viene assegnato il numero (cifre) di una maniglia?
Può essere diverso dopo aver riavviato il terminale?
Può essere diverso dopo una reinizializzazione del grafico?
In quali casi può cambiare?
Aiuto nella creazione di maniglie
Ecco come stanno le cose
Domanda: Da quali parametri viene assegnato il numero (cifre) di una maniglia?
Può essere diverso dopo aver riavviato il terminale?
Può essere diverso dopo una reinizializzazione del grafico?
In quali casi può cambiare?
Se c'è solo un indicatore, ha sempre un manico di 10. Ogni successiva è uguale alla precedente+1 e tutto dipende dall'ordine in cui le maniglie sono state create. Può cambiare solo se uno dei precedenti ottiene un errore.
Se avete un solo indicatore, ha sempre una maniglia di 10. Ogni successivo è uguale al precedente+1 e tutto dipende dall'ordine in cui le maniglie sono state create. Può cambiare solo se uno dei precedenti ottiene un errore.
Capisco, è più o meno compreso. Grazie!
Aiuto nella creazione di maniglie
C'è una cosa come questa
Domanda: Da quali parametri viene assegnato il numero (cifre) di una maniglia?
Può essere diverso dopo aver riavviato il terminale?
Può essere diverso dopo una reinizializzazione del grafico?
In quali casi può cambiare?
Risposte trovate
Per favore consigliate come passare correttamente un array multidimensionale in una funzione.
Se specifico semplicemente MyFun( &Mas[][] ) nell'intestazione, il compilatore genera un errore all'accesso a un elemento dell'array Mas[j][k] nel corpo della funzione... Ma come?
Non sembra esserci alcun problema con quelli monodimensionali.
Per favore consigliate come passare correttamente un array multidimensionale in una funzione.
Se specifico semplicemente MyFun( &Mas[][] ) nell'intestazione, il compilatore genera un errore all'accesso a un elemento dell'array Mas[j][k] nel corpo della funzione... Ma come?
Non sembra esserci alcun problema con gli array monodimensionali.
Le dimensioni del secondo e del prossimo array non possono essere dinamiche. Di conseguenza, deve essere MyFun(int &Mas[][7]) dichiarato come un array, per esempio, int Mas[][7]; quindi dovrebbe essere ricevuto.