Parametro buffer_num di CopyBuffer

 

Ciao,vorrei chiedere un chiarimento sul parametro buffer_num della funzione CopyBuffer. Ad esempio, nell'indicatore MACD, la funzione è usata in questo modo:


if(CopyBuffer(ExtFastMaHandle,0,0,to_copy,ExtFastMaBuffer)<=0)

....

if(CopyBuffer( ExtSlowMaHandle,0,0,to_copy,ExtSlowMaBuffer)<=0)

     ....


La mia domanda è: perché buffer_num è messo a 0 in entrambi i casi?

La funzione OnInit() è definita nel modo seguente:

void OnInit()

  {

//--- indicator buffers mapping

   SetIndexBuffer(0,ExtMacdBuffer,INDICATOR_DATA);

   SetIndexBuffer(1,ExtSignalBuffer,INDICATOR_DATA);

   SetIndexBuffer(2,ExtFastMaBuffer,INDICATOR_CALCULATIONS);

   SetIndexBuffer(3,ExtSlowMaBuffer,INDICATOR_CALCULATIONS);

---

Mi sarei aspettato di trovare 2 e 3 come valori di buffer_num nelle due chiamate di CopyBuffer() che ho indicato sopra.


Grazie,

Alessandro

 
Alessandro purtroppo non si vede nulla (almeno io non vedo nulla) puoi ricontrollare per favore? 
 
Michele Catanzaro #:
Alessandro purtroppo non si vede nulla (almeno io non vedo nulla) puoi ricontrollare per favore? 
Non si vede nulla di quello che ho scritto?
 
Alessandro Davoli #:
Non si vede nulla di quello che ho scritto?
Tra una dichiarazione e l'altra vedo solo uno spazio bianco 
 
Michele Catanzaro #:
Tra una dichiarazione e l'altra vedo solo uno spazio bianco 

Provo a scriverla nuovamente

Ciao,vorrei chiedere un chiarimento sul parametro buffer_num della funzione CopyBuffer. Ad esempio, nell'indicatore MACD, la funzione è usata in questo modo:


if(CopyBuffer(ExtFastMaHandle,0,0,to_copy,ExtFastMaBuffer)<=0)
....
if(CopyBuffer( ExtSlowMaHandle,0,0,to_copy,ExtSlowMaBuffer)<=0)

     ....

La mia domanda è: perché buffer_num è messo a 0 in entrambi i casi?

La funzione OnInit() è definita nel modo seguente:

void OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,ExtMacdBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtSignalBuffer,INDICATOR_DATA);
   SetIndexBuffer(2,ExtFastMaBuffer,INDICATOR_CALCULATIONS);
   SetIndexBuffer(3,ExtSlowMaBuffer,INDICATOR_CALCULATIONS);

---

Mi sarei aspettato di trovare 2 e 3 come valori di buffer_num nelle due chiamate di CopyBuffer() che ho indicato sopra.

 
Alessandro Davoli #:

Provo a scriverla nuovamente

Ciao,vorrei chiedere un chiarimento sul parametro buffer_num della funzione CopyBuffer. Ad esempio, nell'indicatore MACD, la funzione è usata in questo modo:


if(CopyBuffer(ExtFastMaHandle,0,0,to_copy,ExtFastMaBuffer)<=0)
....
if(CopyBuffer( ExtSlowMaHandle,0,0,to_copy,ExtSlowMaBuffer)<=0)

     ....

La mia domanda è: perché buffer_num è messo a 0 in entrambi i casi?

La funzione OnInit() è definita nel modo seguente:

void OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,ExtMacdBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtSignalBuffer,INDICATOR_DATA);
   SetIndexBuffer(2,ExtFastMaBuffer,INDICATOR_CALCULATIONS);
   SetIndexBuffer(3,ExtSlowMaBuffer,INDICATOR_CALCULATIONS);

---

Mi sarei aspettato di trovare 2 e 3 come valori di buffer_num nelle due chiamate di CopyBuffer() che ho indicato sopra.

Perchè quelli sono i buffer delle due medie mobili, lenta e veloce dalla quale si calcola poi l'indicatore macd. Se noti CopyBuffer() chiede il buffer ExtFastMaHandle e ExtSlowMaHandle che non sono ExtFastMaBuffer e ExtSlowMaBuffer .

 
Michele Catanzaro #:

Perchè quelli sono i buffer delle due medie mobili, lenta e veloce dalla quale si calcola poi l'indicatore macd. Se noti CopyBuffer() chiede il buffer ExtFastMaHandle e ExtSlowMaHandle che non sono ExtFastMaBuffer e ExtSlowMaBuffer .

Ciao Michele,

grazie della risposta.

Provo a porre il tema nel modo seguente allora: qual è il significato, in parole povere, del parametro buffer_num di CopyBuffer()? La documentazione dice solo "numero del buffer indicatore".

Grazie

 
Alessandro Davoli #:

Ciao Michele,

grazie della risposta.

Provo a porre il tema nel modo seguente allora: qual è il significato, in parole povere, del parametro buffer_num di CopyBuffer()? La documentazione dice solo "numero del buffer indicatore".

Grazie

Appunto, CopyBuffer() in questo caso specifico copia il buffer di una media mobile che avendo un solo buffer è contrassegnato con 0 e lo copia in ExtFastMaBuffer
Motivazione: