- Forum
- Forum di PlayOptions - discussioni, analisi, procedure, per un trading vincente
- Fiuto PRO
- Linguaggio di Script
- Salvataggio dati e creazione di piccolo database
Risultati da 1 a 10 di 16
Discussione: Salvataggio dati e creazione di piccolo database
Visualizzazione Elencata
-
30-01-15, 15:01 #2Ciao a tutti, posto una versione aggiornata di uno script che ho già postato. Salva ask,bid,numero di ticks dei 5 strike più atm. E' impostato per eurostoxx50 ma basta modificare lo step tra gli strike per adattarlo ad altri sottostanti.
Si potrebbe fare un piccolo database su una cartella di dropbox se qualcuno è interessato (e sempre che il capo sia d'accordo )
' SCRIPT PERSONALITY: BASIC ' ' This is a sample code ! ' Write here your own code. ' This editor supports auto-completion. ' Press CTRL+Space to display a list of available functions and objects. ' To access objects properties, use the dot ('.') character. uses classes uses SysUtils dim f as textfile dim callss as tsecurity dim mainunderlying as tunderlying dim bidsc as tprice = [0,0,0,0,0] dim asksc as tprice = [0,0,0,0,0] dim bidsp as tprice = [0,0,0,0,0] dim asksp as tprice = [0,0,0,0,0] dim correzioneatm,i as double dim ATMf as Tstringlist dim ATM,Filename,strtosave,ATMtit as string dim calls as toption = [0,0,0,0,0] dim puts as toption = [0,0,0,0,0] dim underisin,anno, mese, giorno,nextexpma ,strike dim varbidtickc as double = [0,0,0,0,0] dim varasktickc as double = [0,0,0,0,0] dim varbidtickp as double = [0,0,0,0,0] dim varasktickp as double = [0,0,0,0,0] mainUnderlying = CurrentStrategy.GetMainUnderlying() underisin = mainunderlying.isin DecodeDate(Now(), anno, mese, giorno) nextexpma = "0"+cstr(mese+1) + "-" + cstr(anno) 'crea il nome del file giornaliero Filename = "C:\Users\user\Dropbox\" + cstr(giorno) + cstr(mese) + cstr(anno) + "askbidticks" + ".txt" 'prende l'atm da un file txt oppure si può impostare scrivendo ATM = 3000 ATMf = new TStringList() ATMf.LoadFromFile("C:\Users\user\Dropbox\ATM.TXT") ATM=Cint(ATMf.text) ATMf.free correzioneatm = (ATM - int(mainunderlying.Last/25)*25)/25 'assegnazione di una variabile array ad ogni opzione for i = 0 to 4 strike = cstr(cstr(ATM) + (i-2)*25) calls[i] = CurrentStrategy.getbyName("C @ "+strike+" "+nextexpma) puts[i] = CurrentStrategy.GetByName("P @ "+strike+" "+nextexpma) next for i=-2 to 2 step 1 bidsc[i+2]=calls[i+2].bidObject asksc[i+2]=calls[i+2].askobject varbidtickc[i+2]=bidsc[i+2].tickcounter varasktickc[i+2]=asksc[i+2].tickcounter bidsp[i+2]=puts[i+2].bidObject asksp[i+2]=puts[i+2].askobject varbidtickp[i+2]=bidsp[i+2].tickcounter varasktickp[i+2]=asksp[i+2].tickcounter next strtosave= cstr(mainUnderlying.Last)&" "& cstr(calls[0].ask)&" "&cstr(varasktickc[0])&" "&cstr(calls[0].bid)&" "&cstr(varbidtickc[0])&" "& cstr(puts[0].ask)&" "&cstr(varasktickp[0])&" "&cstr(puts[0].bid)&" "&cstr(varbidtickp[0])&" "& cstr(calls[1].ask)&" "&cstr(varasktickc[1])&" "&cstr(calls[1].bid)&" "&cstr(varbidtickc[1])&" "& cstr(puts[1].ask)&" "&cstr(varasktickp[1])&" "&cstr(puts[1].bid)&" "&cstr(varbidtickp[1])&" "& cstr(calls[2].ask)&" "&cstr(varasktickc[2])&" "&cstr(calls[2].bid)&" "&cstr(varbidtickc[2])&" "& cstr(puts[2].ask)&" "&cstr(varasktickp[2])&" "&cstr(puts[2].bid)&" "&cstr(varbidtickp[2])&" "& cstr(calls[3].ask)&" "&cstr(varasktickc[3])&" "&cstr(calls[3].bid)&" "&cstr(varbidtickc[3])&" "& cstr(puts[3].ask)&" "&cstr(varasktickp[3])&" "&cstr(puts[3].bid)&" "&cstr(varbidtickp[3])&" "& cstr(calls[4].ask)&" "&cstr(varasktickc[4])&" "&cstr(calls[4].bid)&" "&cstr(varbidtickc[4])&" "& cstr(puts[4].ask)&" "&cstr(varasktickp[4])&" "&cstr(puts[4].bid)&" "&cstr(varbidtickp[4]) if SysUtils.FileExists(FileName)then AssignFile(f, Filename) Append(f) Writeln(f, strtosave) CloseFile(f) else strtosave = mainUnderlying.name & " " & DateToStr(date()) &" "& "ATM:"&ATM AssignFile(f, Filename) Rewrite(f) Writeln(f, strtosave) CloseFile(f) 'inserimento nella strategia delle 5 + 5 opzioni più atm for i=-5 to 5 step 1 CurrentStrategy.AddParametricOption(underisin,CALL,correzioneatm-i,5) CurrentStrategy.AddParametricOption(underisin,PUT,correzioneatm-i,5) next SetPersistentVar(ATMtit,ATM)
ottima idea!..se corri dietro a due lepri, non ne prendi nemmeno una.
Navigazione Rapida
Linguaggio di Script
TOP
- Aree Sito
- Impostazioni
- Messaggi Privati
- Sottoscrizioni
- Chi è Online
- Ricerca nei Forum
- Home Page Forum
- Forum
- Forum di PlayOptions - discussioni, analisi, procedure, per un trading vincente