以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  cross函数有问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=88305)

--  作者:rockytan
--  发布时间:2015/12/10 17:34:37
--  cross函数有问题

INPUT:n(88,1,138,1),p1(3,1,33,1) ,p2(1,1,20,1);

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*d;
SS:=1;

KD:= HOLDING=0 AND CROSS(J,K) ;
PD:= HOLDING>0 AND CROSS(K,J);
{
ref_J:=ref(j,1);
ref_k:=ref(k,1);
crossup:=J>k and ref_J<ref_K;
crossdown:=j<k and ref_j>ref_K;
}
{
KD:= HOLDING=0 AND crossup ;
PD:= HOLDING>0 AND crossdown  ;
}
IF KD THEN BEGIN
  BUY(1,SS,LIMITR,CLOSE);
END

IF PD THEN BEGIN
  SELL(1,0,LIMITR,CLOSE);
END

上面是我的公式,如果p2的值是1的话,那么我理解j:=3*k-2*k; 也就是说j=k;
那么做开平仓判断的时候,cross函数要么一直成立,要么一直不成立,我测试的结果却不是这样,如果将cross函数改成我自己写的crossup 和crossdown,就没有交易了,用cross函数却又130次交易,请问是何问题

--  作者:十世
--  发布时间:2015/12/11 9:00:12
--  

 BUY(1 AND HOLDING=0,SS,LIMITR,CLOSE)

是不想重仓吗?按照上述编写

 

另外请描述清楚你的现象和结果之间具体的差别


--  作者:FexTel
--  发布时间:2015/12/11 9:15:25
--  
CROSS是指线的状态,重叠如果趋势改变就会默认为形态做了转换