Errori, bug, domande - pagina 3035
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
Oggi è apparso un errore sulle pagine dei lavori freelance:
Browser Chrome. Cosa c'entra questo?
Grazie per il suo messaggio. Corretto
Non puoi controllare tu stesso?
Si può controllare, ma cosa c'è da controllare quando non c'è comprensione ))
E non è possibile simulare il momento in cui i dati non sono ancora pronti.
Voglio capire la teoria, come lavorare correttamente con OnCalculate in questo esempio.
Se i dati non sono pronti all'iterazione corrente del ciclo, il contatore limit+1 deve essere restituito o cosa?
È possibile controllarlo, ma cosa c'è da controllare quando non c'è comprensione)
E non è possibile simulare il momento in cui i dati non sono ancora pronti.
Voglio capire la teoria di come gestire correttamente OnCalculate in questo esempio.
Se i dati non sono pronti all'iterazione corrente del ciclo, il contatore limite+1 deve essere restituito o cosa?
Lo zero dovrebbe essere restituito.
4. Tutte le serie temporali sono elaborate in ordine, dalla più bassa alla più alta. Prima l'applicazione del tick, poi il calcolo di tutti gli indicatori creati su quella serie temporale. Se chiedete dati per lo stesso simbolo H1 da un indicatore che lavora su M1, non otterrete mai dati con un tick applicato. I dati saranno sempre una spunta indietro, non importa quali trucchi applichiate. Perché un thread per simbolo con l'elaborazione consecutiva dei timeframe.
La dichiarazione è un po' ambigua. Permettetemi di chiarire, per sicurezza. Sì, quando si elabora un tick, tutte le serie temporali sono elaborate in ordine sequenziale, dalla più giovane alla più vecchia. Ogni tick è aggiunto ai dati di ogni serie temporale, poi gli indicatori sono calcolati per ogni serie temporale, in ordine. In altre parole, per l'indicatore in OnCalculate(), i dati della serie temporale (tutti) sono certamente aggiornati, ma i dati degli indicatori dei timeframe più vecchi non sono ancora stati ricalcolati.
Alla prima richiesta, l'indicatore potrebbe non ricevere dati dal suo simbolo ma da un altro timeframe solo per una ragione - la serie temporale richiesta non è ancora stata costruita o è già stata distrutta dopo un certo tempo, quando non c'erano richieste.
Dopo una richiesta infruttuosa, basta inviare un comando al vostro grafico per aggiornarlo e terminare OnCalculate immediatamente. È garantito che OnCalculate sarà chiamato ed è garantito che le serie temporali necessarie saranno preparate entro questo tempo.
Questo è come usare un martello per catturare una mosca.
Come sapete, questo comando aggiorna tutti gli indicatori su tutti i grafici del simbolo in questione. Se avete diversi indicatori su diversi grafici dello stesso simbolo, potete facilmente ottenere una sorta di ciclo, perché ogni indicatore invierà il proprio comando ChartSetSymbolPeriod ().
Si potrebbe aggiungere un comando per aggiornare solo l'indicatore REMOTE?
Questo è simile all'uso di un martello per catturare una mosca.
Come sapete, questo comando aggiorna tutti gli indicatori su tutti i grafici del simbolo in questione. Se avete diversi indicatori su diversi grafici dello stesso simbolo, potete facilmente ottenere una sorta di loop, poiché ogni indicatore invierà il proprio comando ChartSetSymbolPeriod ().
Si potrebbe aggiungere un comando per aggiornare solo l'indicatore REMOTE?
Si può ottenere qualsiasi cosa se ci sono errori logici nel codice.
In realtà OnTick non è sincronizzato con OnCalculate dallo stesso simbolo. Teoricamente, OnTick può essere in ritardo e al suo inizio tutti gli indicatori su tutti i TF saranno calcolati?
Finora vedo la situazione opposta - gli indicatori non sono calcolati con un nuovo tick al momento dell'apertura della barra.
La dichiarazione è un po' ambigua. Permettetemi di chiarire, per sicurezza. Sì, quando si elabora un tick, tutte le serie temporali vengono elaborate in ordine, dalla più giovane alla più vecchia. Ogni tick è aggiunto ai dati di ogni serie temporale, poi gli indicatori sono calcolati per ogni serie temporale, in ordine. Significa che per l'indicatore in OnCalculate(), i dati della serie temporale (tutte le serie temporali) sono certamente aggiornati, ma i dati degli indicatori di timeframes superiori non sono ancora stati ricalcolati.
Cosa significa"calcolo degli indicatori su ogni timeframe, in ordine" cioè a seconda del"periodoENUM_TIMEFRAMES"?
intiCustom(
simbolo stringa,// nome del simbolo
ENUM_TIMEFRAMESperiodo,// period
string name// folder/user_name
...// elenco dei parametri di input dell'indicatore
);
E se ci sono due indicatori con lo stessoperiodo ENUM_TIMEFRAMESe uno è calcolato a partire dai dati di un altro, come garantire la correttezza del calcolo consecutivo?
Ho capito bene che se l'indicatore è calcolato(periodoENUM_TIMEFRAMES) su M1, allora quando richiede l'informazione OHLC riceverà l'informazione attuale sull'ultimo tick per qualsiasi TF superiore?
iSpread?
Vedo che è più o meno simile al valore di spread se si interrogano le barre in Symbols/Bars nel terminale.
Naturalmente questi valori non corrispondono ai valori reali dati da SYMBOL_SPREAD.
Perché una tale differenza? E cos'è uno spread così irreale mostrato coniSpread?
Cosa intendete per"calcolo degli indicatori su ogni serie temporale, in ordine" cioè in funzione del"periodoENUM_TIMEFRAMES"?
intiCustom(
simbolo stringa,// nome del simbolo
ENUM_TIMEFRAMESperiodo,// period
string name// folder/user_name
...// elenco dei parametri di input dell'indicatore
);
E se ci sono due indicatori con lo stessoperiodo ENUM_TIMEFRAMES, e uno di essi è calcolato sui dati di un altro, come garantire la correttezza di un calcolo consecutivo?
Questo è fornito dal terminale.
Ho capito bene che se l'indicatore è calcolato(periodoENUM_TIMEFRAMES) su M1, allora quando richiede l'informazione OHLC riceverà l'informazione attuale sull'ultimo tick per qualsiasi TF superiore in ogni caso?
Sì, esattamente così.