void Exchange_BTCe::setupApi(QtBitcoinTrader *mainClass, bool tickOnly) { tickerOnly=tickOnly; if(!tickerOnly) { connect(mainClass,SIGNAL(reloadOrders()),this,SLOT(reloadOrders())); connect(mainClass,SIGNAL(apiBuy(double, double)),this,SLOT(buy(double, double))); connect(mainClass,SIGNAL(apiSell(double, double)),this,SLOT(sell(double, double))); connect(mainClass,SIGNAL(cancelOrderByOid(QByteArray)),this,SLOT(cancelOrder(QByteArray))); connect(this,SIGNAL(ordersChanged(QString)),mainClass,SLOT(ordersChanged(QString))); connect(mainClass,SIGNAL(cancelOrderByOid(QByteArray)),this,SLOT(cancelOrder(QByteArray))); connect(mainClass,SIGNAL(getHistory(bool)),this,SLOT(getHistory(bool))); connect(this,SIGNAL(ordersLogChanged(QString)),mainClass,SLOT(ordersLogChanged(QString))); connect(this,SIGNAL(orderCanceled(QByteArray)),mainClass,SLOT(orderCanceled(QByteArray))); connect(this,SIGNAL(ordersIsEmpty()),mainClass,SLOT(ordersIsEmpty())); }
void Exchange::setupApi(QtBitcoinTrader *mainClass, bool tickOnly)//Execute only once { QSettings settingsParams(":/Resources/Exchanges/"+currencyMapFile+".ini",QSettings::IniFormat); QStringList symbolList=settingsParams.childGroups(); QList<CurrencyPairItem> *newCurrPairs=new QList<CurrencyPairItem>; for(int n=0;n<symbolList.count();n++) { CurrencyPairItem currentPair=defaultCurrencyParams; currentPair.name=settingsParams.value(symbolList.at(n)+"/Symbol","").toByteArray(); if(currentPair.name.length()!=6)continue; currentPair.setSymbol(currentPair.name.toLatin1()); currentPair.name.insert(3,"/"); currentPair.currRequestSecond=settingsParams.value(symbolList.at(n)+"/RequestSecond","").toByteArray(); if(!currentPair.currRequestSecond.isEmpty()) currentPair.name.append(" ["+currentPair.currRequestSecond+"]"); currentPair.currRequestPair=settingsParams.value(symbolList.at(n)+"/Request","").toByteArray(); if(currentPair.currRequestPair.isEmpty())continue; currentPair.priceDecimals=settingsParams.value(symbolList.at(n)+"/PriceDecimals","").toInt(); currentPair.priceMin=settingsParams.value(symbolList.at(n)+"/PriceMin","").toDouble(); currentPair.tradeVolumeMin=settingsParams.value(symbolList.at(n)+"/TradeVolumeMin","").toDouble(); currentPair.tradePriceMin=settingsParams.value(symbolList.at(n)+"/TradePriceMin","").toDouble(); currentPair.currADecimals=settingsParams.value(symbolList.at(n)+"/ItemDecimals").toInt(); currentPair.currBDecimals=settingsParams.value(symbolList.at(n)+"/ValueDecimals").toInt(); (*newCurrPairs)<<currentPair; } connect(this,SIGNAL(setCurrencyPairsList(QList<CurrencyPairItem>*)),mainClass,SLOT(setCurrencyPairsList(QList<CurrencyPairItem>*))); emit setCurrencyPairsList(newCurrPairs); tickerOnly=tickOnly; if(!tickerOnly) { connect(mainClass,SIGNAL(apiBuy(QString, double, double)),this,SLOT(buy(QString, double, double))); connect(mainClass,SIGNAL(apiSell(QString, double, double)),this,SLOT(sell(QString, double, double))); connect(mainClass,SIGNAL(cancelOrderByOid(QString, QByteArray)),this,SLOT(cancelOrder(QString, QByteArray))); connect(mainClass,SIGNAL(getHistory(bool)),this,SLOT(getHistory(bool))); connect(this,SIGNAL(orderBookChanged(QString, QList<OrderItem> *)),mainClass,SLOT(orderBookChanged(QString, QList<OrderItem> *))); connect(this,SIGNAL(historyChanged(QList<HistoryItem>*)),mainClass,SLOT(historyChanged(QList<HistoryItem>*))); connect(this,SIGNAL(orderCanceled(QString, QByteArray)),mainClass,SLOT(orderCanceled(QString, QByteArray))); connect(this,SIGNAL(ordersIsEmpty()),mainClass,SLOT(ordersIsEmpty())); }