| Author |  Topic  |  | 
              
                | AleNuovo Utente
 
 
                9 Posts | 
                    
                      |  Posted - 12 April 2006 :  15:31:17     
 |  
                      | ciao e grazie per la risposta nell' altro topic. 
 ho capito che per impostare uno stop devo memorizzare il prezzo di ingresso nelle opzioni comuni con Dim ... e fin qui...
 ho guardato i TS di esempio precaricati ma non riesco a capire come impostare uno stop fisso (puntuale), per esempio : chiudi la posizione se la perdita  = 200pt ...
 
 potresti, per farmi capire, scrivere il codice di questo sistema di esempio?
 
 entro Long il lunedi in apertura, esco il mercoledi in chiusura o se la perdita supera 200pt.
 
 grazie anticipatamente
 
 |  | 
              
                | SupportoTecnicoForum Admin
 
 
                1261 Posts | 
                    
                      |  Posted - 12 April 2006 :  16:04:35     
 |  
                      | Il metodo è sempre lo stesso. Se vuoi portare fuori informazioni da un modulo specifico e rendere disponibile questa informazione a tutti gli altri moduli devi memorizzare l'informazione in una variabile globale dichiarata nel modulo [Opzioni comuni] e poi utilizzarla come credi negli altri moduli.
 
 Veniamo al tuo esempio:
 
 [Opzioni comuni]
 
 Dim plBarraLong as Numeric = 0
 Dim pdPrezzoIngressoLong as Numeric = 0
 
 
 [Entra in Acquisto]
 
 Function Main()
 ....
 plBarraLong = CurrentBar
 pdPrezzoIngressoLong = Open
 
 Price Open
 
 ...
 EndFunction
 
 
 [Esci da posizione in acquisto]
 
 Function Main()
 Price Close
 Return ((CurrentBar - plBarraLong) >= 2) OR (Close <(pdPrezzoIngressoLong - 200))
 EndFunction
 
 
 N.B. ho inserito anche la parola chiave "Price" per definire il prezzo di esecuzione dell'ingresso e uscita. Ciò che è importante è che "Price" deve sempre essere prima del "Return".
 
 
 |  
                      |  |  | 
              
                | AleNuovo Utente
 
 
                9 Posts | 
                    
                      |  Posted - 13 April 2006 :  12:26:28     
 |  
                      | ho capito. il problema è però un pò più specifico, ho fatto un esempio incompleto. se io stabilisco uno stop in denaro voglio che l' uscita (in perdita) dalla posizione avvenga al prezzo che, in base alla mia entrata, mi dia quella perdita...questo è ovvio.
 
 l' unico modo (credo..) per farlo è usare il Price nel modulo di uscita dalla posizione definendolo come (PrezzoIngresso -/+ StopLoss).
 
 Inquesto modo però, se io ho anche un' altra condizione per l' uscita (e c'è per forza perchè non può esserci solo quella di stoploss) il sistema calcolerà comunque per l' uscita il prezzo definito col Price, generando per definizione una perdita, anche se il prezzo di stoploss non è stato toccato nel periodo corrente.
 
 sono sicuro che la soluzione sia semplice, ma la mia conoscenza del linguaggio è ancora molto superficiale.
 
 grazie ancora
 
 
 |  
                      |  |  | 
              
                | SupportoTecnicoForum Admin
 
 
                1261 Posts | 
                    
                      |  Posted - 13 April 2006 :  13:03:24     
 |  
                      | Questa è la soluzione: 
 
 Function Main()
 Dim bSignal as Boolean = False
 
 if ((CurrentBar - plBarraLong) >= 2) Then
 Price Close
 bSignal = True
 endif
 If (bSignal = False) then
 if (Close < (pdPrezzoIngressoLong - 200)) then
 Price pdPrezzoIngressoLong - 200
 bSignal = True
 Endif
 Endif
 
 Return bSignal
 EndFunction
 
 
 Comunque a mio avviso non è teoricamente giusto prendere come prezzo di uscita pdPrezzoIngressoLong - 200, perchè di fatto nella condizione utilizzi il valore di chiusura per capire se devi uscire in stop loss o meno e quindi non puoi uscire ad un valore se quel valore l'hai già superato e forse di molto..
 
 insomma.. se hai un close a 1000 e pdPrezzoIngressoLong - 200 è uguale a 1100 è ovvio che lo stop loss scatta quando il prezzo dell'azione è già a 1000 e pertanto dire al trading system di uscire a pdPrezzoIngressoLong - 200 significa sfalsare i risultati.
 
 Il mio è un consiglio.. poi ovviamente vedi tu cosa vuoi fare!
 |  
                      |  |  | 
              
                | AleNuovo Utente
 
 
                9 Posts | 
                    
                      |  Posted - 13 April 2006 :  14:36:12     
 |  
                      | hai perfettamente ragione, ma io ho mischiato un pò il ragionamento e dato per scontate alcune cose... 
 il sistema sopra era solo un esempio super semplice per capire come impostare lo stop loss dal punto di vista della sintassi, in realtà non lo uso! colpa mia che non ho spiegato esattamente cosa mi serve..
 
 ti rispiego:
 
 il concetto di base del sistema che sto testando (per l' ingresso in posizione)è la rottura di un livello di prezzo calcolato sommando all' apertura un certo valore (il risultato della formula "ristretta" che mi hai scritto nell' altro topic).il mio "Price" è proprio quel livello quindi per verificare che nel giorno X il segnale è scattato uso high e low, poi sono fatti miei se la chiusura fa rientrare il segnale, fa parte delle eventualità e lo stop loss c'è apposta. Nell' operatività reale infatti controllo il sistema durante la seduta, non a fine giornata.
 
 E' nell' uscita dalla posizione che nasce il problema, mi spiego: il sistema esce (per esempio) alla prima apertura in profitto dopo essere stato in posizione per 2 giorni (e qui price = open) oppure se scatta lo stop fisso in denaro, e qui il price deve necessariamente essere il livello specifico che mi fa uscire con quella perdita prestabilita. Anche qui (nel test) uso high e low per verificare il segnale, perchè vuol dire che il prezzo è passato di lì e io lì dovevo incassare la perdita.
 questo crea il conflitto di avere 2 price nello stesso modulo di uscita (..o sbaglio), come ovviare?
 
 ciao egrazie
 
 
 |  
                      |  |  | 
              
                | SupportoTecnicoForum Admin
 
 
                1261 Posts | 
                    
                      |  Posted - 13 April 2006 :  16:09:55     
 |  
                      | Avere diversi "Price" nello stesso modulo a seconda delle diverse situazioni che si presentano non crea alcun conflitto. "Price" infatti serve proprio per definire il prezzo di esecuzione dell'ordine.
 
 Il codice di esempio che ti ho scritto poco sopra è ottimo per quello che vuoi fare e cioè avere due prezzi di esecuzione differenti a seconda della condizione che genera l'uscita. Infatti, da come è scritto il codice solo uno dei due "Price" verrà eseguito.
 
 Certo che come già detto durante il test del TS in caso di uscita per stop fisso in denaro i valori risulteranno essere un po' falsati.
 Non c'è modo di ovviare alla situazione se non quello di avere una base dati più dettagliata, nel tuo caso intraday e non giornaliera.
 
 
 |  
                      |  |  | 
              
                | AleNuovo Utente
 
 
                9 Posts | 
                    
                      |  Posted - 13 April 2006 :  16:34:41     
 |  
                      | sono confuso... se posso usare due price perchè i risultati dovrebbero essere falsati in caso di stop fisso?
 
 
 |  
                      |  |  | 
              
                | SupportoTecnicoForum Admin
 
 
                1261 Posts | 
                    
                      |  Posted - 13 April 2006 :  19:29:08     
 |  
                      | E' solo una questione operativa. 
 Se utilizzi il valore di "Close" per il confronto con "pdPrezzoIngressoLong - 200" potresti trovarti nella seguente situazione:
 
 - Tu stai osservando il mercato e il prezzo scende sotto "pdPrezzoIngressoLong - 200". Giustamente tu esci in stop loss. Dopo poco però il prezzo risale e chiude sopra il valore di stop (quindi sopra "pdPrezzoIngressoLong - 200").
 
 In questa situazione ti trovi ad avere che il tuo TS non è uscito invece tu nella realtà si. Da qui la possibilità di avere risultati molto diversi tra l'operatività reale e quella ottenuta nei test del TS.
 
 Se invece del "Close" utilizzi il "Low" la questione è diversa. Sicuramente molto più vicina alla realtà.
 
 
 |  
                      |  |  | 
              
                | AleNuovo Utente
 
 
                9 Posts | 
                    
                      |  Posted - 13 April 2006 :  19:42:58     
 |  
                      | ah...ok, allora siamo d' accordissimo. siccome l' ho scritto sopra che uso i valori high e low, non mi tornava più tutto il discorso. 
 grazie e alla prossima
 
 
 |  
                      |  |  | 
              
                |  |  Topic  |  |