Programmazione Excel CCI per EXCEL (1 Viewer)

kadet

Forumer attivo
Worksheets("maro").Range("Q11:Q3000").Copy _
Destination:=Worksheets("maro").Range("Q1")

toglie le prime..sposta le ultime....restano 10 libere alla fine

Centilissimo per avermi risposto ...

dunque la macro da te indicatami è perfetta ...

mi copia i valori dalla 11 alla riga 3000
e mi lascia di 10 righe per aggiungere altri valori ....

però se io aggiungessi più di 10 righe ???

Praticamente dovrebbe copiarmi, partendo dall'ultima riga immessa, solo le ultime 3000 in su, ed eliminare le altre !!!
 

cammello

Forumer storico
Centilissimo per avermi risposto ...

dunque la macro da te indicatami è perfetta ...

mi copia i valori dalla 11 alla riga 3000
e mi lascia di 10 righe per aggiungere altri valori ....

però se io aggiungessi più di 10 righe ???

Praticamente dovrebbe copiarmi, partendo dall'ultima riga immessa, solo le ultime 3000 in su, ed eliminare le altre !!!

puoi usare la funzione OFFSET (EXCEL -> F1 -> OFFSET)

C
 

kadet

Forumer attivo
puoi usare la funzione OFFSET (EXCEL -> F1 -> OFFSET)

C

Ciao ...

ho dato uno sbirciatina alla funzione da te indicatami

Come utilizzare la funzione scarto in Excel

forse non fa il caso mio,
scusami di macro non sono molto preparato,

io non inserisco sempre un numero preciso di righe,

per farvi capire, ho un foglio dove,
durante la giornata aggiungo le quotazioni con timeframe a 5',
quindi a volte aggiungo che so 15 righe a volte 6 ecc....
per arrivare alle 17,30 con la chiusura.

vorrei collegare la collonna delle chiusure, con 3000 valori,
ad un altro foglio dove mi aggiorna i grafici !!!
 

marofib

Forumer storico
vedi > Worksheet.Range, proprietà

tipo cosi Worksheets("Sheet1").Range(Cells(1, 1), Cells(5, 3)).

metti delle variabili anziche' 5 3 eccc e sposti quello che ti pare di volta in volta
 

andvit67

Nuovo forumer
Chi degli esperti del forum in programmazione VBA è capace di tradurre questo indicatore da VisualTrader come scitto sotto :

Dopo ogni codice riporto come devono essere settate le proprietà di tutte le componenti.

1)

//////////////////////////////////////////////////////////////////////////
/////////////////////////////WOODIE CCI///////////////////////
///////////////////////////////////////////////////////////////////////////

WCCI=CCI[14](close)
HCCI=WCCI
TCCI=CCI[6](close)
if (wcci>0 and wcci[1]>0 and wcci[2]>0 and wcci[3]>0 and wcci[4]>0 and wcci[5]<0) or (wcci<0 and wcci[1]<0 and wcci[2]<0 and wcci[3]<0 and wcci[4]<0 and wcci[5]>0) then
hcci=0
HYCCI=WCCI
else
HYCCI=0
endif
if (wcci>0 and wcci[1]>0 and wcci[2]>0 and wcci[3]>0 and wcci[4]>0 and wcci[5]>0) or (wcci<0 and wcci[1]<0 and wcci[2]<0 and wcci[3]<0 and wcci[4]<0 and wcci[5]<0) then
hcci=0
HTCCI=WCCI
else
HTCCI=0
endif




return HCCI, HYCCI, HTCCI, WCCI, TCCI


//////////////////////////////////////////FINE//////////////////////////////////////////////
HCCI->istogramma - grigio
HYCCI->istogramma - giallo
WCCI->istogramma - positivo verde - negativo rosso
WCCI->linea spssa
TCCI-> linea media





2)

//////////////////////////////////////////////////////////////////////////
/////////////WOODIE CCI SIDEWINDER///////////////
///////////////////////////////////////////////////////////////////////////

//rem angolo ema
coeffema=34/(highest[34](high)-lowest[34](low))*lowest[34](low)
ema=ExponentialAverage[34](close)
hema=(ema-ema[1])/typicalprice*coeffema

angema=Atan(hema)

//rem angolo lsma
coefflsma=25/(highest[25](high)-lowest[25](low))*lowest[25](low)
lsma=EndPointAverage[25](close)
hlsma=(lsma-lsma[1])/typicalprice*coefflsma
anglsma=ATAN(hlsma)


var1=0
var2=0
var3=0
var4=0
var5=0
var6=0

if ((angema<10 and angema>0 and angema+anglsma=>10) or (anglsma<10 and anglsma=>0 and anglsma+angema=>10)) then
var1=200
var4=-200
else
if ((angema>-10 and angema<=0 and angema+anglsma<=-10) or ( anglsma>-10 and anglsma<=0 and anglsma+angema<=-10)) then
var1=200
var4=-200
else
if (angema<=-10 and anglsma<=-10) then
var2=200
var5=-200
else
if (angema=>10 and anglsma=>10) then
var2=200
var5=-200
else
var3=200
var6=-200
endif
endif
endif
endif


return var1, var2, var3, var4, var5, var6



////////////////////////////FINE////////////////////////////////////////

var1 e var4 -> punto spesso - giallo
var2 e var5 -> punto spesso - verde
var3 e var6 -> punto spesso - rosso

3)

//////////////////////////////////////////////////////////////////////////
///////////////WOODIE CCI CHOP ZONE///////////////
///////////////////////////////////////////////////////////////////////////

//p=34


IF close>ExponentialAverage[p](close) THEN
RLONG=1
LONG=100
LONG2=-100
IF open<ExponentialAverage[p](close) and close>ExponentialAverage[p](close) THEN
RLONG=-1

ENDIF
ELSE
LONG=0
LONG2=0
ENDIF
IF close<ExponentialAverage[p](close) THEN
SHORT=100
SHORT2=-100
RSHORT=1
IF open>ExponentialAverage[p](close) and close<ExponentialAverage[p](close) THEN
RSHORT=-1
ENDIF
ELSE
SHORT=0
SHORT2=0
ENDIF
RETURN LONG COLOURED BY RLONG, LONG2 COLOURED BY RLONG, SHORT COLOURED BY RSHORT, SHORT2 COLOURED BY RSHORT


////////////////////////////FINE////////////////////////////////////////

I primi due -> punto spesso - rialzo verde - ribasso blu
i restanti due -> punto spesso - rialzo rosso - ribbasso viola


4)

//////////////////////////////////////////////////////////////////////////
/////////////////WOODIE CCI LINE ZERO///////////////
///////////////////////////////////////////////////////////////////////////

LSMA=EndPointAverage[24](close)

if close=>LSMA then
zero=1
else
zero=-1
endif



return 0 coloured by zero


////////////////////////////FINE////////////////////////////////////////

zero -> punto spesso - rialzo nero - ribasso azzurro

So che è un lavoraccio ma se qualcuno è capace sono anche disposto a pagare il lavoro. Lo vorrei in excel perche' al lavoro non posso utilizzare piattaforme tipo PorRealtime mentre posso aggiornare un file excel.

Buon Week end

Novita' ??? Qualcuno ha provato ha tradurre in excel l'indicatore CCI che Testuo ha tradotto per ProRealtime ?
Io purtroppo non ho la preparazione altrimenti proverei, penso sia un indicatore molto valido. Non avendo ProRealtime intrady vorrei provarlo in excel con dati intraday.

Buon weekend a tutti
 

kadet

Forumer attivo
Salve atutti ...
non voglio aprire un nuovo 3D ... quindi posto qui la mia richiesta di aiuto !!

Non so come spiegarmi ....
sto realizzando dei grafici a scalare
per esempio:
avendo 10 valori disponibili creo il grafico comprendendo anche le celle in cui i valori non ci sono diciamo fino a 100, man mano aggiungerò gli altri valori aggiornando il grafico.
Fin qui ok.

1263718528pubblicazione2.jpg


Poi voglio aggiungere una media, creo una colonna con la formula;
=SE(F3=0;"";F3)
poi la media
=SE(F3=0;"";MEDIA(F3:F8))
in modo da riavere le celle con valore "zero".

Quando vado a sovrapporre la media al grafico
la linea della media mi va fino allo zero
vanificando il lavoro, rendendolo inutile

1263718626pubblicazione1.jpg


credo di intuire che la cella non venga considerata come vuota
perchè comunque c'è una formula.

Come posso fare.

Grazie a tutti !!!
 

Users who are viewing this thread

Alto