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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 请教头寸管理的编程

   

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


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

主题:请教头寸管理的编程

帅哥哟,离线,有人找我吗?
咏成鑫
  11楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 21:17:09 [只看该作者]

上面的问题,好像是因为卖出开仓时图标显示开仓为-1,而您先写的公式里只考虑了开多和平多的情形,请帮忙编写双向交易的仓位公式,谢谢


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2014/11/20 21:17:17 [只看该作者]

是的,你自己保证金设好了就行。模型运算时自动会考虑你资金是否够开下一手的


 回到顶部
帅哥哟,离线,有人找我吗?
咏成鑫
  13楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 21:26:14 [只看该作者]

双向交易能这样写吗:
variable:手数=1;
if NUMPROFIT(1)>0 and 手数>0 then 手数:=手数+1;
if NUMPROFIT(1)>0 and 手数<0 then 手数:=手数-1;
if NUMPROFIT(1)<0 and 手数>0 then 手数:=手数-1;
if NUMPROFIT(1)<0 and 手数<0 then 手数:=手数+1;

测试时发现,已经实现了双向交易,与固定手数的交易数量完全一样。但是,前后开仓并不是在按1手增减,这是什么原因呢?


 回到顶部
帅哥哟,离线,有人找我吗?
咏成鑫
  14楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 21:36:46 [只看该作者]

variable:手数=1;
这个指的是开多,开空是不是应该为 -1呢?所以,开多和开空能一起恒定为1吗?


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2014/11/20 21:42:31 [只看该作者]

开空也是1的,你说没有递增?

是不是加1减1导致的 ?你试下把减少手数的去掉,如果有盈利不会不加的


 回到顶部
帅哥哟,离线,有人找我吗?
咏成鑫
  16楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 21:55:28 [只看该作者]

老师好!
1、有增加,但没有规律,不是按上次开仓数加1手这样增加;比如,上次是18,这次竟然是56手。
2、我把保证金比例调整为30%,但是没有测试结果没有任何差别,我看测试报告里保证金占用还是和系统默认设定的13%是一样的。这是怎么回事?


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2014/11/20 22:07:14 [只看该作者]

1.问题在平仓后每根k都去计算盈利所以增加了那么多手
if NUMPROFIT(1)>0 and 手数>0 and exitbars=1 then 手数:=手数+1;             //只在平仓后那一根计算之前的盈亏然后对手数累加。
 
2.你要启用自己设置的保证金,不要采用系统默认。或者用系统默认,自己在合约信息设置里自己改下

 回到顶部
帅哥哟,离线,有人找我吗?
咏成鑫
  18楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 22:46:20 [只看该作者]

kd:=开多条件;
pd:=平多条件;
variable:n=1;
if kd then buy(holding=0,n,market);
if pd then sell(1,holding,market);
if NUMPROFIT(1)>0 and n<6 then n:=n+1;
if NUMPROFIT(1)<0 and n>0 then n:=n-1;

您一开始写的,这个只有做多,那么做空的呢?你能再把双向交易的一并完善一个给我吗?谢谢哦



 回到顶部
帅哥哟,离线,有人找我吗?
咏成鑫
  19楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 23:04:58 [只看该作者]

 variable:手数=1;
if NUMPROFIT(1)>0 and 手数>0 and exitbars=1 then 手数:=手数+1;
if NUMPROFIT(1)>0 and 手数<0 and exitbars=1 then 手数:=手数-1;
if NUMPROFIT(1)<0 and 手数>0 and exitbars=1 then 手数:=手数-1;
if NUMPROFIT(1)<0 and 手数<0 and exitbars=1 then 手数:=手数+1;

测试报告出来,开仓是很大的数字了,中间也不是一手一手的增加。




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


加好友 发短信
等级:超级版主 帖子:5960 积分:0 威望:0 精华:2 注册:2014/6/12 11:29:04
  发帖心情 Post By:2014/11/21 8:50:28 [只看该作者]

1,完整的代码给下,让工作人员给你调试看看


金字塔—专业程序化交易量化投资平台

产品部

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

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
总数 21 上一页 1 2 3 下一页