老师,你好,我的源品种是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编辑过]
因为现在的开仓价格是正确的,如果引用跨品种函数CALLSTOCK的话,怕不正确,那能不能以上面的程序上面把开仓手数固定下来呢,比如,加一句代码,把手数固定在30000股,谢谢。
把手数固定下来,会和程序费率设置里的资金冲突吗?谢谢
1.开仓手数,可以固定为30000股,修改您的手数就行了
2.程序费率设置里的资金,请调的再大些,若资金太小则不能开那么多手。
图表上显示的是费率设置里的资金能开仓的手数最大值、策略里写的开仓手数,中小的那个值
3.开仓按固定手数开,平仓按实际持仓量平
开平仓语句这样改写就可以了
BUY(开仓条件 ,手数,LIMITR,上轨);
sell(平仓条件 ,HOLDING,LIMITR,下轨);
老师,是这样修改吗?可是还是不能开仓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
你的价格改成marketr吧
开多:=BUY(开仓条件 ,30000,marketr);