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
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.
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.