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


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

   

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


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

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

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
请教头寸管理的编程  发帖心情 Post By:2014/11/20 14:19:40 [显示全部帖子]

请教头寸管理的编程。图标程序化操作股指连续;头寸管理计划:1、在满足开仓条件时、账户可用余额15万可以操作1手,30万可以操作2手,以此类推;2、上一次平仓盈利时,本次开仓按照第一条设定的金额对应开仓手数,比上一次开仓数增加一手,最高可以达到满仓(即类似于反等价鞅策略);相反,上一次平仓亏损时,则本次开仓手数比上一次减少一手,最低保持一手的基本开仓量。以上如何编程,谢谢指教。

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 15:04:09 [显示全部帖子]

老师:
      我在编程中遇到了这个问题。现在源代码的开仓手数规定为:手数=“SS”,SS(1,1,100,1);我希望以后在程序化交易中能实现仓位的自动管理,也即在根据我在上面描述的两条规则进行加减仓。现在每手股指开仓保证金是9万,我投入100万,以每15万的资金开一手,100万最多开6手。请您指教,谢谢。

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 15:18:01 [显示全部帖子]

老师:您刚才讲到的“图表程序化建议用户不要去与真实账户做交互,这样会导致历史信号的偏差”,这是什么意思?我们自编程序,实现自动交易,这个程序里当然的也就包括了对仓位的设定,图标上也就忠实的反映我们设计的情形,图标程序化自动交易也就是在图标上出现了信号后自动下单,是这样吗?

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 19:20:52 [显示全部帖子]

老师:辛苦了,谢谢。
1、在上面的编程里,似乎还是缺少了“资金余额每达到15万才可以开一手”的表达,您看呢?我现在是100万投入,假设我的系统是一个稳定的正预期系统,将来资金会逐步增加,我计划始终按照“每增加15万、且满足开仓条件”则以这个仓位管理完成交易。
2、此外,我是做双向交易,不仅只有开多和平多。
3、还有,我的系统就是按照金字塔编程模板开发的,关于“手数”的设定就是模板里的“手数=SS”,我现在简单的设定SS为1;这里是请您帮助按照我加仓的想法编写'手数'的源代码。所以,请您明确告诉我,上述公式如何成为“手数”代入我的“交易条件”和“交易系统”。

谢谢了。

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 20:25:34 [显示全部帖子]

进一步解释我刚才的意思,举例说明:我的源代码中部分如下:
手数:=SS; 
variable:SS=1;
if NUMPROFIT(1)>0 and SS<6 then SS:=SS+1;
if NUMPROFIT(1)<0 and SS>0 then SS:=SS-1;

//交易系统:

开多:buy(开多条件 and holding=0, 手数,limitr,多头开仓价);
平多:sell((多盈条件 OR 多损条件) and holding>0,手数,limitr,C);
 
开空:buyshort(开空条件 and holding=0,手数,limitr,空头开仓价);
平空:sellshort((空损条件 OR 空盈条件) and holding<0, 手数,limitr,C);  
 


我直接将公式代入我的源代码,应用于图时系统提示“编译错误,变量名SS重复”。

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 20:48:26 [显示全部帖子]

我这样写好像是可以代进去了:
variable:手数=1;
if NUMPROFIT(1)>0 and 手数<6 then 手数:=手数+1;
if NUMPROFIT(1)<0 and 手数>0 then 手数:=手数-1;

每15万开仓一手,在交易费用里修改设置保证金比例就可以了。

您看,是这样吗?

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2014/11/20 13:56:12
  发帖心情 Post By:2014/11/20 21:03:48 [显示全部帖子]

老师好!经过测试发现,好像还有一个问题:因为写的是  if NUMPROFIT(1)>0 and 手数<6 then 手数:=手数+1,则当资金不足以再增加一手时,则图表上不出现交易信号、也就是没有实现交易;
所以,还是要清楚的表达,当资金满足增加时,手数=手数+1;当资金不能满足再增加一手时,以上次开仓手数开仓。请老师帮助,谢谢!

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


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

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


 回到顶部
帅哥哟,离线,有人找我吗?
咏成鑫
  9楼 | 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手增减,这是什么原因呢?


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


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

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


 回到顶部
总数 14 1 2 下一页