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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 映射下单数量总不对,总是按源品种来计算仓位,请教如何按照目标品种来计算仓位,谢谢

   

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


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

主题:映射下单数量总不对,总是按源品种来计算仓位,请教如何按照目标品种来计算仓位,谢谢

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


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
映射下单数量总不对,总是按源品种来计算仓位,请教如何按照目标品种来计算仓位,谢谢  发帖心情 Post By:2016/4/13 14:06:52 [只看该作者]

下单数量总是按100W/6413来计算,161股 ,我是想按100W/6.57,152200股
 
 
 
 

我的源品种是股票指数399905,目标品种是具体的股票510500,这是我使用的程序,目前映射设定好后一直不成功(一直按指数下单,以指数计算开仓数量)帮我看看如何修改才可以完成映射(看指数,以目标品种开仓,计算仓位),

万分感谢!

INPUT:M1(0.1,0.1,0.5,0.01),M2(0.15,0.1,0.5,0.01),ss(0,0,100000000,1);//参数值


昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);//昨高
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);//昨低
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);//昨收
今日开盘价:=Valuewhen(date<>ref(date,1),open);

S1:=max(昨收-昨低,昨高-昨收);//中间变量
S:=max(昨收*0.008,S1);//中间变量

上轨:今日开盘价+M1*S;//求上轨
下轨:今日开盘价-M2*S;//求下轨

手数:=SS;
     
       
//条件
开仓条件:=high>=上轨 ;//开多条件
平仓条件:=low<=下轨 ;//平仓条件 

//交易系统
IF TIME>090000  AND HOLDING = 0 THEN BEGIN
开多:=BUY(开仓条件 ,手数,LIMITR,上轨);
开仓日期:=date;
 END
IF   date>开仓日期  AND HOLDING > 0   THEN BEGIN   
平仓:=sell(平仓条件 ,手数,LIMITR,下轨);
 
END



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


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
图片在这里  发帖心情 Post By:2016/4/13 14:07:34 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:myf2a5(gh$hr)_4ael9ojj.jpg
图片点击可在新窗口打开查看

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


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

引用同期的其他证券数据

推荐使用V3.02版本推出的Callstockex函数,能极大的提高运行效率。

用法:
CALLSTOCK(CODE,TYPE,CYC,N),
CODE指定品种代码,

TYPE  数据类型
TYPE的值可为 VTOPEN(开盘) VTHIGH(最高) VTLOW(最低) VTCLOSE(收盘) VTVOL(成交量)
                    VTAMOUNT(成交额) vtOPENINT(持仓量) VTADVANCE(涨数,大盘有效) VTDECLINE(跌数,大盘有效)

CYC 数据周期
CYC范围为0-24,分别表示
0:分笔成交、1:1分钟、2:5分钟、3:15分钟、4:30分钟、5:60分钟
6:日、7:周、8:月、9:年、10:多日、11:多分钟、12:多秒
13:多小时、14:季度线、15:半年线、16:节气线、17:3分钟、18:10分钟、19:多笔线、20:N日线、21:N分钟线、22:N秒线、23:N笔线、24:N小时线;

N表示偏移,N若不填则视为0,
N变量有2种用途
1、当CYC周期<=19时,为左右偏移周期个数(可选)0表示引用当前数据,<0为引用之前数据,>0为引用之后数据。
2、当CYC周期>=20时,为自定义N周期的具体数字
如果找不到同期数据,那么将返回最近的一个。

例如:CALLSTOCKEX('1A0001',VTCLOSE,6,-1)表示引用日线周期的1A0001 的日线昨收盘价
CALLSTOCK('SH600000',VTOPEN,-1,0)表示引用最近100K线SH市场的600000,使用当前周期
引用数据时,需要实现确认被引用品种周期数据齐全,再首次使用或者在不确定时,请手工进行数据补充工作.
所属函数组:行情函数


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


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

用上面这个函数去引用自己所下单品种的价格,然后用这个价格去计算你的ss

num:=callstock();

ss:=asset/num;


 回到顶部
帅哥哟,离线,有人找我吗?
唐方一战
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:86 积分:0 威望:0 精华:0 注册:2015/3/15 8:10:38
  发帖心情 Post By:2016/4/13 15:05:06 [只看该作者]

老师,是这样修改吗?您邦我看看呢,谢谢
INPUT:M1(0.1,0.1,1.8,0.01),M2(0.1,0.1,1.8,0.01),ss(0,0,100000000,1);//参数值

num:=CALLSTOCK('SH510500',VTOPEN,0,0);

ss:=asset/num;

昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);//昨高
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);//昨低
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);//昨收
今日开盘价:=Valuewhen(date<>ref(date,1),open);

S1:=max(昨收-昨低,昨高-昨收);//中间变量
S:=max(昨收*0.008,S1);//中间变量

上轨:今日开盘价+M1*S;//求上轨
下轨:今日开盘价-M2*S;//求下轨;

//条件
开仓条件:=high>=上轨 ;//开仓条件
平仓条件:=low<=下轨 ;//平仓条件  

//交易系统
IF TIME>090000  AND HOLDING = 0 THEN BEGIN 
开多:=BUY(开仓条件 ,手数,LIMITR,上轨);
开仓日期:=date;
 END
IF   date>valuewhen(开仓条件,date)  AND HOLDING > 0   THEN BEGIN    
平仓:=sell(平仓条件 ,手数,LIMITR,下轨);


 
END


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


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

ss就是你的开仓手数了啊,你下面开仓部分也要改

开多:=BUY(开仓条件 ,ss,LIMITR,上轨);


 回到顶部
帅哥哟,离线,有人找我吗?
唐方一战
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:86 积分:0 威望:0 精华:0 注册:2015/3/15 8:10:38
  发帖心情 Post By:2016/4/13 16:49:48 [只看该作者]

INPUT:M1(0.1,0.1,1.8,0.01),M2(0.1,0.1,1.8,0.01),ss(CALLSTOCK,0,100000000,1);//参数值

CALLSTOCK('SZ159915',VTOPEN,2,0);


昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);//昨高
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);//昨低
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);//昨收
今日开盘价:=Valuewhen(date<>ref(date,1),open);

S1:=max(昨收-昨低,昨高-昨收);//中间变量
S:=max(昨收*0.008,S1);//中间变量

上轨:今日开盘价+M1*S;//求上轨
下轨:今日开盘价-M2*S;//求下轨;
手数:=SS;

//条件
开仓条件:=high>=上轨 ;//开仓条件
平仓条件:=low<=下轨 ;//平仓条件  

//交易系统
IF TIME>090000  AND HOLDING = 0 THEN BEGIN 
开多:=BUY(开仓条件 ,SS,LIMITR,上轨);
开仓日期:=date;
 END
IF   date>valuewhen(开仓条件,date)  AND HOLDING > 0   THEN BEGIN    
平仓:=sell(平仓条件 ,SS,LIMITR,下轨);


 
END

老师,您看这样对吗??谢谢

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


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

INPUT:M1(0.1,0.1,1.8,0.01),M2(0.1,0.1,1.8,0.01);
num:=CALLSTOCK('SH510500',VTOPEN,0,0);

ss:=asset/num;

昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);//昨高
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);//昨低
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);//昨收
今日开盘价:=Valuewhen(date<>ref(date,1),open);

S1:=max(昨收-昨低,昨高-昨收);//中间变量
S:=max(昨收*0.008,S1);//中间变量

上轨:今日开盘价+M1*S;//求上轨
下轨:今日开盘价-M2*S;//求下轨;

//条件
开仓条件:=high>=上轨 ;//开仓条件
平仓条件:=low<=下轨 ;//平仓条件  

//交易系统
IF TIME>090000  AND HOLDING = 0 THEN BEGIN 
开多:=BUY(开仓条件 ,ss,LIMITR,上轨);
开仓日期:=date;
 END
IF   date>valuewhen(开仓条件,date)  AND HOLDING > 0   THEN BEGIN    
平仓:=sell(平仓条件 ,ss,LIMITR,下轨);
END


 回到顶部
帅哥哟,离线,有人找我吗?
唐方一战
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:86 积分:0 威望:0 精华:0 注册:2015/3/15 8:10:38
  发帖心情 Post By:2016/4/13 19:28:36 [只看该作者]

不好意思,显示变量名重复,麻烦您再帮忙看看哪出问题了,谢谢!!!!!!!!!!!!!!!!!!!!!!!
图片点击可在新窗口打开查看此主题相关图片如下:6666666.png
图片点击可在新窗口打开查看

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


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

把上面表格那边定义的ss删掉,软件已经提示你了重复定义,那么你就可以看下ss这个名字是不是哪里被占用了然后去掉就ok

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