Announcement

Collapse
No announcement yet.

EFS price-ma

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

  • EFS price-ma

    premessa: non ho mai realizzato neanche 1/2 efs;

    vorrei realizzarne uno ke mi indichi la differenza tra il prezzo di 1 strumento finanziario X (azione o futures o fondo o indice che sia) e la sua media mobile Y. Inoltre vorrei ke lo stesso riporti sempre , in qualke modo, il massimo scostamento storico/passato del prezzo da tale media. Come posso inziare a realizzarlo? non so dove metter le mani...

  • #2
    grazie per il massiccio aiuto ...


    nun v'accavallate!!

    Comment


    • #3
      sharky1
      Non e' chiaro cosa tu stia chiedendo nel tuo messaggio.
      Se stai chiedendo di aiutarti nel realizzare un indicatore allora posta quanto hai compilato fino ad ora e saro ben lieto di assisterti nel correggere e/o completare la tua formula.
      Se invece non hai ancora compilato alcunche dovresti indicare che livello di conoscenza di programmazione hai con EFS e/o JavaScript. Considera che senza un minimo di conoscenza non e' possibile "aiutarti" a realizzare il tuo indicatore a meno di non scrivere interamente la formula per te e per questo ci sono gli EFS Consultants.
      Quindi se sei interessato ad apprendere come programmare in EFS ti suggerirei per prima cosa di leggere le Help Guides che si trovano nel EFS KnowledgeBase ed in particolare la Guide to Developing EFS Indicators che ti fornira le nozioni di base della struttura di un EFS e ti indichera attraverso esempi pratici I primi passi necessari per creare una formula.
      Ti suggerirei anche di iniziare a scrivere al contempo alcune semplici formule usando il Formula Wizard che a dispetto delle limitazioni ti aiutera a comprendere la struttura e la sintassi necessarie in EFS. Per informazioni sull'uso del Formula Wizard puoi fare riferimento alla Formula Wizard Guide (tra l'altro questa guida contiene esempi pratici illustrati)
      In qualunque momento tu avessi bisogno di delucidazioni e/o spiegazioni saro ben lieto di assisterti.
      Se invece non hai interesse ad apprendere come programmare in EFS e desideri semplicemente che qualcuno scriva la formula per te allora vedi questo post che ti indica quali risorse tu abbia a disposizione.
      Alex

      Comment


      • #4
        grazie Alexis, darò 1 sguardo al manuale e tempo permettendo valuterò se cimentarmici o meno. nks.

        Comment


        • #5
          sharky1
          Se le guide in inglese dovessero risultarti difficili da comprendere (almeno inizialmente) allora ti suggerirei di leggere il libro JavaScript The Definitive Guide di David Flanagan pubblicato anche in italiano e disponibile da Feltrinelli.
          EFS (Esignal Formula Script) infatti usa come base Core JavaScript 1.5 al quale poi aggiunge le proprie estensioni. Il costrutto e la sintassi pero rimangono fondamentalmente quelli di JavaScript. Come esempio vedi l'EFS allegato che calcola una media mobile e che e' scritto usando solamente JavaScript (ad eccezione di close() che e' una estensione EFS necessaria in questo caso per definire la serie dati).
          Il libro che ti ho suggerito ti consente quindi di apprendere le basi del linguaggio usando un testo italiano il che a sua volta ti rendera piu facile comprendere le specifiche estensioni EFS spiegate nelle guide in inglese.
          Alex

          PHP Code:
          function main(){

              var 
          Length 10;//stabilisco la lunghezza della media
              
          var Sum 0;//dichiaro una variabile locale chiamata Sum
              
          var Avg 0;//dichiaro una variabile locale chiamata Avg
              
              
          for (var i=0i<Lengthi++){//creo un for loop 
                  
          Sum += close(-i);//sommo I valori di close() nel for loop
              
          }

              
          Avg Sum/Length;//divido la somma per la lunghezza per ottenere la media

              
          return Avg;//riporto la media sul grafico

          Comment


          • #6
            Alexis

            cortesemente, puoi spiegare il " for loop" ? loop in inglese sarebbe ciclo (se non sbaglio)...
            Sostieni il Meglio di te , aiutaci a fare di più!

            Fra

            Comment


            • #7
              Fra
              Si loop in questo caso sta appunto a significare ciclo.
              Infatti il for loop e' un blocco di istruzioni che deve essere riciclato un numero di volte specificato prima che l'efs possa proseguire. Eccoti di seguito come e' strutturato il for loop...

              PHP Code:
              Lunghezza 10;//questa e' la lunghezza della media che vuoi calcolare
              for (var i=0i<Lunghezzai++){//qui stabilisci il for loop e le condizioni che determinano quante volte verra riciclato
                  //qui inserisci le istruzioni da eseguire nel for loop;

              ...che essenzialmente significa

              for durante il seguente blocco di istruzioni
              var i=0; crea una variabile chiamata i e assegna a quella variabile il valore iniziale di 0;
              i<Lunghezza; fino a che i e' inferiore al valore della lunghezza (massimo valore possibile quindi sara 9 perche se fosse 10 i sarebbe = Lunghezza)
              i++ ricicla le istruzioni incrementando i di 1 ad ogni iterazione (l'operatore per questa operazione e' il ++)

              In sostanza in ogni ciclo del loop i sara pari ai seguenti valori
              i = 0, i = 1, i =2...fino ad i=9 e a quel punto il for loop si ferma perche al prossimo ciclo i=10

              Le istruzioni da eseguire sono

              PHP Code:
              [i]Lunghezza 10;
              for (var 
              i=0i<Lunghezzai++){[/i]
                  
              Sum += close(-i);//queste le istruzioni

              Dove i viene usato nel contesto di close(-i) per definire I valori necessari e sommarli
              Ad ogni ciclo del loop avrai quindi close(-0), close(-1), close(-2) ... fino a close(-9).
              Sum += e' la somma che viene calcolata dall'operatore +=

              Quindi in sostanza tu stai facendo il seguente
              Sum = close(-0) + close(-1) + close(-2) +....+ close(-9);

              Come puoi vedere il for loop semplifica notevolemente il processo. Immagina infatti di dovere addizionare 50 valori e di doverli scrivere tutti di seguito. Il for loop invece ti consente di farlo velocemente cambiando soltanto il valore nella variabile Lunghezza e quindi stabilendo quante volte verra riciclato il for loop.
              Alex

              Comment


              • #8
                Fra
                Tanto per capirci il blocco delle istruzioni e' identico a quello che useresti ad esempio in Easy Language quando scrivi

                For counter = 0 To Length - 1 Begin
                Sum = Sum + Price[counter];
                End;

                Infatti in EFS/JavaScript potrei anche scrivere il for loop in questo modo

                for (var i=0; i<=Lunghezza -1; i++){
                Sum = Sum + close(-i)
                }

                Nota che in questo caso ho sostituito nel for loop i<Lunghezza; con i<=Lunghezza -1; che e' la stessa cosa espressa in maniera diversa. Ed invece di usare Sum+= close(-i); uso Sum = Sum + close(-i) con identici risultati. Potrei ulteriormente cambiare il nome della variabile da i a counter. Si tratta semplicemente di convenzioni.
                Alex

                Comment

                Working...
                X