Author |
Topic  |
leslie
Utente Junior
74 Posts |
Posted - 07 October 2006 : 18:35:29
|
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? |
 |
|
leslie
Utente Junior
74 Posts |
Posted - 08 October 2006 : 08:27:01
|
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
|
 |
|
SupportoTecnico
Forum Admin
1261 Posts |
Posted - 09 October 2006 : 11:44:17
|
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
|
 |
|
leslie
Utente Junior
74 Posts |
Posted - 09 October 2006 : 22:45:38
|
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.
|
 |
|
SupportoTecnico
Forum Admin
1261 Posts |
Posted - 10 October 2006 : 08:30:09
|
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. |
 |
|
Topic  |
|
|
|