欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 写了个查询对价分批下单的程序,调试失败!请指导!

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3675人关注过本帖树形打印复制链接

主题:写了个查询对价分批下单的程序,调试失败!请指导!

帅哥哟,离线,有人找我吗?
fzfz
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:40 积分:195 威望:0 精华:0 注册:2012/9/12 13:39:45
写了个查询对价分批下单的程序,调试失败!请指导!  发帖心情 Post By:2012/11/10 17:24:16 [显示全部帖子]

写了个查询对价分批下单的程序,就是通过预警信号触发分批开仓程序,调试时一有预警信号程序就挂起来了!
    AcID = "12345678" '执行账户
    PMony = 100000 '每手保证金10万

Sub MARKETDATA_AlarmPleaceOrder(Name, ReOrder, OrderType, Action, Volume, Price, Code, Market, Account)
  dim unVolume,doVolume '等待下单手数,每次分批开单手数
  dim ReportData
  dim KKSS '可开手数
  unVolume = 100  '计划开仓手数    
   
   Select Case ReOrder
   Case 3'平空
     while unVolume > 0 '先平空
         set ReportData = marketdata.GetReportData(Code, Market)
         doVolume = Fun.Min(unVolume,ReportData.SellVolume1)
         call order.SellShort(0,doVolume,ReportData.SellPrice1+0.2,0,Code,Market,AcID,0)
         unVolume= unVolume - doVolume
      wend 

   Case 0'开多
      KKSS = Order.Account2(19,AcID)/PMony '可开手数=可用资金/每手保证金
      while KKSS < unVolume '查询可用资金是否足够,如果资金不够则继续查询,直到确认前面的平仓已经成交为止

      KKSS = Order.Account2(19,AcID)/PMony
      wend
     while unVolume > 0
        set ReportData = marketdata.GetReportData(Code, Market)
        doVolume = Fun.Min(unVolume,ReportData.SellVolume1)
        call order.Buy(0,doVolume,ReportData.SellPrice1+0.2,0,Code,Market,AcID,0)
        unVolume= unVolume - doVolume      
     wend 
     
   end Select
End Sub


 回到顶部
帅哥哟,离线,有人找我吗?
fzfz
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:40 积分:195 威望:0 精华:0 注册:2012/9/12 13:39:45
  发帖心情 Post By:2012/11/13 18:11:07 [显示全部帖子]

当调用以下几个方法时
marketdata.GetReportData

Order.HoldingInfoByCode2
Order.Account2(19)

是调用时去向服务器请求数据的?还是金字塔事先接收好,在本地读取的?


 回到顶部