本文整理汇总了C++中DBIndexItem::setSymbol方法的典型用法代码示例。如果您正苦于以下问题:C++ DBIndexItem::setSymbol方法的具体用法?C++ DBIndexItem::setSymbol怎么用?C++ DBIndexItem::setSymbol使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DBIndexItem
的用法示例。
在下文中一共展示了DBIndexItem::setSymbol方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: openDb
bool CSV::openDb (QString &path, QString &symbol, QString &type, bool tickFlag)
{
if (db.open(path, chartIndex))
{
qDebug("CSV::openDb:can't open chart");
QString ss("CSV::OpenDb:Could not open db.");
printStatusLogMessage(ss);
db.close();
return TRUE;
}
QString s;
DBIndexItem item;
chartIndex->getIndexItem(symbol, item);
item.getSymbol(s);
if (! s.length())
{
if (! type.compare("Futures"))
{
db.setType(DbPlugin::Futures1);
if (db.createNewFutures())
{
db.close();
return TRUE;
}
}
else
{
if(db.createNewStock())
{
db.close();
return TRUE;
}
}
item.setSymbol(symbol);
item.setBarType(tickFlag);
chartIndex->setIndexItem(symbol, item);
}
// verify if this chart can be updated by this plugin
item.getQuotePlugin(s);
if (! s.length())
{
item.setQuotePlugin(pluginName);
chartIndex->setIndexItem(symbol, item);
}
else
{
if (s.compare(pluginName))
{
s = symbol + " - skipping update. Source does not match destination.";
printStatusLogMessage(s);
db.close();
return TRUE;
}
}
return FALSE;
}
示例2: createNewFutures
bool DbPlugin::createNewFutures ()
{
QString s;
DBIndexItem item;
chartIndex->getIndexItem(indexKey, item);
item.getSymbol(s);
if (s.length())
{
qDebug("DbPlugin::createNewStock: duplicate symbol %s", s.latin1());
return TRUE;
}
type = Futures1;
FuturesData fd;
if (fd.setSymbolPath(symbol))
return TRUE;
s = "Futures";
item.setType(s);
fd.getName(s);
item.setTitle(s);
item.setSymbol(indexKey);
fd.getSymbol(s);
item.setFuturesType(s);
s = symbol.right(1);
item.setFuturesMonth(s);
chartIndex->setIndexItem(indexKey, item);
return FALSE;
}
示例3: createNewStock
bool DbPlugin::createNewStock ()
{
QString s;
DBIndexItem item;
chartIndex->getIndexItem(indexKey, item);
item.getSymbol(s);
if (s.length())
{
qDebug("DbPlugin::createNewStock: duplicate symbol %s", s.latin1());
return TRUE;
}
type = Stock1;
s = "Stock";
item.setType(s);
item.setTitle(indexKey);
item.setSymbol(indexKey);
chartIndex->setIndexItem(indexKey, item);
return FALSE;
}
示例4: createNewCC
bool DbPlugin::createNewCC (DBIndex *i)
{
FuturesData fd;
QStringList l;
fd.getSymbolList(l);
QString pl = QObject::tr("Parms");
QString fsl = QObject::tr("Futures Symbol");
QString gl = QObject::tr("Gapless");
PrefDialog *dialog = new PrefDialog(0);
dialog->setCaption(QObject::tr("New CC"));
dialog->createPage (pl);
dialog->setHelpFile(helpFile);
dialog->addComboItem(fsl, pl, l, 0);
dialog->addCheckItem(gl, pl, TRUE);
int rc = dialog->exec();
if (rc != QDialog::Accepted)
{
delete dialog;
return TRUE;
}
QString sym;
dialog->getCombo(fsl, sym);
bool f = dialog->getCheck(gl);
delete dialog;
QDir dir;
Config config;
QString s;
config.getData(Config::DataPath, s);
s.append("/CC");
if (! dir.exists(s))
{
if (! dir.mkdir(s, TRUE))
{
QMessageBox::information(0,
QObject::tr("Qtstalker: Error"),
QObject::tr("Could not create ~/.qtstalker/data/CC directory."));
return TRUE;
}
}
DBIndexItem item;
QString ts;
chartIndex->getIndexItem(sym, item);
item.getSymbol(ts);
if (ts.length())
{
qDebug("DbPlugin::createNewStock: duplicate symbol %s", ts.latin1());
return TRUE;
}
s.append("/" + sym);
if (open(s, i))
{
QMessageBox::information(0,
QObject::tr("Qtstalker: Error"),
QObject::tr("Disk error, cannot create chart"));
return TRUE;
}
type = CC1;
item.setSymbol(sym);
s = "CC";
item.setType(s);
s = sym + " - " + QObject::tr("Continuous Adjusted");
item.setTitle(s);
chartIndex->setIndexItem(indexKey, item);
s = QString::number(f);
sym = "Adjustment";
setData(sym, s);
return FALSE;
}
示例5: createNewSpread
bool DbPlugin::createNewSpread (DBIndex *i)
{
bool ok = FALSE;
QString sn = QInputDialog::getText(QObject::tr("New Spread"),
QObject::tr("Enter symbol name for the new Spread"),
QLineEdit::Normal,
QString::null,
&ok,
0);
if (! sn.length() || ok == FALSE)
return TRUE;
QDir dir;
Config config;
QString s;
config.getData(Config::DataPath, s);
s.append("/Spread");
if (! dir.exists(s))
{
if (! dir.mkdir(s, TRUE))
{
QMessageBox::information(0, QObject::tr("Qtstalker: Error"), QObject::tr("Could not create Spread directory."));
return TRUE;
}
}
s.append("/" + sn);
if (dir.exists(s))
{
QMessageBox::information(0, QObject::tr("Qtstalker: Error"), QObject::tr("This Spread already exists."));
return TRUE;
}
DBIndexItem item;
QString ts;
chartIndex->getIndexItem(sn, item);
item.getSymbol(ts);
if (ts.length())
{
qDebug("DbPlugin::createNewStock: duplicate symbol %s", sn.latin1());
return TRUE;
}
if (open(s, i))
{
QMessageBox::information(0,
QObject::tr("Qtstalker: Error"),
QObject::tr("Disk error, cannot create chart"));
return TRUE;
}
type = Spread1;
item.setSymbol(indexKey);
s = "Spread";
item.setType(s);
item.setTitle(indexKey);
chartIndex->setIndexItem(indexKey, item);
spreadPref();
return FALSE;
}
示例6: saveHeaderData
void UpgradeMessage::saveHeaderData (DbPlugin &db, QString &k, QString &d, QString &sym, DBIndexItem &item)
{
// is this a co key?
bool ok = FALSE;
double t = k.toDouble(&ok);
if (ok)
{
if (t < 10000)
{
// its a chart object
Setting t;
t.parse(d);
QString s = "Plugin";
QString s2;
t.getData(s,s2);
if (s2.length())
{
t.remove(s);
s = "Type";
t.setData(s, s2);
}
s = "Plot";
t.getData(s, s2);
if (! s2.compare("Main Plot"))
{
s2 = "Bars";
t.setData(s, s2);
}
else
return;
index.setChartObject(sym, k, t);
return;
}
}
if (! k.compare("Type"))
{
item.setType(d);
return;
}
if (! k.compare("FuturesType"))
{
item.setFuturesType(d);
return;
}
if (! k.compare("FuturesMonth"))
{
item.setFuturesMonth(d);
return;
}
if (! k.compare("BarType"))
{
item.setBarType(d);
return;
}
if (! k.compare("Fundamentals"))
{
index.setFundamentals(sym, d);
return;
}
if (! k.compare("LocalIndicators"))
{
index.addIndicator(sym, d);
return;
}
if (! k.compare("QuotePlugin"))
{
item.setQuotePlugin(d);
return;
}
if (! k.compare("Symbol"))
{
item.setSymbol(d);
return;
}
if (! k.compare("Title"))
{
item.setTitle(d);
return;
}
if (! k.compare("Path"))
{
item.setPath(d);
return;
}
if (! k.compare("SpreadFirstSymbol"))
{
int t = d.find("/data0/", 0, TRUE);
//.........这里部分代码省略.........
示例7: parseFundamental
void Yahoo::parseFundamental ()
{
if (! data.length())
return;
if (data.contains("no data available"))
return;
QStringList l = QStringList::split("yfnc_tablehead1", data, FALSE);
int loop;
Setting fund;
for (loop = 1; loop < (int) l.count(); loop++)
{
QString k = l[loop];
int p = k.find(">", 0, TRUE);
if (p == -1)
continue;
p++;
k.remove(0, p);
p = k.find("<", 0, TRUE);
if (p == -1)
continue;
k.truncate(p);
if (k.contains("&sup"))
k.truncate(k.length() - 6);
if (k.contains("&"))
k.remove(k.find("&", 0, TRUE), 5);
k = k.stripWhiteSpace();
if (! k.length())
continue;
QString d = l[loop];
p = d.find("yfnc_tabledata1", 0, TRUE);
if (p == -1)
continue;
p = d.find(">", p, TRUE);
if (p == -1)
continue;
p++;
d.remove(0, p);
p = d.find("<", 0, TRUE);
if (p == -1)
continue;
d.truncate(p);
d = d.stripWhiteSpace();
if (! d.length())
continue;
fund.setData(k, d);
}
QString s = dataPath + "/";
QString ts = "symbol";
QString ts2;
currentUrl->getData(ts, ts2);
QFileInfo fi(ts2);
if (fi.extension(FALSE).length())
s.append(fi.extension(FALSE).upper());
else
s.append("US");
s.append("/");
s.append(ts2);
if (plug.open(s, chartIndex))
{
QString ss(tr("Could not open db"));
printStatusLogMessage(ss);
return;
}
QString fn = ts2;
// verify if this chart can be updated by this plugin
DBIndexItem item;
chartIndex->getIndexItem(fn, item);
item.getSymbol(s);
if (! s.length())
{
if(plug.createNewStock())
{
plug.close();
return;
}
chartIndex->getIndexItem(fn, item);
item.setQuotePlugin(pluginName);
item.setSymbol(ts2);
QString title = ts2;
int p = data.find("yfnc_leftnav1", 0, TRUE);
if (p != -1)
{
p = data.find("b>", p, TRUE);
if (p != -1)
{
p = p + 2;
int p2 = data.find("<", p, TRUE);
if (p2 != -1)
{
//.........这里部分代码省略.........
示例8: parseQuote
void Yahoo::parseQuote ()
{
if (! data.length())
return;
QFile f(file);
if (! f.open(QIODevice::WriteOnly))
return;
Q3TextStream stream(&f);
stream << data;
f.close();
f.setName(file);
if (! f.open(QIODevice::ReadOnly))
return;
stream.setDevice(&f);
QString s = dataPath + "/";
QString ts = "symbol";
QString ts2;
currentUrl->getData(ts, ts2);
QFileInfo fi(ts2);
if (fi.extension(FALSE).length())
s.append(fi.extension(FALSE).upper());
else
s.append("US");
s.append("/");
s.append(ts2);
if (plug.open(s, chartIndex))
{
QString ss(tr("Could not open db"));
printStatusLogMessage(ss);
f.close();
return;
}
QString fn = ts2;
// verify if this chart can be updated by this plugin
DBIndexItem item;
chartIndex->getIndexItem(fn, item);
item.getSymbol(s);
if (! s.length())
{
if (plug.createNewStock())
{
f.close();
plug.close();
return;
}
chartIndex->getIndexItem(fn, item);
item.setSymbol(ts2);
item.setTitle(ts2);
item.setQuotePlugin(pluginName);
chartIndex->setIndexItem(fn, item);
}
// item.getQuotePlugin(s);
// if (s.compare(pluginName))
// {
// s = ts2 + " - " + tr("skipping update. Source does not match destination");
// printStatusLogMessage(s);
// f.close();
// plug.close();
// return;
// }
while(stream.atEnd() == 0)
{
ts = stream.readLine();
QStringList l = QStringList::split( '\n', substituteSeparator( ts, ',', '\n' ), FALSE);
if (l.count() < 9 || l.count() > 10)
{
QString ss = tr("Parse: invalid number of parameters") + " '" + ts2 + "' " + tr("skipped");
printStatusLogMessage(ss);
errorList.append(ts2);
continue;
}
// get date
QStringList l2 = QStringList::split("/", l[3], FALSE);
if (l2.count() != 3)
continue;
QString date = l2[2];
if (l2[0].toInt() < 10)
date.append("0");
date.append(l2[0]);
if (l2[1].toInt() < 10)
date.append("0");
date.append(l2[1]);
date.append("000000");
Bar bar;
if (bar.setDate(date))
{
//.........这里部分代码省略.........
示例9: parseHistory
void Yahoo::parseHistory ()
{
if (! data.length())
return;
if (data.contains("No data available"))
return;
if (data.contains("No Prices in this date range"))
return;
// strip off the header
QString s = "Date,Open,High,Low,Close,Volume,Adj Close\n";
int p = data.find(s, 0, TRUE);
if (p != -1)
data.remove(0, p + s.length());
QFile f(file);
if (! f.open(QIODevice::WriteOnly))
return;
Q3TextStream stream(&f);
stream << data;
f.close();
f.setName(file);
if (! f.open(QIODevice::ReadOnly))
return;
stream.setDevice(&f);
s = dataPath + "/";
QString ts = "symbol";
QString ts2;
currentUrl->getData(ts, ts2);
QFileInfo fi(ts2);
if (fi.extension(FALSE).length())
s.append(fi.extension(FALSE).upper());
else
s.append("US");
s.append("/");
s.append(ts2);
if (plug.open(s, chartIndex))
{
QString ss(tr("Could not open db"));
printStatusLogMessage(ss);
f.close();
return;
}
QString fn = ts2;
// verify if this chart can be updated by this plugin
DBIndexItem item;
chartIndex->getIndexItem(fn, item);
item.getSymbol(s);
if (! s.length())
{
if (plug.createNewStock())
{
f.close();
plug.close();
return;
}
chartIndex->getIndexItem(fn, item);
item.setSymbol(ts2);
item.setTitle(ts2);
item.setQuotePlugin(pluginName);
chartIndex->setIndexItem(fn, item);
}
// item.getQuotePlugin(s);
// if (s.compare(pluginName))
// {
// s = ts2 + " - " + tr("skipping update. Source does not match destination");
// printStatusLogMessage(s);
// f.close();
// plug.close();
// return;
// }
while(stream.atEnd() == 0)
{
ts = stream.readLine();
QStringList l = QStringList::split( '\n', substituteSeparator( ts, ',', '\n' ), FALSE);
if (l.count() < 5)
{
QString ss = tr("Parse: invalid number of parameters") + " '" + ts2 + "' " + tr("skipped");
printStatusLogMessage(ss);
errorList.append(ts2);
continue;
}
// date
QString date = parseDate(l[0]);
Bar bar;
if (bar.setDate(date))
{
//.........这里部分代码省略.........