Se qualcuno ha un problema, si prega di finalizzare AdaptiveExtrapolator v1.1 - pagina 4

 
diamondyar писал(а) >>

l'indicatore non ridisegna con l'arrivo di una nuova candela, ma comunque ridisegna quando il grafico viene aggiornato...

...e la vecchia linea rossa della prospettiva scompare e ne appare una nuova...

Quindi, qualcuno potrebbe essere in grado di far ridisegnare l'indicatore con l'arrivo di una nuova candela ma il vecchio pezzo di movimento prospettico (quello rosso) rimarrà anche sul grafico. Darà un ventaglio di curve con grappoli e incroci di conseguenza. Penso che sarà un risultato molto interessante...

Se qualcuno raccoglie la sfida, tenete a mente che sarebbe auspicabile essere in grado di disabilitare questa funzione + avere la possibilità di impostare (cioè, limitare a piacere) il numero di linee di prospettiva morte sul grafico.

Penso che qualcuno sarà sicuramente interessato all'idea... )))))

forse qualcuno lo commenterà e lo farà))))

 

formare una matrice di dati interna, spostare la matrice di 1 con l'arrivo di una nuova candela, calcolare questa candela e

Il valore è scritto all'inizio della nuova matrice... Per la visualizzazione questa matrice è inviata al buffer di visualizzazione...

extern int  Counter   = 1000;
// Массивы отображения данных 
double FxView[];
// рабочие переменные и массивы
int TimeSave;
int  TimeCurr;
double  TimeBuf[];

void Init()
{
     SetIndexBuffer(0, FxView);
      TimeSave=Time[ Counter];
      ArrayResize( TimeBuf, Counter);
     ArrayInitialize( TimeBuf,EMPTY_VALUE);
     return;
}

void done()
{
      ArrayResize( TimeBuf,0);
     return;
}

void Start()

{

  TimeCurr=Time[0];
  CalcCount=iBarShift(NULL,0, TimeCurr)-iBarShift(NULL,0, TimeSave);
// смещение данных
for (int Ix= Counter-1; Ix>= CalcCount; Ix--)
{
    TimeBuf[ Ix+1]= TimeBuf[ Ix];
}


...

расчеты на кол- ве данных CalcCount

for ( Ix= CalcCount-1; Ix>=0; Ix--)
{
    TimeBuf[ Ix]= functionCalculated();
}
TimeSave=TimeCurr;
// отображение полученого массива
ArrayCopy( FxView, TimeBuf,0,0, Counter);

  return;

}

 
forte928 писал(а) >>

formare una matrice di dati interna, spostare la matrice di 1 con l'arrivo di una nuova candela, calcolare questa candela e

...si scrive il valore all'inizio del nuovo array... e si invia l'array al buffer di visualizzazione per la visualizzazione...

Grazie! Capisco la logica dell'azione in linea di principio. So che non è troppo difficile...

... Ma le azioni che non posso fare a causa della completa mancanza di conoscenza del linguaggio di programmazione.

... Pertanto, la richiesta è in realtà uno -------- dare una soluzione pronta, se possibile, sotto forma di un indicatore che è sufficiente per compilare e tutti ...

...Grazie in anticipo... ----

 

Lascia l'indicatore che ti serve per finirlo nella posta... lo farò venerdì...

 
forte928 писал(а) >>

Lascia l'indicatore che ti serve per finirlo nel tuo messaggio personale... lo farò venerdì.

Sto parlando del tuo indicatore -------- che è l'argomento di questo thread, ------ non è chiaro?
 

Il problema con questo indicatore è che i dati che visualizza cambiano costantemente.

l'indicatore ripete indenticamente i punti che attraversa ad un numero inferiore di armoniche cambia i suoi punti di calcolo ...

Se guardate lo spostamento a sinistra dinamicamente usando lo script, è sicuramente osservato...

Se vuoi vedere uno spostamento a sinistra dinamicamente usando lo script, vedrai esattamente la stessa cosa...

Se volete bufferizzare i dati calcolati e calcolare solo quelli che si sono aggiornati

Sto lanciando un'implementazione di uno degli indicatori geGapBuff, che è progettato per bufferizzare i dati calcolati in precedenza

e calcolare solo una piccola parte dei nuovi dati...

File:
gegapbuff.mq4  9 kb
 
forte928 писал(а) >>

Il problema con questo indicatore è che i dati che visualizza cambiano costantemente.

l'indicatore ripete indenticamente i punti che attraversa ad un numero inferiore di armoniche cambia i suoi punti di calcolo ...

Se guardate lo spostamento a sinistra dinamicamente usando lo script, è sicuramente osservato...

Se vuoi vedere uno spostamento a sinistra dinamicamente usando lo script, vedrai esattamente la stessa cosa...

Se volete bufferizzare i dati calcolati e calcolare solo quelli che si sono aggiornati

Vi lancio un'implementazione di uno degli indicatori geGapBuff

e calcolare solo una piccola parte dei nuovi dati...

...evidentemente non ci capiamo... )))))

non è difficile da capire ...----- Sull'ultimo tick della candela abbiamo un quadro prospettico ------ è rosso --- per questa candela è l'ultimo cambiamento di "futuro" per il prezzo...

... In qualche modo salviamo questa curva sul grafico proprio dove era rilevante ------ congelarla ---... Poi arriva il primo tick di una nuova candela ------- e "l'indicatore live" si sposta sulla candela corrente ---- e vivrà e si agiterà su di essa fino all'ultimo tick della candela corrispondente -------...

...abbiamo già 2 curve "future" rosse morte sulla barra 1 e sulla barra 2 + una curva viva sulla barra 0.... ------- e così via...

...è esattamente quello che intendevo. Vedi?

 

Ne capisco la metà, ma più precisamente devi solo descrivere l'algoritmo...

iniziare con una descrizione che ha tre (o due) barre e come è in sequenza e il processo di attuazione è poi più

più veloce...

- inizio della terza barra :

- la fine della terza barra :

-risultato richiesto :

- inizio della seconda barra :

- fine della seconda barra :

-risultato richiesto :

P.S. Se due persone entrano in una stanza, la vedranno in modo diverso... quindi

non c'è niente di complicato nel fatto che semplicemente non ci capiamo un po'...

ci vogliono cose semplici per descrivere un sistema complesso...

 
forte928 писал(а) >>

Ne capisco la metà, ma più precisamente devi solo descrivere l'algoritmo...

iniziare con una descrizione che ha tre (o due) barre e come è in sequenza e il processo di attuazione è poi più

più veloce...

- inizio della terza barra :

- la fine della terza barra :

-risultato richiesto :

- inizio della seconda barra :

- fine della seconda barra :

-risultato richiesto :

P.S. Se due persone entrano in una stanza, la vedranno in modo diverso... quindi

non c'è niente di complicato nel fatto che semplicemente non ci capiamo un po'...

ci vogliono cose semplici per descrivere un sistema complesso...

...)))) è chiaro che non si capisce niente... ))))0

Allora va così:

1. Ho capito bene che l'indicatore è renderizzato su un grafico, che è effettivamente ri-renderizzato ad ogni tick di una candela, ed è composto da due parti: passato-blu e futuro-rosso. --------- il divisore passato e futuro ----- è la barra corrente, durante la sua vita si osserva il ri-rendering locale dell'indicatore...?

2. Quando appare una nuova candela ------, si tratta di un re-bridging globale, cioè il confine tra il passato e il futuro è spostato a destra?

3. Prima di time=open(0), c'è un indicatore sul grafico sotto forma di ultimo ritracciamento?

...tutto ciò di cui hai bisogno ------ è di catturare la transizione ad una nuova barra, cioè prima che l'indicatore appaia sulla candela numero 0, subito dopo il time=open(0) -- devi salvare l'immagine dell'indicatore in qualche buffer ------ per poterla visualizzare in forma statica ------ e allo stesso tempo visualizzare i valori attuali per la candela zero sul grafico. Cioè, il grafico dovrebbe avere dei pezzi rossi di indicatore corrente per i valori di kloz(1), kloz(2), kloz(3), kloz(4).....----- sono congelati e non si ridisegnano più, e ci dovrebbe essere un indicatore dinamico live sulla barra corrente con ridisegni...

...postate quali di questi hanno senso per voi e quali no))))))0

 

Non ne è uscito niente di utile...

La linea gialla è un array statico di dati...

File: