Servicedesk: pigrizia, autismo o mancanza di volontà di ammettere gli errori? Completare i grafici con candele non native.

 

Ho contattato il Service Desk per un problema con l'aggiunta di candele più alte ai grafici a basso TF quando non c'è storia sui TF inferiori. Significa che quando andiamo all'inizio della storia nel grafico M1, vediamo le candele non da M1, ma da D1, o anche da W1. A causa di questa adesione, la funzione SeriesInfoInteger(Symbol(), PERIOD_M1,SERIES_FIRSTDATE,x) restituisce non la data in cui termina la storia M1, ma la data della prima barra al di fuori del timeframe, cioè il timeframe specificato non influenza il risultato. Quando mi è stato chiesto, ho ricevuto una scusa che è conveniente per gli utenti e la data limite per ogni timeframe di ogni simbolo dovrebbe essere impostata manualmente. Scusate, ma questa funzione non dovrebbe essere eseguita dalla funzione SeriesInfoInteger(Symbol(), PERIOD_M1,SERIES_FIRSTDATE,x), e in che modoSERIES_FIRSTDATE differiscedaSERIES_FIRSTDATEnel TF M1 specificatose il risultato è lo stesso?

Cos'è questa sciocchezza? Chi e perché è conveniente? Nessuno vuole vedere candele W1 su grafici M1. Beh, tranne che per i masochisti...

Arrivo alla seguente conclusione: o gli sviluppatori sono autistici (vivono nel loro mondo, dove il sopra e il sotto sono la norma, o meglio non la norma, ma il lavoro è 5+), o sono troppo pigri per aggiustarlo, o il principio del "Come mai non sbagliamo mai, siamo tutti buoni". Beh, ci sono anche delle varianti: scherzano, non sanno come risolvere il problema.

Qui ci sono gli screenshot, si può vedere chiaramente la linea di unione della storia dei diversi TF:

https://charts.mql5.com/1/26/eurusd-d1-metaquotes-software-corp-7.png

https://charts.mql5.com/1/26/eurusd-h4-metaquotes-software-corp.png

https://charts.mql5.com/1/26/eurusd-h1-metaquotes-software-corp-9.png

https://charts.mql5.com/1/26/eurusd-m30-metaquotes-software-corp-2.png

https://charts.mql5.com/1/26/eurusd-m15-metaquotes-software-corp-6.png

domanda 1:

Versione e bit rate del terminale

Costruire 712 x86

Descrizione del problema.

I dati storici di piccoli timeframes sono continuati dai dati storici di timeframes più grandi. Significa, per esempio, che la storia di EURUSD su M1 termina il ~04.01.1999, e alla sua sinistra, attaccato al grafico M1 c'è il grafico D1 per il periodo fino al 04.01.1999.

Potete vederlo negli screenshot allegati. A causa di questo, la funzione SeriesInfoInteger con il parametro SERIES_FIRSTDATE funziona in modo errato. La funzione restituisce la prima data dell'intera storia (compresi i timeframe D1, W1 e MN1) invece della prima data del periodo simbolo.

La sequenza di azioni

Scorrere il grafico fino all'inizio della storia

Il risultato ottenuto

Continuazione del grafico con dati storici da timeframe più grandi.

Risultato atteso

Restrizione del grafico alla fine dei dati storici sul timeframe dato.

Informazioni aggiuntive

Richiesta 2:

Versione del terminale e bit rate

costruire 712 x86

Descrizione del problema

Descrizione nella documentazione:

NUMERO DI BARRE DELLA SERIE.

Numero di barre per periodo-simbolo al momento

lungo

DATA_PRIMA_SERIE

La prima data per il periodo di simbolo corrente

datetime

A causa dell'adesione della storia per il TF inferiore, nel caso dell'assenza di storia per un determinato periodo di tempo sul TF inferiore, e la presenza di storia per lo stesso periodo sul TF maggiore, il grafico, per esempio, M1 mostra candele dal grafico di D1.

Si sta preparando una soluzione a questo problema? C'è qualche soluzione di questo problema al momento, oltre alla limitazione manuale?

Sequenza di azioni

Utilizzando queste funzioni

Il risultato ottenuto

SERIES_BARS_COUNT su timeframe bassi (fino a D1) restituisce il numero di candele (barre), appartenenti al simbolo e al timeframe, più il numero di candele del timeframe più grande più vicino, per il quale sono disponibili i dati storici

SERIES_FIRSTDATE sui timeframe bassi (fino a D1) restituisce la data di apertura della prima candela (barra) nella storia.

Il risultato atteso

SERIES_BARS_COUNT restituisce il numero di candele (barre) appartenenti a un particolare simbolo e timeframe

SERIES_FIRSTDATE restituisce la data della prima candela (barra) aperta, che appartiene a un simbolo e a un timeframe specificato.

Più informazioni

...

Squadra di supporto2012.11.20 14:38
Stato:ApertoChiuso

Le funzioni funzionano correttamente.

Quello che vedi è una conseguenza della tua precedente richiesta di qualità della storia.

La storia è quella che è. Non abbiamo una storia minuta e profonda. Per comodità, la storia più profonda è rappresentata da barre giornaliere.

Se non è conveniente per voi, limitate l'uso di questa cronologia manualmente.

 
FiftyStars: Contattato servicedesk...

È questa la domanda che hai sollevato un mese fa? https://www.mql5.com/ru/forum/1111/page878#comment_344461

CinquantaStelle:

Squadra di supporto2012.11.20 14:38

...La storia è quella che è. Non abbiamo una storia minuziosa. Per comodità, la storia più profonda è rappresentata da barre giornaliere.

Se non è conveniente per voi, limitate l'uso di questa cronologia manualmente.

Il succo della risposta era già noto all'epoca(https://www.mql5.com/ru/forum/1111/page878#comment_344518):

Ma ho paura che (la risposta) sarà qualcosa del genere: "Il programmatore stesso può calcolare la data limite e limitare la profondità della storia richiesta.

 
FiftyStars:

Ho contattato il Service Desk per un problema con l'aggiunta di candele più alte ai grafici a basso TF quando non c'è storia sui TF inferiori. Cioè quando andiamo all'inizio della storia nel grafico M1, vediamo le candele non da M1, ma da D1, o anche da W1. A causa di questa adesione, la funzione SeriesInfoInteger(Symbol(), PERIOD_M1,SERIES_FIRSTDATE,x) restituisce non la data in cui termina la storia M1, ma la data della prima barra al di fuori del timeframe, cioè il timeframe specificato non influenza il risultato.

...


SERIES_BARS_COUNT restituisce il numero di candele (barre) appartenenti a un certo simbolo e timeframe

SERIES_FIRSTDATE restituisce la data della prima candela (barra) aperta, che appartiene ad un certo simbolo e timeframe.

Più informazioni

...

Squadra di supporto2012.11.20 14:38
Stato:ApertoChiuso

Le funzioni funzionano correttamente.

Quello che vedi è una conseguenza della tua precedente richiesta di qualità della storia.

La storia è quella che è. Non abbiamo una storia minuta e profonda. Per comodità, la storia più profonda è rappresentata da barre giornaliere.

Se non è conveniente per voi, limitate l'uso di questa cronologia manualmente.

Questa è una scusa franca, il programmatore non può prevedere tutte le varianti della storia che morde, quindi non può prescrivere la funzione di ricerca della prima data del TF. Oggi sono così, e domani avranno nuovi colpi di scena, e all'insaputa di MQ, per esempio spacciando rovinerà qualcosa.

E perché ne abbiamo bisogno quando c'è una funzione standard, ma il fatto che dia il tempo dell'altro ieri è già un vero e proprio bug.

Ecco il nocciolo del problema per il programmatore:

Dobbiamo cercare le varianti dei criteri secondo i quali questa barra può essere considerata la prima barra del TF selezionato, e tutte quelle precedenti - l'aggiunta dal TF più vecchio. Ci possono essere dei vuoti nelle barre come una barra mancata (questa è una diretta conseguenza del formato di registrazione delle barre scelto da MQ) o dei vuoti nelle barre come un fine settimana/festivo. E in una tale cacofonia di segni non è chiaro come determinare che questo bar è quello giusto.

Qual è l'essenza del problema per MQ: (se intendiamo che lo risolveranno)

Quando la storia di cross-linking cripta in un file i dati sui punti di convergenza (non sono molti, un massimo di 21 dal numero di TF, in pratica, ci sono 2-3), il problema è risolto. Poi, scrivete una funzione per leggere queste informazioni protette e mostrarle all'utente tramite richiesta.

 
Per vostra comodità, la storia più profonda è rappresentata da barre giornaliere.

Grazie, non decidere per i commercianti.

Che testa fresca è stata quella di fare una tale mossa dopo venerdì - per inserire le barre più vecchie nel timeframeM1 ?

Chi vi ha dato il diritto di invertire molti anni di principi consolidati?



Se non vi sentite a vostro agio, limitate l'uso di questa storia manualmente.

ma come?
 
sergeev:



Grazie, non decidere per i commercianti.

Che testa fresca è stata quella di fare una tale mossa dopo venerdì - per inserire barre senior nel timeframeM1 ?

Chi vi ha dato il diritto di rovesciare molti anni di principi stabiliti?



ma come?

Alex, non esagerare, l'incollaggio dei TF era necessario per calcolare correttamente tutti gli altri TF, dopo che hanno deciso di calcolare tutti i TF da M1.

Se vi ricordate, ci permetteva di calcolare fino a 21 TF (compresi quelli non standard).

Non è stato detto più di una volta. Non torneremo al vecchio sistema di immagazzinare ogni TF separatamente, capite.

Ma il fatto che l'implementazione aggiunga più problemi per i programmatori è un fatto. E la domanda è semplice da risolvere, ma no, sappiamo meglio di cosa hai bisogno :(

 

quindi è questo che mi chiedo.

Если вам это не удобно - ограничивайте использование этой истории вручную.

Come?
 
Urain:

Alex non esagerare, l'incollaggio dei TF era necessario per calcolare correttamente tutti gli altri TF, dopo la decisione di calcolare tutti i TF da M1.

Si risolve impostando l'identificatore nella storia e quando si legge se i dati per la barra non appartengono a M1 allora non si emette su M1, non appartengono a M5 allora non si emette su M5. Oppure si....scrivere in FirstDate la data di fusione delle barre del periodo corrente con le barre del periodo superiore e l'utente avrà una reale possibilità di sapere da quale data iniziare l'elaborazione per non prendere le barre più vecchie.
 
FiftyStars:
Si risolve impostando l'identificatore nella cronologia e quando si legge se i dati della barra non appartengono a M1, allora non si emette su M1, non appartengono a M5, allora non si emette su M5. Oppure sì... dovremmo scrivere la data di unione delle barre del periodo corrente con quelle del periodo superiore in FirstDate e l'utente avrà la possibilità reale di sapere da quale data iniziare l'elaborazione per non prendere le barre più vecchie.
L'ho scritto sopra, sono troppo pigro per premere di nuovo la tastiera.
 

La situazione è certamente idiota.

Non è possibile disegnare tali grafici, né restituire tali valori dalle funzioni.

Se vuoi costruire da M1, costruiscilo. Non abbastanza M1 - capire come uscirne, ma non a nostre spese.

(tutti indirizzati, ovviamente, a MQ)

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5
 
Porca puttana.
 

Sono d'accordo, è spazzatura.

E se ci sono separatori di punti, è una bellezza.

i miei occhi!

E dovete attorcigliarlo nel codice ((.