老师
你好,请帮忙编写个公式,谢谢:
均线1与均线2金叉,价格突破金叉的当天和后一天的最高价就进多单,
均线1与均线2死叉,价格突破金叉的当天和后一天的最低价就进空单,
“价格突破金叉的当天和后一天的最高价就进多单” 这个逻辑是指当前价格上穿
金叉当天和后一天2日的最高价 是吗?
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
以上范例供参考。
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天内突破最高价(金叉当天与金叉后一天中的最高价)?
谢谢了
可以的。修改如下:
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