Valeriy Yastremskiy #: Registra l'ultimo e il penultimo asc e bid e conta la differenza.
Lo capisco. Ciò che è importante per me è la coerenza. Finora il mio pensiero è il seguente: dal momento che è una posizione, si dovrebbe fare riferimento ad essa. Per questo, cominciamo ad enumerare tutte le posizioni attraverso il ciclo, poi otteniamo il suo biglietto e poi il tempo di apertura della posizione. Dichiarare array con tick MqlTick ticks[ ]. Contando un certo tempo dal tempo di apertura della posizione, scrive i tick nell'array di tick attraverso CopyTickRange. Poi applica ArraySetAsSeries all'array di tick, se possibile. E applica la differenza tra l'ultima e la penultima offerta e domanda, che hai descritto, agli ultimi due tick di quella matrice. Ma finora questo è solo un pensiero, forse qualcuno lo ha già fatto e ha un esempio. Con rispetto.
Dovreste sempre lasciare uno spazio disponibile prima dell'intervallo richiesto in modo che gli indicatori siano calcolati correttamente, invece di partire da zero.
E affinché i nuovi arrivati non facciano domande sulla mancanza di certi dati.
Come si fa a "lasciare uno spazio prima dell'intervallo richiesto"? Sto facendo un test di Expert Advisor, che usa un indicatore personalizzato dal 2021, nell'EA reale questo indicatore è tracciato correttamente in questo timeframe, ma nel test sembra che parta da zero e quindi i risultati sono errati...
Wizard #: Questo lo capisco. La coerenza è importante per me. Finora il mio pensiero è il seguente: dato che è una posizione, dovremmo affrontarla. Per questo, iniziamo a fare il looping di tutte le posizioni, poi otteniamo il suo ticket e quindi il tempo di apertura della posizione. Dichiarare array con ticks MqlTick ticks[ ]. Contando un certo tempo dal tempo di apertura della posizione, scrive i tick nell'array di tick attraverso CopyTickRange. Poi applica ArraySetAsSeries all'array di tick, se possibile. E applica la differenza tra l'ultima e la penultima offerta e domanda, che hai descritto, agli ultimi due tick di quella matrice. Ma finora questo è solo un pensiero, forse qualcuno lo ha già fatto e ha un esempio. Con rispetto.
Per MT4 è semplice. Lì, l'apertura dell'ordine è legata a un tick, l'utente non vede come la posizione viene riempita. Ma in 5 lo fa. Lui o lei vede le transazioni quando la posizione è occupata. E una posizione può essere riempita più di una volta. Questo è solo un commento. Ma la logica è corretta. Anche se, per me, sarebbe più corretto farlo in base all'inseguimento. Dopo l'attivazione di un ordine pendente o di un ordine a mercato, al momento di ottenere una risposta sulla posizione con il biglietto d'ordine, ottiene i dati sul prezzo e l'ora della sua apertura e cerca il tick più vicino per prezzo e ora. Il problema è che la risposta può arrivare solo al prossimo tick o dopo un tick. Non c'è nessuna garanzia.
Dovreste sempre lasciare uno spazio disponibile prima dell'intervallo richiesto in modo che gli indicatori siano calcolati correttamente, invece di partire da zero.
E affinché i nuovi arrivati non facciano domande sulla mancanza di certi dati.
Se si potesse specificare negli indicatori qualcosa come #property indicator_bars_need sarebbe semplicemente favolosamente comodo.
e il tester prenderebbe semplicemente il valore più grande, se questo parametro è presente in diversi indicatori.
C'è una situazione opposta quando si ha bisogno di più storia possibile, un anno non è sufficiente. Ecco perché il mio ultimo cliente era sorpreso che il tester raccogliesse così pochi estremi storici (secondo l'algoritmo dell'indicatore).
Come "lasciare uno spazio prima del timeframe richiesto"? Sto testando un Expert Advisor che usa un indicatore personalizzato dal 2021, l'indicatore reale è disegnato correttamente per questo timeframe, ma nel test sembra che parta da zero e quindi i suoi risultati non sono corretti.
C'è qualcosa di poco chiaro nel tester
Chiedo la storia di 1 mese, si carica per "100" anni.
Perché?
C'è qualcosa di poco chiaro nel tester
Chiedo la storia di 1 mese, si carica per "100" anni.
Per quale motivo?
Non cento anni, solo un anno.
Dovreste sempre lasciare lo spazio disponibile prima dell'intervallo richiesto affinché gli indicatori calcolino correttamente e non partano da zero.
E in modo che i nuovi arrivati non facciano domande sulla mancanza di questo o quel dato.
Registra l'ultimo e il penultimo asc e bid e conta la differenza.
Non cento anni, ma solo 1 anno.
Dovreste sempre lasciare uno spazio disponibile prima dell'intervallo richiesto in modo che gli indicatori siano calcolati correttamente, invece di partire da zero.
E affinché i nuovi arrivati non facciano domande sulla mancanza di certi dati.
Come si fa a "lasciare uno spazio prima dell'intervallo richiesto"? Sto facendo un test di Expert Advisor, che usa un indicatore personalizzato dal 2021, nell'EA reale questo indicatore è tracciato correttamente in questo timeframe, ma nel test sembra che parta da zero e quindi i risultati sono errati...
Questo lo capisco. La coerenza è importante per me. Finora il mio pensiero è il seguente: dato che è una posizione, dovremmo affrontarla. Per questo, iniziamo a fare il looping di tutte le posizioni, poi otteniamo il suo ticket e quindi il tempo di apertura della posizione. Dichiarare array con ticks MqlTick ticks[ ]. Contando un certo tempo dal tempo di apertura della posizione, scrive i tick nell'array di tick attraverso CopyTickRange. Poi applica ArraySetAsSeries all'array di tick, se possibile. E applica la differenza tra l'ultima e la penultima offerta e domanda, che hai descritto, agli ultimi due tick di quella matrice. Ma finora questo è solo un pensiero, forse qualcuno lo ha già fatto e ha un esempio. Con rispetto.
Per MT4 è semplice. Lì, l'apertura dell'ordine è legata a un tick, l'utente non vede come la posizione viene riempita. Ma in 5 lo fa. Lui o lei vede le transazioni quando la posizione è occupata. E una posizione può essere riempita più di una volta. Questo è solo un commento. Ma la logica è corretta. Anche se, per me, sarebbe più corretto farlo in base all'inseguimento. Dopo l'attivazione di un ordine pendente o di un ordine a mercato, al momento di ottenere una risposta sulla posizione con il biglietto d'ordine, ottiene i dati sul prezzo e l'ora della sua apertura e cerca il tick più vicino per prezzo e ora. Il problema è che la risposta può arrivare solo al prossimo tick o dopo un tick. Non c'è nessuna garanzia.
Non cento anni, ma solo 1 anno.
Dovreste sempre lasciare uno spazio disponibile prima dell'intervallo richiesto in modo che gli indicatori siano calcolati correttamente, invece di partire da zero.
E affinché i nuovi arrivati non facciano domande sulla mancanza di certi dati.
Se si potesse specificare negli indicatori qualcosa come #property indicator_bars_need sarebbe semplicemente favolosamente comodo.
e il tester prenderebbe semplicemente il valore più grande, se questo parametro è presente in diversi indicatori.
C'è una situazione opposta quando si ha bisogno di più storia possibile, un anno non è sufficiente. Ecco perché il mio ultimo cliente era sorpreso che il tester raccogliesse così pochi estremi storici (secondo l'algoritmo dell'indicatore).
Se si potesse specificare qualcosa come #property indicator_bars_need negli indicatori, sarebbe davvero fantastico.
e il tester prenderebbe solo il valore più alto, se questo parametro è presente in diversi indicatori.
La proprietà non può adattarsi ai parametri. Non è più favoloso)
La proprietà non può adattarsi ai parametri. Non è più favoloso ) )
))
Il punto della mia proposta è di permettere di indicare quanta storia è richiesta nell'indicatore per i calcoli.
Come "lasciare uno spazio prima del timeframe richiesto"? Sto testando un Expert Advisor che usa un indicatore personalizzato dal 2021, l'indicatore reale è disegnato correttamente per questo timeframe, ma nel test sembra che parta da zero e quindi i suoi risultati non sono corretti.