返回列表 发布新帖

VBA组合模型下单紧急求助!

37 2

请教老师们,我在大QMT下的VBA组合模型,仿造系统中“不使用扩展数据的组合模型”改写,除加入下单函数PASSORDER()下其它基本未变。经模拟测试,组合模型买卖条件符合要求,均能进入大QMT的买卖面板中,但针对组合模型中符合条件的单股下单用PASSORDER()函数时,无论模拟还是实盘,均不能正常工作,是否我的PASSORDER()参数给得有问题,如何纠正,才能让其正常下单?代码如下:

ORDERTYPE:=1123;

ACCOUNTID:=ACCOUNT();//…………填写对应下单账号ACCOUNT()

VOLUME:=0.4;

//计算单债条件

x:=stkindi($ZZZ, '择时单债新平滑', 0, 3);

hs300c := callstock('sh000300', vtclose, 3, 0);

//卖出

for stock in $ZZZ do

begin

stockInfo := getStockInfo(stock,0);

//持仓个股出现卖点,则卖出

//非持仓个股出现买点,则放入买入备选

if stockInfo.buy = 1 and not(isStockInHolding(stock)) then begin

    groupPossibleBuy(stock);

    if currHolding < maxHolding then begin

        groupBuy(stock);
ORDERCODE:=STRRIGHT(stock,6);//…………取得当前下单代码
P买:=PASSORDER(23,ORDERTYPE,ACCOUNTID,ORDERCODE,5,-1,VOLUME);

       weight := getWeight(stock);

            currHolding := currHolding + 1;

        dc[stock] := hs300c;

    end

end

if stockInfo.sell = 1 and isStockInHolding(stock) then begin

    stockHolding := getHoldingInfo(stock);

    succ := groupsell(stock);

    if succ then begin

  ORDERCODE:=STRRIGHT(stock,6);//…………取得当前下单代码
P卖:=PASSORDER(24,ORDERTYPE,ACCOUNTID,ORDERCODE,5,-1,1);

     weight := getWeight(stock);

     currHolding := currHolding - 1;   

     thisProfit := (stockInfo.price - stockHolding.buyPrice) / stockHolding.buyPrice * weight;

     profit := profit + thisProfit;

     thishsprofit := (hs300c - dc[stock]) / dc[stock] * weight;

     hs300 := hs300 + thishsprofit;

    end

end

end

评论2

卦山李-心在梦在楼主
发表于 昨天 14:02 | 显示全部楼层
补充一下,我是券商版,非VIP客户
卦山李-心在梦在楼主
发表于 昨天 17:42 | 显示全部楼层
另外,这个函数getWeight(stock)新版QMT是否已不存在了,是不是用其它函数替代了?

回复

您需要登录后才可以回帖 登录 | 立即注册

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2025 迅投QMT社区 版权所有 All Rights Reserved. 京ICP备2025122616号-3
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表