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
 primi passi..
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

antonello
Nuovo Utente

1 Posts

Posted - 29 January 2008 :  22:28:19  Show Profile  Reply with Quote
Buongiorno, premetto che sono un grafico, con piccola esperienza di programmatore. Sto realizzando per un cliente un sito web. Il cliente in questione mi ha chiesto un aiuto per la programmazione di un suo TS, ma l'argomento mi è pressochè sconosciuto, e non trovo molto codice di esempio. Il mio primo problema ad es. è il seguente:
devo confrontare la chiusura della prima ora di tutti i giorni con i min e max della giornata; pensavo di fare un ciclo con l'offset in avanti, ma il file dati potrebbe avere delle righe mancanti; dovrei ciclare finchè gli offset orari abbiano la stessa data del primo, ma come lo controllo? posso usare una cosa tipo if Day(Hour(periodocorrente)) etc? Questo è solo un esempio..

SupportoTecnico
Forum Admin

1261 Posts

Posted - 30 January 2008 :  12:27:04  Show Profile  Reply with Quote
Prima di tutto è importante capire un concetto fondamentale:

- lo script che stai scrivendo per il TS viene eseguito per ogni periodo della tua base dati. Questo significa che (a meno di casi particolari) non devi eseguire un ciclo sui periodi della base dati perchè questo viene fatto in automatico.

Ti faccio un esempio:
- Se volessi costruire un indicatore il cui valore è la chiusura del periodo moltiplicato per 2, scriverei:

Function Main()
Return Close * 2
EndFunction

Come vedi non ci sono cicli sui dati perchè il ciclo principale è implicito e cioè lo script viene eseguito automaticamente per ogni periodo della base dati.

Detto questo il mio suggerimento per il tuo TS:

function Main()

if (Date ( - 1) = date) then
if (time( - 1) >= 930000) and time( - 1) <= 1030000 then
if (time > 1030000) then
if close( - 1) > Maxex(high, "D") then
'..................
endif
endif
endif
endif

endfunction


In pratica, quando trovo il periodo che supera la prima ora di contrattazioni (io ho preso simbolicamente 9:30 - 10:30), confronto la chiusura con il massimo dello stesso giorno.
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