Insider 3000 - Forums
Insider 3000 - Forums
Home | Profile | Active Topics | Members | Search | FAQ
 All Forums
 Problemi con "Insider 3000 versione 3"
 Problemi col linguaggio di programmazione
 E' corretto?

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
alberto.tortella Posted - 22 February 2005 : 22:40:29
Vorrei sapere se il codice che vi riporto qui sotto ? corretto.

La logica ? semplice: entra lungo se entrambe le condizioni si verificano nell'arco di 3 sedute. Grazie.

Dim lCount as Numeric = 0
Dim bCrossActive1 As Boolean = False
Dim bCrossActive2 As Boolean = False

Function Main()

if (bCrossActive1 = False) then
If (bCrossActive2 = False) then

lCount = 0
bCrossActive1 = CrossAbove(Close, MoveAv(High, 40))
bCrossActive2 = CrossBelow(Sar, Close)

endif
endif


If (bCrossActive1 = True) Then
lCount = lCount + 1
if (lCount <= 3) then
if (bCrossActive2 = True) Then
lCount = 0
bCrossActive1 = False
Return True
EndIf
else
lCount = 0
bCrossActive1 = False
Endif
EndIf

If (bCrossActive2 = True) Then
lCount = lCount + 1
if (lCount <= 3) then
if (bCrossActive1 = True) Then
lCount = 0
bCrossActive2 = False
Return True
EndIf
else
lCount = 0
bCrossActive2 = False
Endif
EndIf



Return False

EndFunction

3   L A T E S T    R E P L I E S    (Newest First)
SupportoTecnico Posted - 03 March 2005 : 14:26:34
Si, ? corretto perch? hai una media mobile a 40 periodi.
Quindi ti servono almeno almeno 40 periodi per avere un valore di media mobile.

alberto.tortella Posted - 02 March 2005 : 22:46:43
Mi sono accorto che con questo sistema riesco a generare i segnali solamente se metto una data di partenza abbastanza lontana, ad esempio 1 Gennaio 2005.
Se invece metto come data inizio 3 giorni fa non si genera mai nessun segnale.
E' normale secondo voi o c'? qualcosa che non va?
Grazie.

SupportoTecnico Posted - 23 February 2005 : 14:27:18
Lo sforzo ? ammirevole. Tuttavia ci sono alcuni errori di logica per i quali il codice non si comporta proprio come desiderato.

Eccoti una soluzione alternativa:


Dim lCount as Numeric = 0
Dim bCrossActive1 As Boolean = False
Dim bCrossActive2 As Boolean = False

Function Main()

lCount = lCount + 1

if (lCount <= 3) then
if (bCrossActive1 = False) then
bCrossActive1 = CrossAbove(Close, MoveAv(High, 40))
endif
If (bCrossActive2 = False) then
bCrossActive2 = CrossBelow(Sar, Close)
endif

if ((bCrossActive1 = True) And (bCrossActive2 = True)) then
lCount = 0
bCrossActive1 = False
bCrossActive2 = False
Return True
endif
Else
lCount = 0
bCrossActive1 = False
bCrossActive2 = False
endif

Return False

EndFunction




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