[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 202

 
hoz:


Per cominciare, abituatevi a mettere le staffe dove ne avete bisogno. Come questo:

Potrebbe non esserci un tick in questo secondo o anche un minuto, quindi meglio senza secondi e Minute() < 5 e apertura limite: if(OrdersTotal< 1) o tanti quanti sono necessari!
 

Sto guardando il codice dell'indicatore standard della media mobile.

Sono arrivato alla funzione:

//+------------------------------------------------------------------+
//| Exponential Moving Average                                       |
//+------------------------------------------------------------------+
void ema()
  {
   double pr=2.0/(MA_Period+1);
   int    pos=Bars-2;
   if(ExtCountedBars>2) pos=Bars-ExtCountedBars-1;
//---- main calculation loop
   while(pos>=0)
     {
      if(pos==Bars-2) ExtMapBuffer[pos+1]=Close[pos+1];
      ExtMapBuffer[pos]=Close[pos]*pr+ExtMapBuffer[pos+1]*(1-pr);
           pos--;
     }
  }

La variabile pr è solo un coefficiente preso dalla scatola? Perché 2,0 /(MA_Period+1)?

Vedo inoltre che si attiva solo se ho dis-calcolato 2 barre... dov'è la logica in questa situazione?

E qui:

ExtMapBuffer[pos]=Close[pos]*pr+ExtMapBuffer[pos+1]*(1-pr);

Somma del valore degli ultimi 2 prezzi di chiusura, moltiplicato per i coefficienti. Perché? Qual è la logica qui? L'ultimo prezzo è stato dominato da pr e il penultimo da (1-pr).

Che cosa dà? Voglio capire bene il principio di funzionamento della macchina,

 
hoz:

Sto guardando il codice dell'indicatore standard della media mobile.

Sono arrivato alla funzione:

La variabile pr è solo un coefficiente preso dalla scatola? Perché 2,0 /(MA_Period+1)?

Inoltre vedo che viene eseguito solo se non ho calcolato 2 barre... dov'è la logica in questa situazione?

E qui:

Somma del valore degli ultimi 2 prezzi di chiusura, moltiplicato per i coefficienti. Perché? Qual è la logica qui? L'ultimo prezzo è stato dominato da pr e il penultimo da (1-pr).

Che cosa dà? Voglio capire bene il principio di funzionamento della macchina,

Victor, sperimenta sostituendo un valore numerico a pr. Diciamo che se MA periodo = 19, allora 2.0 /(MA_Period+1) = 0.1, e(1-pr) = 0.9. Da qui, fate i conti!
 
borilunad:
Victor, sperimenta sostituendo un valore numerico a pr. Diciamo, se il periodo MA = 19, allora 2.0 /(MA_Period+1) = 0.1, e(1-pr) = 0.9. Da qui si impara!

Boris, ho anche disegnato un paio di tamponi su un foglio di carta. Qualcosa di strano viene fuori. Ma ho notato che in questo modo il mashki è appuntato al passato. Cioè ha un valore più basso se il prezzo di chiusura attuale. Questo se i prezzi sono in continuo aumento. Se è il contrario, si muove più velocemente nell'altra direzione. Questa è la logica che c'è dietro.
 
hoz:

Boris, ho anche scritto un paio di buffer su un pezzo di carta. Qualcosa di strano viene fuori. Ma ho notato che in questo modo i tamponi sono appuntati al passato. Cioè ha un valore più basso se il prezzo di chiusura attuale. Questo se i prezzi sono in continuo aumento. Se è il contrario, si muove più velocemente nell'altra direzione. Questa è la logica.

La somma del valore degli ultimi 2 prezzi di chiusura.... non è corretta - il cloze viene aggiunto al valore medio
 
YOUNGA:

La somma del valore degli ultimi 2 prezzi di chiusura.... non è corretta - il cloze viene aggiunto al valore medio
è normale trovare su internet lo smoothing esponenziale - descrizione
 
YOUNGA:

La somma del valore degli ultimi 2 prezzi di chiusura.... è sbagliata - il cloze
è aggiunto al valore medio.


Sì, è quello che intendevo. Ma esattamente la distribuzione dipr tra gli ultimi valori cioè l'ultimo prezzo di chiusura e il valore medio cioè l'ultimo buffer ricevuto non è abbastanza chiaro.

 
YOUNGA:


Lasciatemi spiegare se aprite un lotto su ogni coppia EURJPY e USDJPY allora il lotto EURUSD dovrebbe essere 1 punto di cambiamento nel prezzo di EURUSD qualcosa deve accadere con il sintetico EURJPY/USDJPY poiché sono correlati


Questo è il punto, un lotto per EURJPY e USDJPY non sono posizioni uguali. Ecco perché la loro situazione sarà la seguente (penso che abbiano aperto in direzioni diverse, no?): 100 000 EUR - 100 000 USD = 100 000 USD * (EUR/USD -1). Cioè, il risultato dello scambio, espresso in dollari, sarà direttamente proporzionale al tasso di cambio EURUSD meno 1.
 
YOUNGA:
e in generale va bene trovare l'anti-aliasing esponenziale sul web - descrizione

A proposito, sì. Grazie per il suggerimento :) Ultimamente sono stato una vera spina nel fianco. Sto leggendo la descrizione dello" smoothingesponenziale" e comincio a capire...
 
hoz:

Cosa fa? Voglio capire bene il principio della costruzione della macchina ondulatrice,


Il modo in cui funziona è il seguente (trasformiamo l'equazione ricorsiva in una esplicita):

EMA (i) = C (i)*pr + EMA (i+1)*(1-pr) = C (i)*pr + (1-pr)* (C (i+1)*pr + EMA (i+2)*(1-pr)) = C (i)*pr + C (i+1)*pr* (1-pr) + EMA (i+2)*(1-pr)^2 = C (i)*pr + C (i+1)*pr* (1-pr) + (C (i+2)*pr + EMA (i+3)*(1-pr))*(1-pr)^2

= C (i)*pr + C (i+1)*pr* (1-pr) + C (i+2)*pr*(1-pr)^2 + EMA (i+3)* (1-pr)^3 = ... ripetere, ripetere... = Somma {k = da i a infinito; C(k)*pr* (1-pr)^ (k-1)}

In altre parole, è una serie i cui coefficienti sono una progressione geometrica con denominatore (1-pr)<1, cioè decrescente. Sappiamo dall'algebra scolastica che una tale progressione è un esponente decrescente. È da qui che deriva il nome MA.

Perché hanno preso questa formula? Senza entrare nei dettagli, posso dire che questa formula ci darà lo stesso ritardo medio di gruppo di una quotazione di ingresso all'uscita della MA come la SMA con lo stesso periodo. In altre parole, EMA e SMA con lo stesso parametro di periodo danno circa lo stesso ritardo. (Ma solo approssimativamente! - SMA è un filtro a fase lineare, EMA no)