以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  均线金叉死叉代码求助  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=169381)

--  作者:Frankmo
--  发布时间:2019/4/16 17:04:17
--  均线金叉死叉代码求助
老师

你好,请帮忙编写个公式,谢谢:

均线1与均线2金叉,价格突破金叉的当天和后一天的最高价就进多单,
均线1与均线2死叉,价格突破金叉的当天和后一天的最低价就进空单,

辛苦老师了。

--  作者:FireScript
--  发布时间:2019/4/16 17:21:06
--  
 “价格突破金叉的当天和后一天的最高价就进多单”  这个逻辑是指当前价格上穿 金叉当天和后一天2日的最高价 是吗?

--  作者:Frankmo
--  发布时间:2019/4/16 17:24:35
--  
对的
--  作者:FireScript
--  发布时间:2019/4/16 17:30:06
--  
 ma5:ma(c,5);
ma10:ma(c,10);

jc:cross(ma5,ma10);//金叉
sc:cross(ma10,ma5);//死叉

cd1:ref(jc,2) and cross(c,ref(hhv(h,2),1));//价格上穿2日最高价
cd2:ref(sc,2) and cross(ref(llv(l,2),1),c);//价格下穿2日最低价

if cd1 then
begin
sellshort(holding<0,holding,market);
buy(holding=0,1,market);    
end

if cd2 then
begin
sell(holding>0,holding,market);
buyshort(holding=0,1,market);    
end

以上范例供参考。

--  作者:Frankmo
--  发布时间:2019/4/16 17:47:04
--  
cd1:ref(jc,2) and cross(c,ref(hhv(h,2),1));//价格上穿2日最高价 
cd2:ref(sc,2) and cross(ref(llv(l,2),1),c);//价格下穿2日最低价

老师,以上语句是必须在金叉后第三天就要突破才有效,

能否改成:金叉后,在10天内突破最高价(金叉当天与金叉后一天中的最高价)?

谢谢了

--  作者:FireScript
--  发布时间:2019/4/17 9:09:07
--  
可以的。修改如下:
 ma5:ma(c,5);
ma10:ma(c,10);

jc:cross(ma5,ma10);//金叉
sc:cross(ma10,ma5);//死叉

h1:VALUEWHEN(ref(jc,1),hhv(h,2));//金叉以及金叉第二个K的最高价
l1:VALUEWHEN(ref(sc,1),llv(l,2));
len1:=SUMBARS(jc,1);
len2:=SUMBARS(sc,1);
cd1:len1>2 and len1<10 and  cross(c,h1);//价格上穿2日最高价
cd2:len2>2 and len2<10 and  cross(l1,c);//价格下穿2日最低价

if cd1 then
begin
sellshort(holding<0,holding,market);
buy(holding=0,1,market);   
end

if cd2 then
begin
sell(holding>0,holding,market);
buyshort(holding=0,1,market);   
end