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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请问老师,我想达到条件时开仓做空,用MARKETDATA_ReportNotify来追踪止损下面的代码对吗?

   

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


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

主题:请问老师,我想达到条件时开仓做空,用MARKETDATA_ReportNotify来追踪止损下面的代码对吗?

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


加好友 发短信
等级:新手上路 帖子:8 积分:30 威望:0 精华:0 注册:2012/12/2 21:00:23
请问老师,我想达到条件时开仓做空,用MARKETDATA_ReportNotify来追踪止损下面的代码对吗?  发帖心情 Post By:2014/3/21 16:07:59 [只看该作者]

请问各位老师,我想达到条件时开仓做空,用MARKETDATA_ReportNotify来追踪止损下面的代码对吗?这样在价格达到止损价格是,是马上能够触发吗?

Sub Test2(code,market,price,stopprice)
call marketdata.RegReportNotify(code,market)

order.OrderQueue = 1
if Hour(Time) >09 and Hour(Time) <=14 and SellHolding= 0 then
call order.buyshort(0,2,price,stopprice,code,market,"",0)  '这里下限价单,能行吗?

end if


End Sub


Sub MARKETDATA_ReportNotify(ReportData)

  '得到这品种的行情报价
set ReportData = MarketData.GetReportData(code,market)
   

 

 '取指定持仓品种信息
call Order.HoldingInfoByCode2(code,market,BuyHoding1,BuyCost,BuyTodayHoding1,SellHoding1,SellCost,SellTodayHoding1,PNL,UseMargin)
 ''''''''''''''''品种信息

     call order.Contract(code,market, Multipliter, MinTick, ShortPercent, LongPercent)
 

if Hour(Time) >=09 and Hour(Time) <=14 and SellHolding > 0 then
'止损时的报价是止损价格+10点,保证必须成交
if ReportData.buyPrice1 >= (zsprice) then
  call Order.Sellshort(0,2,ReportData.buyPrice1+MinTick*2,0,code,market,"",0)
  application.MsgOut "注意!!!到达止损价格!!!"
  end if

'达到2倍止损距离时,平仓1手,保留1手人工平仓。
'止损时的报价是止损价格+5点,保证必须成交
if ReportData.SellPrice1 <= (kcprice-(zsprice-kcprice)*2) then
  call Order.Sellshort(0,1,ReportData.SellPrice1+MinTick*2,0,code,market,"",0)
  application.MsgOut "到达第一目标价格!!!"
  end if


'达到5倍止损距离时,全部平仓。
if ReportData.SellPrice1 <= (kcprice-(zsprice-kcprice)*5) then
  call Order.Sellshort(1,1,ReportData.SellPrice1+MinTick*2,0,code,market,"",0)
  application.MsgOut "到达最终目标,剩余仓位全部平仓!!!"
  end if
end if
End Sub

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/3/21 18:19:42 [只看该作者]

具体你用一下调试手段就可以了。

此外你要注意一下,下单前你要判断是否有未成交单存在,或者下单后保留委托ID,待收到该委托ID的成交回报或者下单撤单失败回报等情况后重置状态,这样防止出现连续交易的现象

[此贴子已经被作者于2014/3/21 18:20:50编辑过]


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
rhymesky
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:8 积分:30 威望:0 精华:0 注册:2012/12/2 21:00:23
  发帖心情 Post By:2014/3/21 19:55:31 [只看该作者]

谢谢您的回复,我刚接触金字塔的VBA没多久,不知道怎么用调试的功能。您有没有相关的例子介绍给我?谢谢了

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


加好友 发短信
等级:新手上路 帖子:8 积分:30 威望:0 精华:0 注册:2012/12/2 21:00:23
  发帖心情 Post By:2014/3/21 20:15:07 [只看该作者]

“下单前你要判断是否有未成交单存在,或者下单后保留委托ID,待收到该委托ID的成交回报或者下单撤单失败回报等情况后重置状态,这样防止出现连续交易的现象” 还有您说的这些,不知道怎么弄啊。请问代码在哪能查到?

 回到顶部