以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  用在螺纹钢连续20分钟K线上的代码,为什么没有开仓信号呢  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=155927)

--  作者:lyricic
--  发布时间:2017/7/13 9:13:32
--  用在螺纹钢连续20分钟K线上的代码,为什么没有开仓信号呢
用在螺纹钢连续20分钟K线上,为什么没有开仓信号呢
INPUT:n(12,10,30,1);
INPUT:LRS(0,0,1,0.1);
VARIABLE:LRS1=0,LRS2=0,LRS3=0,LRS4=0;


MAL5:MA(C,5);
MAL10:MA(C,10);
MAL20:MA(C,20);
MAL60:MA(C,60);

MAS10:=MA(C,10);
MAS20:=MA(C,20);

n_high:ref(hhv(high,n),1);
n_low:ref(llv(low,n),1);

LRS1:=SLOPE(CLOSE,MAL5);
LRS2:=SLOPE(CLOSE,MAL10);
LRS3:=SLOPE(CLOSE,MAL20);
LRS4:=SLOPE(CLOSE,MAL60);

//开多条件
//long_entry_inst1:= ref(LRS1,1)>0 AND ref(LRS2,1)>0 AND ref(LRS3,1)>0 AND ref(LRS4,1)>0;
long_entry_inst1:=LRS1>LRS AND LRS2>LRS AND LRS3>LRS AND LRS4>LRS;
long_entry_inst2:= REF(CLOSE,1)> REF(MAL5,1) and  REF(CLOSE,1)> REF( ref(n_high,1),1);
long_entry_inst3:= REF(MAL5,1)> REF(MAL10,1) and REF(MAL10,1)> REF(MAL20,1);

//开空条件
//short_entry_inst1:= ref(LRS1,1)<0 AND ref(LRS2,1)<0 AND ref(LRS3,1)<0 AND ref(LRS4,1)<0;
short_entry_inst1:=LRS1<LRS AND LRS2<LRS AND LRS3<LRS AND LRS4<LRS;
short_entry_inst2:= REF(CLOSE,1)< REF(MAL5,1) and  REF(CLOSE,1)< REF( ref(n_high,1),1);
short_entry_inst3:= REF(MAL5,1)<REF(MAL10,1) and REF(MAL10,1)<REF(MAL20,1);



//开仓
if holding = 0 and long_entry_inst1 and  long_entry_inst2 and long_entry_inst3 then begin
    Buy(1,IntPart(ASSET/(Open*10)),limitr, Open);
 end
if holding = 0 and short_entry_inst1 and  short_entry_inst2 and short_entry_inst3 then begin
   BUYSHORT(1,IntPart(ASSET/(Open*10)),limitr, Open);
 end   
 
//平仓

if holding > 0 and REF(CLOSE,1)< REF(MAS10,1) and  REF(HIGH,1)< REF(MAS20,1) then begin 
      sell(1,holding,LIMITR,open);
end
if holding < 0 and REF(CLOSE,1)> REF(MAS10,1) and  REF(HIGH,1)> REF(MAS20,1) then begin
    sellshort(1,abs(holding),LIMITR,open);
end

当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;


--  作者:FireScript
--  发布时间:2017/7/13 9:29:42
--  

你的开仓条件没有成立过,自然不会有开仓信号。

建议以后遇到这种情况,先把开仓条件单独输出下,然后观察下。


--  作者:lyricic
--  发布时间:2017/7/13 10:42:04
--  

开仓条件:MA5MA10 MA20MA60斜率大于0,价格位于MA60MA5MA10 MA20多头排列,突破过去12周期的最高价


MA5的斜率怎么写呢


--  作者:wenarm
--  发布时间:2017/7/13 10:54:12
--  

不知道你说的斜率是怎么定义的。

[此贴子已经被作者于2017/7/13 10:54:21编辑过]

--  作者:lyricic
--  发布时间:2017/7/13 11:11:56
--  
图片点击可在新窗口打开查看我这样求出来的斜率对不对啊
--  作者:wenarm
--  发布时间:2017/7/13 11:20:09
--  
你如果要真实的直线斜率严格意义上是取不到的,因为你的x坐标在时刻变化
SLOPE(ma(c,10),10); 线性回归斜率。