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
 Volumi

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
Pingu Posted - 24 February 2005 : 21:46:42
Ho provato a compilare un codice per ottenere un segnale di acquisto in caso di incremento dei volumi in associazione con uno strappo verso l'alto del prezzo.

Il codice e' il seguente


Option Opt1(2, 5, 1)
Option Opt2(5, 15, 1)
Option Opt3(5, 15, 1)
Dim pdStopLoss As Numeric = 0



Function main()
Dim bSignal As Boolean = False
pdStopLoss = 0
bSignal = (Volume >= Sum(Volume, Opt1) And Close >= Max(High, Opt2))
If (bSignal = True) Then
pdStopLoss = (Low - Low * 0.01)
EndIf
Return bSignal
Endfunction



Function main()
Return (Close <= Min(Close, Opt3) Or (Close <= pdStopLoss))
Endfunction



Purtroppo quando lancio il test sembra funzionare (non da' errore), ma non ottengo nessun risultato (nelle "posizioni" sono sempre "fuori")!
Mi potete aiutare a capire dove sbaglio?
Grazie!

1   L A T E S T    R E P L I E S    (Newest First)
SupportoTecnico Posted - 24 February 2005 : 21:58:39
Probabilmente ? questo pezzo di codice che non ? mai vero:

Volume >= Sum(Volume, Opt1)

in pratica il Volume non ? mai maggiore o uguale alla somma dei volumi degli Opt1 giorni precedenti compreso quello attuale.

E' come se tu scrivessi:

10 >= 10 + ....

Quindi prova a sostituire quel pezzo di codice con questo:

Volume >= (Sum(Volume, Opt1) - Volume)


e inoltre togli la riga:

pdStopLoss = 0

che potrebbe settare pdStopLoss a zero nel momento sbagliato.


In pratica scrivi cos?:


Option Opt1(3, 6, 1)
Option Opt2(5, 15, 1)
Option Opt3(5, 15, 1)
Dim pdStopLoss As Numeric = 0


Function main()
Dim bSignal As Boolean = False

bSignal = ((Volume >= (Sum(Volume, Opt1) - Volume)) And (Close >= Max(High, Opt2)))
If (bSignal = True) Then
pdStopLoss = (Low - Low * 0.01)
EndIf
Return bSignal
Endfunction


Function main()
Return (Close <= Min(Close, Opt3) Or (Close <= pdStopLoss))
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