Insider 3000 - Forums
Insider 3000 - Forums
Home | Profile | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Problemi con "Insider 3000 versione 3"
 Problemi col linguaggio di programmazione
 Volumi
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Pingu
Nuovo Utente

29 Posts

Posted - 24 February 2005 :  21:46:42  Show Profile  Reply with Quote
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!

SupportoTecnico
Forum Admin

1261 Posts

Posted - 24 February 2005 :  21:58:39  Show Profile  Reply with Quote
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




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