以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  如何编写运行在日线周期的图表程序化  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=162957)

--  作者:我心飞翔
--  发布时间:2018/4/23 16:33:34
--  如何编写运行在日线周期的图表程序化
如题,本人想编一个运行在日K线上的图表程序化,开仓条件为价格向上突破SAR值时开多仓,然后持仓时间不低于3天,3天后当价格向下跌破SAR值时平多反手开空。拜托老师把主要框架写一下,本人写的回测起来好像根本不对。
--  作者:FireScript
--  发布时间:2018/4/23 16:38:52
--  
 你可以把你代码贴出来,我给你看看怎么改。
--  作者:我心飞翔
--  发布时间:2018/4/23 16:59:41
--  
JSAR:=stkindiex(\'\',\'SAR.SAR(10,2,20)\',0,6,0,100);             // 调用今天的SAR值

IF HOLDING<0 THEN BEGIN
   IF ENTERBARS>=3 THEN BEGIN
      IF C>JSAR THEN BEGIN
         SELLSHORT(HOLDING<0,100%,THISCLOSE);     //先平空仓再开多仓
         BUY(HOLDING=O,1,THISCLOSE);   
      END
   END
END

IF HOLDING>0 THEN BEGIN
   IF ENTERBARS>=3 THEN BEGIN
      IF C<JSAR THEN BEGIN
         SELL(HOLDING>0,100%,THISCLOSE);
         BUYSHORT(HOLDING=0,1,THISCLOSE);
      END
   END
END
         


--  作者:wenarm
--  发布时间:2018/4/23 21:41:43
--  
你代码中请区分好0和o的差别
TURN:SAR(10,2,20);
cond1:CROSS(c,TURN);
cond2:CROSS(TURN,c);
if cond1=1 then begin
 SELLSHORT(HOLDING<0 AND  ENTERBARS>=3,1,MARKET);
 BUY(HOLDING=0,1,MARKET);
end
if cond2=1 then begin
 SELL(HOLDING>0 AND  ENTERBARS>=3,1,MARKET);
 BUYSHORT(HOLDING=0,1,MARKET);
end

--  作者:我心飞翔
--  发布时间:2018/4/24 8:41:27
--  
谢谢了!