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 ...
 difficoltà su trading system
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

luigi_amodeo
Nuovo Utente

41 Posts

Posted - 06 April 2006 :  09:47:43  Show Profile  Reply with Quote
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

SupportoTecnico
Forum Admin

1261 Posts

Posted - 06 April 2006 :  09:58:33  Show Profile  Reply with Quote

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.

Go to Top of Page

luigi_amodeo
Nuovo Utente

41 Posts

Posted - 06 April 2006 :  11:04:09  Show Profile  Reply with Quote
Ho eliminato il goto ma il sistema non mi esegue il secondo if!

Go to Top of Page

SupportoTecnico
Forum Admin

1261 Posts

Posted - 06 April 2006 :  12:44:34  Show Profile  Reply with Quote

Dipenderà dalla condizione di ingresso all'IF!
Più di così non posso aiutarti se non ho il codice esatto.
Go to Top of Page

luigi_amodeo
Nuovo Utente

41 Posts

Posted - 06 April 2006 :  12:58:18  Show Profile  Reply with Quote
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.

Go to Top of Page

SupportoTecnico
Forum Admin

1261 Posts

Posted - 06 April 2006 :  14:26:38  Show Profile  Reply with Quote

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

Go to Top of Page
  Previous Topic Topic Next Topic  
 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