|
buongiorno a tutti.
anzitutto una premessa :
riprendo dalla posta qualche risposta che interessa tutti e che trovate qui di seguito, pregandovi di apportare alle lezioni scaricate ed al lavoro gia' svolto le modifiche indicate :
francesca : hai ragione, brava, hai individuato un errore di battitura piccolo ma con grandi conseguenze, in sestetto 4.
nela formula da inserire nella cella k4, ricerca del massimo tra gli assoluti, la parte terminale della formula stessa e' ASS(L18-M18) e non ASS(L18:M18) come erroneamente scritto.
antonio, narciso e qualche altro : anzitutto correggiamo un errore in sestetto 2, colpa mia che non ho controllato, e scriviamo "comprato" in E3 e non in E4, "up/dw" in F3 e non in F4, "venduto" in G3 e non in G4.
in sestetto 4 invece, la formula da inserire in H4 ha lasciato una parte di se' nel mistero del web, e risulta . deve essere :

per il momento non sono emersi altri errori (ma non disperiamo!), e quindi continuiamo tranquilli.
eccoci qui con la macro, uno spavento generale, la macro terrorizza molti amici, dante ha telefonato agitatissimo :
- guarda che io la macro non so neanche da dove comincia.
- ma come, la macro lavora per noi, fa tutto da sola e non sbaglia mai, la macro ci aiuta, non e' possibile averne paura.
- dici bene, ma per me e' arabo, e non ne parliamo proprio.
- ok, speriamo che non siano in molti come te, comunque facciamo cosi' : per questa volta la macro la scrivo io, e gli amici si limitano a copiarla ed inserirla come l'ho preparata.
pero' se la studiano un poco, per cui la prossima volta, penso quando faremo il famoso reticolo matematico, faremo insieme anche la macro, passo per passo, non c'e' bisogno di correre, tutti imparano se hanno pazienza.
- bravo, grazie.
allora prendiamo il nostro foglio di excell, bello ed in attesa di decollare, e mettiamoci la macro:
strumenti
macro
registra nuova macro
a qualcuno apparira' un segnalino rettangolare, a qualcun altro no, dipende da come e' organizzato il pc.
trascuriamo il segnalino
evidenziamo la cella A1, poi
strumenti
macro
interrompi registrazione.
calma, il primo passo e' fatto.
ora
strumenti
macro
macro
viene fuori una finestra con scritto macro 1
modifica
si apre la macro, miracolo di windows e di visual basic.
Ci troviamo di fronte una finestra che comincia cosi' :
Sub Macro1()
'
' Macro1 Macro
' Macro registrata il 28/09/2001 da x
Range("A1").Select
la prima riga nera, poi due verdi, poi una nera.
lasciate aperta questa finestra, e ritornate su questa e-mail
fate un copia del testo che segue, fino alla riga "ActiveWorkbook.Save" compresa :
'GoTo Tango
ActiveSheet.Unprotect
'Sicurezze:
If Range("C4") = "" Then
Range("F2") = "AGGIORNA DATA E QUOTAZIONI"
GoTo fine
End If
If Range("E4") > 0.1 And Range("G4") > 0.1 Then
Range("F2") = "DOPPIO COMPRATO E VENDUTO"
GoTo fine
End If
If Range("E5") > 0.1 And Range("G5") > 0.1 Then
Range("F2") = "DOPPIO COMPRATO E VENDUTO"
GoTo fine
End If
If Range("E6") > 0.1 And Range("G6") > 0.1 Then
Range("F2") = "DOPPIO COMPRATO E VENDUTO"
GoTo fine
End If
If Range("E7") > 0.1 And Range("G7") > 0.1 Then
Range("F2") = "DOPPIO COMPRATO E VENDUTO"
GoTo fine
End If
If Range("E8") > 0.1 And Range("G8") > 0.1 Then
Range("F2") = "DOPPIO COMPRATO E VENDUTO"
GoTo fine
End If
If Range("E9") > 0.1 And Range("G9") > 0.1 Then
Range("F2") = "DOPPIO COMPRATO E VENDUTO"
GoTo fine
End If
'Aggiorna dati ultimi 10 giorni
Range("C17:L23").Select
Selection.Copy
Range("D17").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("B17:B23").Select
Selection.Copy
Range("C17").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'Aggiorna gli stops con gli ultimi prezzi.
'Tango:
riga = 4
iniziostop:
If Cells(riga, 4) = "" Then
GoTo finestop
End If
If riga > 10 Then
GoTo finestop
End If
'Comprato
If Cells(riga, 5) > 0.1 And Cells(riga, 6) = "" Then
Cells(riga, 6) = Cells(riga, 13)
End If
If Cells(riga, 5) > 0.1 And Cells(riga, 6) > 0.1 Then
If Cells(riga, 13) > Cells(riga, 6) Then
Cells(riga, 6) = Cells(riga, 13)
End If
End If
If Cells(riga, 5) > 0.1 And Cells(riga, 6) > 0.1 And Cells(riga, 6) < Cells(riga + 14, 3) / 100 * 90 Then
Cells(riga, 6) = Cells(riga + 14, 3) / 100 * 90
End If
'Venduto
If Cells(riga, 7) > 0.1 And Cells(riga, 6) = "" Then
Cells(riga, 6) = Cells(riga, 12)
End If
If Cells(riga, 7) > 0.1 And Cells(riga, 6) > 0.1 Then
If Cells(riga, 12) < Cells(riga, 6) Then
Cells(riga, 6) = Cells(riga, 12)
End If
End If
If Cells(riga, 7) > 0.1 And Cells(riga, 6) > 0.1 And Cells(riga, 6) > Cells(riga + 14, 3) / 100 * 110 Then
Cells(riga, 6) = Cells(riga + 14, 3) / 100 * 110
End If
riga = riga + 1
GoTo iniziostop
finestop:
Range("F2") = ""
fine:
'Cancella dati ultima immissione
Range("C3:C9").Select
Selection.ClearContents
Range("A1").Select
ActiveSheet.Protect
ActiveWorkbook.Save
ritornate alla finestra della macro, posizionatevi sotto "Range ("A1").Select" e
incolla.
una volta incollato, controllate che dopo l'ultima riga "ActiveWorkbook.Save"
ci sia una riga
"End Sub"
e niente altro.
finito.
chiudete la finestra della macro con il quadratino con x in alto a destra, oppure
file
chiudi e torna a microsoft excell
prendiamo fiato, e' stata una bella acrobazia, ma adesso abbiamo la macro, il motore piazzato al giusto posto, le sicurezze anti errore, l'aggiornamento della banca dati automatico e qualche altra cosa ancora..
ci serve un pulsante per far partire il sistema.
questo e' facile :
visualizza
barra degli strumenti
moduli
viene fuori una finestrina con molti simboli, il pulsante e' il secondo in alto a destra.
cliccateci sopra
il mouse diventa una crocetta.
portate la crocetta dove piu' vi piace (una buona zona e' J12, di fianco alle diciture, cliccate, ed ecco il pulsante apparire come d'incanto.
una finestra vi domandera' che macro assegnare a questo pulsante
voi avete solo la macro 1, per cui risponderete macro 1
il pulsante si chiamera' "pulsante 1"
se non vi piace (il mio si chiama "aggiorna")
cliccate il pulsante con il tasto destro
modifica testo
cancellate la dicitura "pulsante 1"
scrivete "aggiorna" o quello che volete
finito.
e finito anche il trading system, che venerdi' prossimo esamineremo da vicino, ne controlleremo il corretto funzionamento, faremo qualche considerazione sullo short e qualche altro argomento.
chi volesse iniziare a farlo camminare, puo' inserire la data ed i close di dieci giorni fa' nelle celle da C3 a C9, considerare tutti i titoli come comprati a quel prezzo, e quindi riempire anche le celle da E4 a E9.
premere il pulsante, inserire i close di 9 giorni fa', se non ci sono segnali nella zona "vendere sotto" premere il pulsante, e cosi' via sino ad arrivare ai close di ieri sera.
Anche se l'avviamento e' virtuale, eseguite sul foglio i segnali se si presentano, ricordate che se segnate un veduto dovete cancellare il comprato e viceversa, e la colonna up/dw, ed avrete a ieri dei titoli comprati e dei titoli venduti . venerdi ne parliamo.
buona settimana a tutti.
giancarlo del bono di ruscalla.
|