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
 Finestra Trova

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
Alessio Posted - 05 October 2003 : 17:05:34
Salve a tutti e complimenti per la versione final.
Ho un problema con la finestra trova: disponendo di una serie storica intraday a 5 min., desidero che vengano evidenziate le barre della prima ora di contrattazione. Ho provato col ciclo For...Next, ma senza risultati. Che sia un problma riguardante le opzioni di compressione dati?

Grazie per l'aiuto

11   L A T E S T    R E P L I E S    (Newest First)
Alessio Posted - 26 October 2003 : 18:20:12
Salve a tutti,
dopo aver modificato il listato, vorrei che oltre ad idicarmi il max ed il min della prima ora, mi indicasse anche il max ed il min della giorata e mi restituisse il numero delle barre la cui chiusura ?, per esempio, superiore al max della prima ora ( indicato con maxib) ed inferiore o uguale al max della giornata (indicato con maxd).
Io ho provato a scrivere la seguente, ma non funziona

dim MaxIB as Numeric = 0
dim MinIB as Numeric = 0
dim MaxD as Numeric = 0
dim MinD as Numeric = 0
dim plMemDate as Numeric = 0
dim count as Numeric

function Main()
dim i as Numeric
dim lIndex as Numeric = - 1
if (date <> plMemDate) then
For i = 0 to hour(10)
if ((time >= 900000) and (time <= 1030000)) then
MaxIB = close(i)
MinIB = close(i)
lIndex = i
Goto Prosegui1
endif
next i

Prosegui1:
if (lIndex > - 1) then
for i = lIndex to hour(10)
if ((time >= 900000) and (time <= 1030000)) then
if (MaxIB < close(i)) then
MaxIB = close(i)
endif
if (MinIB > close(i)) then
MinIB = close(i)
endif
endif
next i
plmemdate = date
endif
endif

dim j as Numeric
dim dindex as Numeric = - 1
If (date = plmemdate) then
For j = 0 to hour(17)
If (time > (1030000) and time < (1730000)) then
MaxD = close(j)
MinD = close(j)
dindex = j
Goto Prosegui2
endif
next j

Prosegui2:
if (dindex > - 1) then
for j = dIndex to hour(17)
if (time > (1030000) and time < (1730000)) then
if (MaxD < close(j)) then
MaxD = close(j)
endif
if (MinD > close(i)) then
MinD = close(j)
endif
endif
next j
plmemdate = date
endif
endif

postreste aiutarmi?

Grazie

Alessio Posted - 09 October 2003 : 18:37:47
L' ho modificato un p?, ma ora v? tutto bene.
Grazie

SupportoTecnico Posted - 08 October 2003 : 23:27:05
Forse avevo inteso male.
allora tu vuoi calcolare il massimo e il minimo della prima ora del giorno e poi vedere evidenziate tutte le candele che sono comprese in questo range durante tutto l'arco della giornata.
Prova questo codice (prendilo come traccia e modificalo secondo le tue esigenze... non ? stato testato):


dim pdMyMax as Numeric = 0
dim pdMyMin as Numeric = 0
dim plMemDate as Numeric = 0


function Main()
dim i as Numeric
dim lIndex as Numeric = - 1

if (date <> plMemDate) then
for i = 0 to Totbar - 1
if ((time >= 900000) and (time <= 1000000)) then
pdMyMax = high(i)
pdMyMin = low(i)
lIndex = i
Goto Prosegui1
endif
next i

Prosegui1:
if (lIndex > - 1) then
for i = lIndex to Totbar - 1
if ((time >= 900000) and (time <= 1000000)) then
if (pdMyMax < high(i)) then
pdMyMax = high(i)
endif
if (pdMyMin > low(i)) then
pdMyMin = low(i)
endif
endif
next i
endif
plMemDate = date
endif

return (high <= pdMyMax) and (low >= pdMyMin)

endfunction



Alessio Posted - 08 October 2003 : 17:50:51
Non funziona: restituisce "false" per qualsiasi valore dopo le 10:00, anche se la barra ? contenuta nel range definito.

SupportoTecnico Posted - 08 October 2003 : 16:34:24
Prova questo:
(la complilazione ? "Trova (Linee Multiple)")




dim pdMyMax as Numeric = 0
dim pdMyMin as Numeric = 0
dim plMemDate as Numeric = 0


function Main()
dim i as Numeric

if ((time >= 900000) and (time <= 1000000)) then
if (date <> plMemDate) then
pdMyMax = high(1)
pdMyMin = low(1)
for i = 2 to Totbar - 1
if (pdMyMax < high(i)) then
pdMyMax = high(i)
endif
if (pdMyMin > low(i)) then
pdMyMin = low(i)
endif
next i
endif
plMemDate = date

return (high <= pdMyMax) and (low >= pdMyMin)
else
return false
endif

endfunction



Alessio Posted - 08 October 2003 : 15:12:50
Da un'analisi pi? attenta mi sono accorto che il massimo ed il minimo della prima ora di cotrattazione di una giorata vengono memorizzati e ripetuti per quella seguente (es. max del 5/5/2003 dalle ore 9:05 alle 10:10 uguale a 8.77; se il giorno dopo il max, sempre per quell'orario ? 8.50, il programma restituisce il valore di 8.77).
Vorrei scrivere un codice che mi permetta di identificare per ciascun giorno il max ed il min della prima ora di contrattazione per poter anlizzare quante barre sono comprese tra questi due valori.
Potreste aiutarmi?

Grazie

Alessio Posted - 07 October 2003 : 17:11:27
Ora ? tutto ok. Grazie

SupportoTecnico Posted - 06 October 2003 : 18:02:42
Non utilizzare cicli For o altro.
Usa la compilazione a linea singola.
E scrivi:

(Time >= 900000) And (Time <= 1000000)

oppure ci? che ti ha suggerito Fabrivero.

Scusami => mi ero dimenticato qualche zero.
Infatti il Time ? espresso in questo modo => hhmmttt

dove hh => ? l'ora; mm => minuti; e ttt numero del tick




fabrivero Posted - 06 October 2003 : 17:25:14
dovrebbe bastare questo (per il fib):

hour = 9 or (hour = 10 and minute < 11)

In pratica prende tutte le candele delle 9 (ossia da 9:01 a 9:59) pi? le prime delle ore 10. variando minute puoi prendere 1 ora fino a 2 ore

Alessio Posted - 06 October 2003 : 16:18:42
Avevo gi? provato ,ma non funziona.
Ho poi provato con "time(0) to time(87)" e va bene; ma allora qual'? l'esatta sintassi della funzione "Time" e "Date"?


SupportoTecnico Posted - 06 October 2003 : 10:41:36
Prova con una cosa del genere:

(Time >= 900) And (Time <= 1000)

Modificando a tuo piacimento le ore.


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