Insider 3000 - Forums
Insider 3000 - Forums
Home | Profile | Active Topics | Members | Search | FAQ
 All Forums
 Problemi con "Insider 3000 versione 3"
 Problemi col linguaggio di programmazione
 media mobile centrata

Note: You must be registered in order to post a reply.

Screensize:
UserName:
Password:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkInsert Email Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

   
   

T O P I C    R E V I E W
david Posted - 12 May 2007 : 20:51:27
Salve a tutti!
Premetto che sono nuovo e non so un gran che in quanto a programmazione.
Il mio problema consiste nella creazione di una media mobile centrata a n°periodi.Utilizzando lo shift di - 1/2 periodo riesco a centrarla ma ovviamente rimane lo spazio mancante alla fine della media.
la mia domanda é :esiste qualche funzione in grado di coprire lo spazio mancante?magari aggiungendo al titolo in considerazione un numero di dati pari alla metà del periodo della media e uguali all'ultimo dato disponibile.
grazie anticipatamente.
1   L A T E S T    R E P L I E S    (Newest First)
SupportoTecnico Posted - 13 May 2007 : 11:34:23
Devi costruire un indicatore utente ad hoc nella finestra di "Gestione indicatori utente".

In questo esempio è stato considerato un periodo di 30 fisso. Se vuoi farlo variabile dall'utente allora devi semplicemente aggiungere una Property.
Il suo codice potrebbe essere questo:


Function Main()
Dim mc30 as Numeric
Dim dtot as Numeric
Dim dMyPos as Numeric
Dim i as Numeric

If (TotBar - CurrentBar >= 15) then
mc30 = Moveav(Close, 30, "S", 0, - 15)
else
dMyPos = TotBar - CurrentBar

dTot = Sum(Close, 15)
For i = 1 to dMyPos
dTot = dTot + Close(i)
next i
dTot = dTot + Close(dMyPos) * (15 - dMyPos)

mc30 = dTot / 30
endif

Return mc30

EndFunction


Insider 3000 - Forums © Copyright 2003-2016 Tradersoft s.r.l. Go To Top Of Page
Powered By: Snitz Forums 2000 Version 3.4.07