Insider 3000 - Forums
Insider 3000 - Forums
Home | Profile | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Help
 Aiuti, consigli, dubbi ...
 Allarmi
 New Topic  Reply to Topic
 Printer Friendly
Previous Page
Author Previous Topic Topic Next Topic
Page: of 2

leslie
Utente Junior

74 Posts

Posted - 07 October 2006 :  18:35:29  Show Profile  Reply with Quote
Ok.
Ho provato il TS e dorei che va bene. Per le commissioni ora ci provo.
Notavo però una cosa. Ho settato i periodi in test al 90%.
A questo punto sono in posizione di lungo ed ancora aperta, ma se vado nelle posizioni future mi trovo fuori e non viene aperta fino alla data attuale nessun'altra posizione di lungo, anche se ripeto in realtà io sono ancora in posizione di lungo.
Credo che sia perchè da quando cominciano i periodi "futuri" in questo caso non si è ancora avuto l'incrocio della media mobile che mi fa entrare in lungo.
In generale però, poichè le posizioni future sostanzialmente sono una ipotetica previsione sul quello che sarebbe successo dal 90°% periodo ad oggi, non sarebbe corretto che se sono in posizione di lungo ci rimango??? Infatti in quel momento il TS non mi avrebbe fatto usire e se il fosse stato positivo sarei ancora in posizione di lungo.
giusto??
giusto?
Go to Top of Page

leslie
Utente Junior

74 Posts

Posted - 08 October 2006 :  08:27:01  Show Profile  Reply with Quote
Ho provato a sistemare un po’ il TS per tenere in considerazione le commissioni, e ti chedevo un parere ed un consiglio, nonché eventuali migliorie di codice che secondo te è meglio apportare.
Inoltre volevo sapere:
1) Il TS ad ogni periodo controlla tutte le posizioni oppure tutte tranne quella aperta.?
2) nella posizione esci in acquisto vorrei che quando si inizializzano le variabili dichiarate nelle opzioni comuni, il loro valore (quello di chiusura) sia quello successivo al periodo di entrata in lungo. Va bene così com’è oppure è dovrei scrivere
if (pdInitPrice <= 0) then
pdInitPrice = Open (1)
pdMyPrice = Open(1)
pdAzioni = pdCapitale / Open(1)
else….
Ricollegandomi alla seconda domanda il software dopo aver aperto una posizione, con le altre come si comporta per quel periodo? Le considera oppure automaticamente al periodo successivo salterà la posizione aperta e analizzerà le altre?
3) Le istruzioni presenti nel codice di programma delle varie posizioni vengono sempre eseguite e le variabile aggiornate per ogni singolo periodo, oppure soltanto quando è verificata la condizione che ne determina l’entrata o l’uscita?


- Opzioni comuni
Option Opt_MA(1, 50, 1) 'media mobile
Option Opt_SL_G(2, 10, 0.1) '% di stop loss in guadagno
Option Opt_SL_P(1, 5, 0.1) '% di stop loss in perdita
Dim pdInitPrice As Numeric 'prezzo di acquisto
Dim pdMyPrice As Numeric 'prezzo di riferimento per il TS
Dim pdAzioni As Numeric 'numero di azioni acquistate
Dim pdCapitale As Numeric 'capitale inizile
Dim pdCommA As Numeric 'commissioni di calcolo sull'apertura delle posizioni
Dim pdCommMin As Numeric = 6 'commisioni bancarie minime
Dim pdCommMax As Numeric = 19 'commissioni bancarie massime
DIm pdCommPerc As Numeric = 0.15 'commissioni bancarie percentuali

- Entra in acquisto
function main()
pdInitPrice = - 1
pdCapitale = equity
Return CrossAbove(Close, Moveav(close, Opt_MA))
Endfunction

- Chiudi posizione in acquisto
function main()
Dim dStopLoss As Numeric '% stop loss applicata
Dim CommC As Numeric 'commissioni per la chiusura della posizione
If close < (pdInitPrice * (1 - Opt_SL_P / 100))
Return (Close)
EndIf
CommC = FunctComm(close * pdAzioni)
if (pdInitPrice <= 0) then
pdInitPrice = Open
pdMyPrice = Open
pdAzioni = pdCapitale / Open
pdCommA = FunctComm(pdCapitale)
else
if (pdAzioni * Close > (pdCapitale + pdCommA + CommC)) then
If (Open < Close and pdMyPrice < Close) then
pdMyPrice = Close
else
If (Open > Close and pdMyPrice < Open) then
pdMyPrice = Open
EndIf
EndIf
else
pdMyPrice = pdInitPrice
endif
endif
if (pdAzioni * Close > (pdCapitale + pdCommA + CommC)) then
dStopLoss = Opt_SL_G
Else
dStopLoss = Opt_SL_P
EndIf
Return (Close <= (pdMyPrice * (1 - dStopLoss / 100)))
endfunction

Function FunctComm(Fcapitale As Numeric) As Numeric
Dim FComm As Numeric
If Fcapitale * pdCommPerc / 100 < pdCommMin then
FComm = pdCommMin
else
If Fcapitale * pdCommPerc / 100 > pdCommMax then
FComm = pdCommMax
else
FComm = Fcapitale * pdCommPerc / 100
EndIf
EndIf
Return FComm
Endfunction
Go to Top of Page

SupportoTecnico
Forum Admin

1261 Posts

Posted - 09 October 2006 :  11:44:17  Show Profile  Reply with Quote
1) Se ad esempio sei long controlla la "Chiudi posizioni in acquisto" e la "Entra in vendita"

2) Come avevo scritto io era corretto. Quando controlli la sezione "Chiudi posizioni in acquisto" sei già nel periodo successivo all'entrata

3) Tenendo presente la risposta 1) .. le variabili vengono sempre aggiornate per i moduli controllati indipendentemente dalla generazione o meno del segnale. Se vuoi subordinare l'aggiornamento delle variabili alla generazione del segnale devi ad esempio aggiungere un IF..:

If segnale generato Then
aggiorna variabili
Endif
Go to Top of Page

leslie
Utente Junior

74 Posts

Posted - 09 October 2006 :  22:45:38  Show Profile  Reply with Quote
Ok. GRazie
Ho ancora due cose da chiederti:
1) Nel TS che abbiamo fatto abbiamo univocamente stabilito le condizioni di entrata in lungo e la relativa uscita.
Ora nelle opzioni per la gestione dei TS posso impostare il prezzo sia di entrata che di uscita.
Come mai variano sensibilmente le posizioni dei segnali sui grafici? E questo solo per la chiusura delle posizioni mentre per l’apertura restano le stesse.
Nel TS abbiamo preso per l’ingresso in lungo il riferimento della media mobile, mentre per l’uscita dalla poszione abbiamo verificato determinate condizioni. Ma queste condizioni, rimanendo invariato il periodo di ingresso (perché giustamente non lo varia), si verificano comunque sempre nello stesso periodo a prescindere se poi il TS nelle sue valutazioni economiche considera come prezzo di ingresso/uscita quello di apertura o chiusura.
Non dovrebbero cambiare, a parità di valori delle opzioni comuni, solo i dati relativi alle perdite/guadagni e non il numero di periodi per i quali dura la posizione?
2) Ho fatto il elaborare il TS ma ho notato che di fatto non ho variazioni economiche.
Mi spiego meglio. I valori delle opzioni comuni variano per tutte e tre le variabili, ma in pratica non cambiono né gli importi né le posizioni, che rimangono costanti per tutti i report generati per lo stesso titolo. Hai idea del perché si genera questa situazione? I titolo su cui ho fatto la prova sono AMGA, FIAT, GENERALI, ENI.
Grazie mille della disponibilità come sempre.
Go to Top of Page

SupportoTecnico
Forum Admin

1261 Posts

Posted - 10 October 2006 :  08:30:09  Show Profile  Reply with Quote
1) Questa cosa dipende dal fatto che l'Equity e cioè il capitale è un elemento base di questo TS. Ti avevo avvertito che avresti avuto delle incongruenze utilizzando capitale e commissioni in quel modo..

2) Probabilmente è corretto che per le varie combinazioni di variabili il risultato non cambia. Anche se a dire la verità è più probabile che il codice del TS contenga qualche errore di logica. Controlla bene. Per esempio, tra le altre cose, ho notato un brutto "Return (Close)" nel codice da te postato che come sai è assolutamente sbagliato.
Go to Top of Page
Page: of 2 Previous Topic Topic Next Topic  
Previous Page
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
Insider 3000 - Forums © Copyright 2003-2016 Tradersoft s.r.l. Go To Top Of Page
Powered By: Snitz Forums 2000 Version 3.4.07