1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
from decimal import *
import MySQLdb
db = MySQLdb.connect('localhost', 'admin', 'adminadmin', 'boursinfo')
curs = db.cursor()
# marche
varcondition = 'Select a.id_histo,a.valeur_cloture, b.MME12, b.MME26,b.MM9,a.instrument_id From Historique a, MACD b Where substr(a.Date,1,10)=curdate() and b.histo_id = (select max(c.histo_id) from macd c where c.instrument_id = a.instrument_id)'
curs.execute(varcondition)
curscondition = curs.fetchall()
for row in curscondition:
idhisto = float(row[0])
valCloture = float(row[1])
MME12old = float(row[2])
MME26old = float(row[3])
MM9old = float(row[4])
instrid = float(row[5])
MME12= valCloture*(2/13.0)+MME12old*(1-(2/13.0))
MME26= valCloture*(2/27.0)+MME26old*(1-(2/27.0))
MACD= MME26-MME12
MM9= MACD*(1/5.0)+MM9old*(1-(1/5.0))
signal=MACD-MM9
print MME12old
print MME12
print MME26old
print MME26
print MM9old
print MM9
print instrid
print valCloture
print idhisto
print MACD
print signal
sqlInsert ='insert into MACD (MME12,MME26,MACD,MM9,signal,histo_id,instrument_id)values (%f,%f,%f,%f,%f,%s,%f)' %(MME12,MME26, MACD, MM9, signal,idhisto,instrid)
try:
curs.execute(sqlInsert)
except (MySQLdb.ProgrammingError, MySQLdb.OperationalError), error:
msg = "Error %d: %s" % (error.args[0], error.args[1])
print msg
curs.close()
db.commit()
db.close() |
Partager