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
 Coefficiente di Correlazione

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
kairen Posted - 04 April 2004 : 15:31:25
Mi serve calcolare il coefficiente di correlazione su due serie di dati

Potere aiutarmi: Ho messo tra apici quello che vorrei fare ma attualmente non sono in grado di

'Property Data1 as Numeric()
Property Data1 as Numeric
Endproperty

'Property Data2 as Numeric()
Property Data2 as Numeric
Endproperty

Property Periodo as Numeric
Default (14)
Range (1, 400)
Endproperty


Function Main()
Dim Ix as Numeric
'Sommatoria Dati Serie 1
Dim SumD1 as Numeric = 0
'Sommatoria Dati al quadrato Serie 1
Dim SumD12 as Numeric = 0
'Sommatoria Dati Serie 2
Dim SumD2 as Numeric = 0
'Sommatoria Dati al Quadrato Serie 2
Dim SumD22 as Numeric = 0
'Sommatoria Dati Serie1*Serie2
Dim SumD1D2 as Numeric = 0
'Variabili di Comodo
Dim Num as Numeric = 0
Dim Den as Numeric = 1
Dim Ret as Numeric

For Ix = 0 to Periodo - 1 Step 1
'
' Come posso fare per calcolarle ????
'
'SumD1 = SumD1 + Value(Data1,Ix)
'SumD2 = SumD2 + Value(Data2,Ix)
'SumD12 = SumD12 + Exp(2*log(Value(Data1, Ix)))
'SumD22 = SumD12 + Exp(2*log(Value(Data2, Ix)))
'SumD1D2 = SumD1D2 + Value(Data1,Ix)*Value(Data2,Ix)
Next Ix

Num = (SumD1D2 - ((1 / Periodo) * SumD1 * SumD2))
Den = (Sumd12 - (1 / Periodo) * exp(2 * log(SumD12)) * SumD22 - (1 / Periodo) * exp(2 * log(SumD12)))
Den = Exp(0.5 * log(Den))
Ret = Num / Den
Return Exp(2 * log(Ret))
Endfunction

grazie anticipatamente a chi pu? darmi una mano

Kairen
Luca G.



Modificato da - kairen il 04 Aprile 2004 15:33:04
5   L A T E S T    R E P L I E S    (Newest First)
SupportoTecnico Posted - 05 April 2004 : 11:25:23
Certo, questo lo puoi fare.

Esempio:


Function Main()
Dim l as Numeric
l = pippo(close, rsi(close, 14))
Endfunction


Function pippo(Data1 as Numeric(), Data2 as Numeric()) as Numeric
.........
.........
.........
Endfunction



kairen Posted - 04 April 2004 : 23:54:07
Scusa se rompo ancora un pochettino, ma ...
A me effettivamente non mi serve creare un indicatore, ma una funzione di servizio da utilizzare poi, per la creazione di indicatori e/o trading system.
Per questo mi servirebbe la max flessibilit? possibile, anche se poi le serie di dati le devo caricare io.
Anche questo non ? possibile farlo?
Ad esempio una stupidissima funzione che mi calcola la radice quadrata di un numero invece di dover scrivere ogni volta exp(0.5*log(n))

Grazie ancora
Kairen

SupportoTecnico Posted - 04 April 2004 : 18:51:15
Per ora non ? possibile farlo.
Devi riuscire a risolvere come suggerito. Non c'? altro modo.
Una Property infatti pu? solo essere un valore e non un'espressione o un array.

kairen Posted - 04 April 2004 : 16:44:14
Volevo dare la massima autonomia possibile all'indicatore ad esempio assegnando Data1 alla chiusura e Data2 a uno degli indicatori (ad esempio il Roc) , in modo che la funzione sia il massimo possibile autonoma.
Ad esempio voi per il vostro indicatore moveav riuscite a passare un'array di dati in imput
(ad esempio moveav(h+c/2, 20, s) ) ? possibile fare lo stesso per la mia funzione

grazie ancora
Kairen



Modificato da - kairen il 04 Aprile 2004 16:46:17
SupportoTecnico Posted - 04 April 2004 : 16:34:39
Una Property non pu? essere un array.

Quindi non puoi scrivere una cosa del genere:

Property Data1 as Numeric()

Che tipo di dati dovrebbero rappresentare Data1 e Data2? indicatori? uno dei valori fondamentali? apertura, chiusura, massimo, minimo ecc..?

La soluzione ? gestire Data1 e Data2 all'interno della funzione Main magari assegnado loro dei valori diversi a seconda del valore di una Property utilizzando nella funzione Main ad esempio un "Select case":

Property Tipo As Numeric
List (Tipo1, 1)
List (Tipo2, 2)
List (Tipo3, 3)

Default (1)
EndProperty


Function Main()
dim Data1 as Numeric()
dim Data2 as Numeric()

Select Case Tipo
case 1
Data1 = Open
Data2 = Close
case 2

case 3

endselect


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