Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:请问为什么后面macd金叉以后KD的K值,在第一个K值到了25以下后,后面还会有开多信号呢,哪里写的有问题啊

1楼
洋葱猪肉卷 发表于:2016/4/20 15:05:33

variable:n=0,m=0;
diff:=stkindi('','macd.diff',0,24,4);
dea:=stkindi('','macd.dea',0,24,4);
k:=stkindi('','kdj.k',0,datatype);
d:=stkindi('','kdj.d',0,datatype);
金叉:=cross(diff,dea);
死叉:=cross(dea,diff);
if 金叉 or 死叉 then begin
   n:=0;
   m:=0;
end
 
if k<25 then n:=n+1;
if k>75 then m:=m+1;
 
if n=1  then begin
     buy(holding<=0,1,marketr);
end
if C-AVGENTERPRICE>10 then begin
sell(1,0,marketr);
end
IF AVGENTERPRICE-C>6 THEN BEGIN
SELL(1,HOLDING,MARKET);
end

请问为什么后面macd金叉以后KD的K值,在第一个K值到了25以下后,后面还会有开多信号呢,哪里写的有问题啊
2楼
jinzhe 发表于:2016/4/20 15:10:19
说明后面的k没有小于25的,导致n的值一直是1,所以平仓之后满足条件会再开仓
3楼
洋葱猪肉卷 发表于:2016/4/20 15:17:52
请问那怎么写啊,就是金叉后K小于25只做一次,那怎么写啊
4楼
jinzhe 发表于:2016/4/20 15:21:54
if n=1 and ref(n,1)=0 then begin
     buy(holding<=0,1,marketr);
end
 
就改这一句
5楼
洋葱猪肉卷 发表于:2016/4/20 15:22:52
好的,谢谢
共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.08301 s, 3 queries.