以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 求助老师修改程序 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=96302) |
-- 作者:唐方一战 -- 发布时间:2016/4/14 20:32:41 -- 求助老师修改程序 老师,你好,我的源品种是399905,目标品种是510500,这是我使用的程序,目前映射设定好后,成交价格没错是510500的,但数量却是按399905来计算的,如100W,只下单160股510500左右,我要是想要下单510500,自动计算出15W股左右,请问老师,这如何修改, 万分感谢! INPUT:M1(0.1,0.1,0.5,0.01),M2(0.12,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.006,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 [此贴子已经被作者于2016/4/14 20:33:51编辑过]
|
-- 作者:唐方一战 -- 发布时间:2016/4/14 21:54:57 -- 因为现在的开仓价格是正确的,如果引用跨品种函数CALLSTOCK的话,怕不正确,那能不能以上面的程序上面把开仓手数固定下来呢,比如,加一句代码,把手数固定在30000股,谢谢。 |
-- 作者:唐方一战 -- 发布时间:2016/4/14 21:59:04 -- 把手数固定下来,会和程序费率设置里的资金冲突吗?谢谢 |
-- 作者:唐方一战 -- 发布时间:2016/4/14 22:20:00 -- 补充:开仓按固定手数开,平仓按实际持仓量平,谢谢 |
-- 作者:fly -- 发布时间:2016/4/15 9:16:14 -- 1.开仓手数,可以固定为30000股,修改您的手数就行了
2.程序费率设置里的资金,请调的再大些,若资金太小则不能开那么多手。 图表上显示的是费率设置里的资金能开仓的手数最大值、策略里写的开仓手数,中小的那个值
3.开仓按固定手数开,平仓按实际持仓量平 开平仓语句这样改写就可以了 BUY(开仓条件 ,手数,LIMITR,上轨); sell(平仓条件 ,HOLDING,LIMITR,下轨); |
-- 作者:唐方一战 -- 发布时间:2016/4/15 9:37:34 -- 老师,是这样修改吗?可是还是不能开仓30000手,还是按源目标品种来计算的,麻烦看一下,谢谢 INPUT:M1(0.1,0.1,0.5,0.01),M2(0.15,0.1,0.5,0.01);//参数值 昨高:=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.006,S1);//中间变量 上轨:今日开盘价+M1*S;//求上轨 下轨:今日开盘价-M2*S;//求下轨 //条件 开仓条件:=high>=上轨 ;//开多条件 平仓条件:=low<=下轨 ;//平仓条件 //交易系统 IF TIME>090000 AND HOLDING = 0 THEN BEGIN 开多:=BUY(开仓条件 ,30000,LIMITR,上轨); 开仓日期:=date; END IF date>开仓日期 AND HOLDING > 0 THEN BEGIN 平仓:=sell(平仓条件 ,HOLDING,LIMITR,下轨); END
|
-- 作者:yukizzc -- 发布时间:2016/4/15 10:26:19 -- 你的价格改成marketr吧 开多:=BUY(开仓条件 ,30000,marketr); |
-- 作者:唐方一战 -- 发布时间:2016/4/15 10:30:52 -- 呵,老师,还是不行呢 |
-- 作者:yukizzc -- 发布时间:2016/4/15 10:35:29 -- 021-20339087 打我电话 |
-- 作者:唐方一战 -- 发布时间:2016/4/15 10:53:56 -- 老师,你神呀,谢谢啦!!!!!!!!!!!!!! |