T O P I C R E V I E W |
luigi_amodeo |
Posted - 06 April 2006 : 09:47:43 Ti riassumo il TS ...... if prima condizione Then codice else if "chiudi posizione" falsa (boleana) goto esci endif if seconda condizione Then codice esci:
endif endif ....... Il sistema non mi esegue nel caso di "chiudi posizione falsa" il codice della seconda condizione! Tieni presente che se elimino la condizione il sistema esegue correttamente. Dove sbaglio? Grazie
|
5 L A T E S T R E P L I E S (Newest First) |
SupportoTecnico |
Posted - 06 April 2006 : 14:26:38 Quello da te descritto dovrebbe essere un pezzo del modulo "Entra in Acquisto".
Quindi io modificherei la cosa in questo modo:
[Modulo Entra in Acquisto]
if (prima condizione) OR (pbReverseShort = True) then pbReverseShort = False bresult = true price close stoplong = low endif
[Modulo Chiudi Short] ..... if (low < stopshort) then pbReverseShort = True Return True endif ......
[Modulo Entra in vendita] ..... pbReverseShort = False 'questa riga mettila per prima nella funzione Main ......
[Modulo Opzioni Comuni] ..... Dim pbReverseShort As Boolean = False ......
Ovviamente esisterà anche pbReverseLong che andrà posizionata nei vari moduli in modo complementare a pbReverseShort
|
luigi_amodeo |
Posted - 06 April 2006 : 12:58:18 provo a scriverti il TS ............ if prima condizione then bresult = true price close stoplong = low else if chiudiposizione acquisto = false then if low < stopshort then bresult = true price close stoplong = low endif endif ....... Tieni presente che le variabili sono tutte correttamente dichiarate e che stopshort viene dal modulo "entra in vendita" e "chiudi posizione acquisto" dal modulo "chiudi long". La definizione degli stopshort e long consente di rigirare le posizioni.Coì come l'ho scritto non mi effettua i reverse mentre se elimino la condizione del "chiudi posizione acquisto" i reverse vengono eseguiti correttamente. Se non inserisco alcuna condizione mi effettua reverse di posizioni già chiuse.
|
SupportoTecnico |
Posted - 06 April 2006 : 12:44:34 Dipenderà dalla condizione di ingresso all'IF! Più di così non posso aiutarti se non ho il codice esatto. |
luigi_amodeo |
Posted - 06 April 2006 : 11:04:09 Ho eliminato il goto ma il sistema non mi esegue il secondo if!
|
SupportoTecnico |
Posted - 06 April 2006 : 09:58:33 L'etichetta "esci:" è in una posizione critica.. saltare all'interno di un IF, ignorando la condizione di entrata nell'IF, non è il modo migliore di scrivere il codice.
Togli il "Goto" e cerca di riscrivere il tutto senza mai usarlo. E' una buona regola infatti usare il "Goto" solo in casi di assoluta necessità, insomma se non se ne può proprio fare a meno.. come ad esempio l'uscita anticipata da un ciclo FOR.
|