Discussione: Salvataggio dati e creazione di piccolo database
Visualizzazione Ibrida
-
03-02-15, 11:57 #1
- Data Registrazione
- Mar 2013
- Messaggi
- 192
Domanda a Ismael
Ciao Ismael
Intanto ti vorrei ringraziare, per quello che fai per noi „non esperti“.
Incuriosito da questo script, l’ho inserito in Fiuto, purtroppo mi da un errore e si blocca.
Sfortunatamente non riesco a rivolvere il problema.
In più non riesco a decifrare questa frase, dove devo scrivere “3000” non avendo il file?
'prende l'atm da un file txt oppure si può impostare scrivendo ATM = 3000
ATMf = new TStringList()
ATMf.LoadFromFile("C:\Users\Alex\Dropbox\ATM.TXT")
ATM= Cint(ATMf.text) ATM=3000 sarebbe giusto?
ATMf.free
Intanto grazie
Alex
-
03-02-15, 12:06 #2
- Data Registrazione
- Jan 2011
- Località
- Castiglioncello (LI)
- Messaggi
- 240
Ora non sono in ufficio... Appen posso correggo..
L errore e quel 4 prima delle virgolette che va tolto.
E ok scrivere ATM= 3000 ma lo devi scrivere in una riga sotto atmf.free
Grazie a te per interesse... Se siamo in due o tre attivo lo spazio per raccoltaE' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.
-
03-02-15, 15:50 #3
- Data Registrazione
- Jan 2011
- Località
- Castiglioncello (LI)
- Messaggi
- 240
Ho messo in condivisione una strategia con nome "conscriptsalvadati" dove c'è lo script funzionante... fare copia ed incolla dal forum provoca delle volte errori...
Ultima modifica di Ismael; 03-02-15 alle 17:14
E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.
-
03-02-15, 19:34 #4
- Data Registrazione
- Mar 2013
- Messaggi
- 192
Ciao Ismael
Intanto grazie, anche se in qualche modo al interno alla condivisione non trovo il file script, sono riuscito a farlo funzionare.
Ultima domanda, come devo impostare gli strike della chain per E-Mini S&P?
Ho fatto così, pero nel file 322015askbidticksAlex.text vengono tuti 0
correzioneatm = (ATM - int(mainunderlying.Last/5)*5)/5 'assegnazione di una variabile array ad ogni opzione for i = 0 to 4 strike = cstr(cstr(ATM) + (i-2)*5)
E-MINI S&P 500 03/02/2015 ATM:3000
2029.25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2029.25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2029.25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2029.25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2031.25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Grazie
AlexUltima modifica di Alex1; 03-02-15 alle 19:40
-
04-02-15, 13:03 #5
- Data Registrazione
- Jan 2011
- Località
- Castiglioncello (LI)
- Messaggi
- 240
Ciao, ho messo in condivisione la strategia con lo script funzionante su emini500... riesci a trovarla?
Comunque basta cambiare lo strike step da 25 a 5 (sostituisci tutti i 25 con 5)
Fammi sapere.E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.
-
04-02-15, 15:52 #6
- Data Registrazione
- Mar 2013
- Messaggi
- 192
-
04-02-15, 16:02 #7
- Data Registrazione
- Jan 2011
- Località
- Castiglioncello (LI)
- Messaggi
- 240
Penso proprio di si...
provo a postarlo così:
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, Tuonome, smese
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)
'scrivi il tuo nome
tuonome = "Apo"
'scegli il mese di scadenza
smese = 2
if mese<10 then
nextexpma = "0"+cstr(smese) + "-" + cstr(anno)
else
nextexpma = cstr(smese) + "-" + cstr(anno)
end if
'crea il nome del file giornaliero
'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
ATM = 2035
Filename = "c:\users\user\dropbox\" + cstr(giorno) + cstr(mese) + cstr(anno) + cstr(smese) + "askbidticks" + tuonome + ".txt"
correzioneatm = (ATM - int(mainunderlying.Last/5)*5)/5
'assegnazione di una variabile array ad ogni opzione
for i = 0 to 4
strike = cstr(cstr(ATM) + (i-2)*5)
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:"&cstr(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)
end ifE' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.