Announcement

Collapse
No announcement yet.

Media mobile di uno spread

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Media mobile di uno spread

    Sto cercando di programmare un grafico che vada a disegnare uno spread fra un titolo e l'indice SP500 e la sua media mobile a 30 periodi:

    Code:
    function main() {
        var Spread, maSpread; 
        Spread = (close() / close (sym("$SPX")))*100 ; 
        maSpread = sma (30 , close() / close (sym("$SPX")))*100 );
        return new Array (Spread, maSpread);
    ma naturalmente così non funziona.
    Come devo fare?
    Gianni
    da Milano

  • #2
    Gianni
    Devi applicare la stessa logica che ti ho spiegato in questo thread.
    Quindi prima crei una funzione separata nella quale computi il tuo spread (o piu precisamente il rateo dato che stai dividendo I due simboli) dopo di che chiami quella funzione da main() usando efsInternal(). A quel punto avrai la serie che puoi usare come source della funzione sma()
    La ragione per la quale la tua formula non funziona e' perche quando processi una serie questa viene convertita ad un valore singolo. Ad esempio high() e low() sono due serie prese individualmente ma se calcoli high()-low() il risultato non e' piu una serie ma un valore singolo e quindi non puo essere passato ad una funzione che invece richiede una serie.
    Alex

    Comment


    • #3
      Gianni
      Alternativamente puoi ottenere lo stesso risultato nel seguente modo
      PHP Code:
      var Spread close(sym(getSymbol()+" / "+"$SPX"));
      var 
      maSpread sma(30Spread);
      return new Array (
      Spread*100maSpread*100); 
      In questo caso faccio uso della funzione in eSignal che consente di creare spreads direttamente come simboli.
      Nota che moltiplico il rateo per 100 nel riporto per la stessa ragione che ho spiegato nel precedente messagggio
      Alex

      Comment

      Working...
      X