Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[原创]更新

1楼
z7c9 发表于:2014/1/13 21:24:06
    //更新未成交单
    void updatePendingOrders(const Margin* margin);
    void updatePendingOrders(const Commission* commission);
    //更新成交
    void updateTrades(const Commission* commission);
    //更新持仓
    void updatePositions(const Quote* quote);
    void updatePositions(const Trade* trade);
    void updatePositions(const Margin* margin);
    //更新账户
    void updateAccounts(const Quote* quote);
    void updateAccounts(const Order* order);
    void updateAccounts(const Trade* trade);
    void updateAccounts(const Margin* margin);
    void updateAccounts(const Commission* commission);
[此贴子已经被作者于2014/1/13 21:24:32编辑过]
2楼
z7c9 发表于:2014/1/13 21:25:31

void Strategy::updatePositions(const Quote *quote) {
    //同步持仓:持仓盈亏
    Instrument *instrument = getInstrument(quote->instrumentId);

    Position *longPosition = getPosition(quote->instrumentId,PositionSide::longSide);
    if(longPosition)
        longPosition->positionProfit = (quote->lastPrice - longPosition->positionCost) * instrument->volumeMultiple * longPosition->totalPosition;

    Position *shortPosition = getPosition(quote->instrumentId,PositionSide::shortSide);
    if(shortPosition)
        shortPosition->positionProfit = (shortPosition->positionCost - quote->lastPrice) * instrument->volumeMultiple * shortPosition->totalPosition;
}

void Strategy::updatePositions(const Trade *trade) {
    //同步持仓:合约、买卖、总仓、今仓、可平量、持仓均价、持仓盈亏、占用保证金
}

void Strategy::updateAccounts(const Quote *quote) {
    //同步账户:持仓盈亏、动态权益、可用资金
    account.positionProfit = 0;

for(Position *position : positions) {
        account.positionProfit = account.positionProfit + position->positionProfit;
    }

    account.equity = account.preEquity + account.closeProfit + account.positionProfit - account.commission;
    account.available = account.equity - account.currMargin - account.frozenMargin - account.frozenCommission + account.credit;
}

void Strategy::updateAccounts(const Order *order) {
    //同步账户:冻结保证金、冻结手续费
    account.frozenMargin = 0;
    account.frozenCommission = 0;

for(Order *order : getPendingOrders()) {
        account.frozenMargin = account.frozenMargin + order->frozenMargin;
        account.frozenCommission = account.frozenCommission + order->frozenCommission;
    }
}

void Strategy::updateAccounts(const Trade *trade) {
    //同步账户:平仓盈亏、持仓盈亏、手续费、动态权益、占用保证金、可用资金
}

3楼
z7c9 发表于:2014/2/17 21:29:44
//更新持仓和账户
void updatePositionAndAccount();
//更新报单
void updateOrder(const Margin* margin);
void updateOrder(const Commission * commission);
//更新持仓
void updatePosition(const Quote * quote);
void updatePosition(const Trade * trade);
void updatePosition(const Margin* margin);
void updatePosition(const Commission * commission);
//更新账户
void updateAccount(const Quote * quote);
void updateAccount(const Order * order);
void updateAccount(const Trade * trade);
void updateAccount(const Margin* margin);
void updateAccount(const Commission * commission);
4楼
z7c9 发表于:2014/4/27 20:17:26
Median Price(MP):=(high+low)/2
Typical Price(TP):=(high+low+close)/3
Weighted Close(WC):=(high+low+close*2)/4
共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03906 s, 2 queries.