Insider 3000 - Forums
Insider 3000 - Forums
Home | Profile | Active Topics | Members | Search | FAQ
 All Forums
 Help
 Aiuti, consigli, dubbi ...
 ciclo for

Note: You must be registered in order to post a reply.

Screensize:
UserName:
Password:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkInsert Email Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

   
   

T O P I C    R E V I E W
luigi_amodeo Posted - 30 March 2006 : 11:40:36
Voglio ottenere la verifica in un T.S. se la condizione posta si realizza nelle barre successive con l'utilizzo del ciclo for: mi puoi verificare la corretta sintassi

......
if A > B
for i = 1 to optmax
if max(high, + i) > high

bresult = true
endif
nexti
price high+0.5
......

5   L A T E S T    R E P L I E S    (Newest First)
SupportoTecnico Posted - 31 March 2006 : 10:51:23

Il problema non è legato certamente al Goto. Scritto così infatti è corretto. Non ci sono dubbi.
Prova a controllare meglio l'intero codice utilizzando il debug passo passo dell'Editor. In questo modo vedi subito cosa succede durante l'esecuzione del codice.
luigi_amodeo Posted - 31 March 2006 : 10:23:24
Lo spazio dell'etichetta è stato un errore di digitazione, ma non si realizza l'uscita dal ciclo: infatti al variare del valore di "i" ottengo segnali diversi! perchè?

SupportoTecnico Posted - 31 March 2006 : 09:59:20

Il segnale viene sempre posto nel periodo in elaborazione che non cambia durante l'esecuzione del codice. In pratica l'interprete esegue tutto il codice per ogni periodo della tua serie storica. Quindi parte dal primo periodo, esegue tutto il codice fino alla fine, poi passa al secondo periodo ed esegue tutto il codice fino alla fine e via di seguito.

Per quanto riguarda il Goto la sintassi è corretta tranne il fatto che ovviamente l'etichetta fuori dal ciclo deve essere uguale a quella del Goto.. invece vedo che da una parte hai scritto ExitCicloFor e dall'altra "Exit CicloFor" con lo spazio di mezzo.
luigi_amodeo Posted - 31 March 2006 : 09:16:38
Ti ringrazio per i chiarimenti ma adesso ho un'altro problema: dopo l'avvìo del ciclo for ho aggiunto goto exitciclofor ma l'interprete non esce dal ciclo appena trova la condizione, infatti al variare dell'ammontare dell'indice mi varia i segnali. Dove sbaglio?

......
if prima condizione then
for i = 1 to opti
if seconda condizione then
bresult = true
goto exitciclofor
endif
next i
exit ciclofor:
.............

Altro problema è determinato dal fatto che il segnale viene posto sulla barra della prima condizione e non su quella del ciclo For

SupportoTecnico Posted - 30 March 2006 : 12:52:57
Quasi giusto!
Solo 3 errori:

1) hai dimenticato il "Then" nei vari if
2) il "Next" va staccato da "i"
3) hai dimenticato l'Endif che chiude il primo IF => if A > B Then

Quindi:

......
if A > B Then
for i = 1 to optmax
if max(high, i) > high Then
bresult = true
endif
next i
endif

price high + 0.5
......


Una nota:

Attento che la funzione Max è piuttosto lenta se il parametro "Period" è elevato.. inoltre il parametro "Period" è il numero di periodi precedenti la barra corrente (quest'ultima compresa) coinvolti nel calcolo. Se omesso saranno considerati tutti i periodi dal primo a quello in elaborazione (CurrentBar). L'ho ribadito per essere sicuro che tu abbia capito come utilizzarlo.


Insider 3000 - Forums © Copyright 2003-2016 Tradersoft s.r.l. Go To Top Of Page
Powered By: Snitz Forums 2000 Version 3.4.07