以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请帮忙看看这个限损策略  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=59672)

--  作者:skylands
--  发布时间:2013/12/9 12:24:50
--  请帮忙看看这个限损策略

我这个按信号次数来限损的策略,请帮忙看看整个的语句写法中有没有漏洞。另外,在图表中显示时,信号次数总是比程序中的少几次,不完全正确。

 

 

1分钟策略:

限损:任何60分钟内连续出现信号次数超过10次,立即平仓离场,当日不再交易,次日重新开始。

 

//交易系统

variable:X=0;

cs:=count(KDPK1,60)+count(KDPK2,60)+count(KKPD1,60)+count(KKPD2,60);  //60分钟内4类交易信号的次数之和

if ref(cs>=10,1) then                  //前一根满足60分钟内信号次数超过10次的条件

  begin

  sell(holding>0,holding,marketr);

  sellshort(holding<0,holding,marketr);

  X:=1;

  end

if time=closetime(0) then X:=0;

 

if X=0 then

begin

sellshort((KDPK1 or KDPK2) and holding<0,holding,marketr);

buy((KDPK1 or KDPK2) and holding=0,30%,thisclose);

sell((KKPD1 or KKPD2) and holding>0,holding,marketr);

buyshort((KKPD1 or KKPD2) and holding=0,30%,thisclose);

end


--  作者:jinzhe
--  发布时间:2013/12/9 13:03:46
--  
信号比程序少是什么意思?
--  作者:skylands
--  发布时间:2013/12/9 13:47:53
--  
程序中是60分钟里连续10次信号就平仓离场,图上显示往往是8次左右……
--  作者:jinzhe
--  发布时间:2013/12/9 13:59:39
--  
那里判断是累加10次的?
--  作者:skylands
--  发布时间:2013/12/9 14:07:32
--  
是啊,只要任何连续的60分钟内出现10次信号,就应该离场才对
--  作者:jinzhe
--  发布时间:2013/12/9 14:15:43
--  
就是说你如何判断条件成立的?用调试输出还是靠感觉的?
--  作者:skylands
--  发布时间:2013/12/9 14:33:11
--  
程序化嘛,哪会用感觉……
--  作者:skylands
--  发布时间:2013/12/9 14:37:57
--  
整体的语法本身,尤其是加了全局变量的限损部分,是没有问题的对吗?
--  作者:jinzhe
--  发布时间:2013/12/9 14:43:41
--  
代码没问题,你那个8次信号而不是10次信号的,最好把调试结果贴一下
--  作者:skylands
--  发布时间:2013/12/9 15:39:07
--  
见图中示例,在过去60个周期里,在“平空”信号之前,只
图片点击可在新窗口打开查看此主题相关图片如下:示例.jpg
图片点击可在新窗口打开查看
有7次交易信号,百思不得其解……