以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  求助,T+0修改成T+1  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=95966)

--  作者:唐方一战
--  发布时间:2016/4/8 7:56:31
--  求助,T+0修改成T+1
下面是一个dt程序,目前是T+0,需要修改成T+1:
开仓原则是:碰到上轨就以上轨的价格开多单。
平仓原则是:T+1日后,碰到下轨就以下轨的价格平仓。
这个原来是做期货,我想用来做股票,只能T+1,请金字塔的老师帮助一下,谢谢!



INPUT:M1(0.5,0.1,0.5,0.01),M2(0.5,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    HOLDING > 0   THEN BEGIN    
平仓:=sell(平仓条件 ,手数,LIMITR,下轨);
 
END

--  作者:jinzhe
--  发布时间:2016/4/8 8:57:10
--  
INPUT:M1(0.5,0.1,0.5,0.01),M2(0.5,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    ref(HOLDING,todaybar) > 0   THEN BEGIN    
平仓:=sell(平仓条件 ,ref(holding,todaybar),LIMITR,下轨);
 
END


--  作者:admin
--  发布时间:2016/4/8 9:06:29
--  

股票与股指T+1交易代码实现范例

http://www.weistock.com/bbs/dispbbs.asp?BoardID=2&ID=94424&replyID=&skin=1

 

这里有更简单的T+1代码规则


--  作者:唐方一战
--  发布时间:2016/4/8 10:29:09
--  
图片点击可在新窗口打开查看我加载后这个程序运行不了,无法通过编译,咋办?
--  作者:唐方一战
--  发布时间:2016/4/8 10:30:13
--  提示如下
REF 函数在逐K线模式下不能直接在IF控制语句之内引用
--  作者:jinzhe
--  发布时间:2016/4/8 10:44:16
--  

INPUT:M1(0.5,0.1,0.5,0.01),M2(0.5,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
 rr:=ref(holding,todaybar);
IF    ref(HOLDING,todaybar) > 0   THEN BEGIN   
平仓:=sell(平仓条件 ,rr,LIMITR,下轨);
 
END

 

 

已修改


--  作者:唐方一战
--  发布时间:2016/4/8 10:52:40
--  
非常感谢你们的劳动,谢谢!

我刚刚加载了,发现多了很多白色箭头,不是开平仓信号,怎么去掉这些动东东?

--  作者:jinzhe
--  发布时间:2016/4/8 10:59:00
--  
工具 选项  视图,这个不要勾
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:唐方一战
--  发布时间:2016/4/8 11:13:01
--  
已经解决了,你们的服务很好,再次感谢!

最后再问一个问题,这个程序我加载399006与399905上面有信号,但加载在399005上就没有信号,其他上证指数000001加了也没有,这是什么原因?

--  作者:jinzhe
--  发布时间:2016/4/8 11:19:29
--  
你补充下日线数据试试