以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=171349)

--  作者:hzwsl888
--  发布时间:2019/7/30 11:54:18
--  帮忙改成金字塔的模型
N:=0.5;//通常,N的取值范围位于0.5-0.8之间,也可根据经验定义
ZH:=REF(HHV(H,DAYBARPOS),DAYBARPOS);//昨日最高价
ZL:=REF(LLV(L,DAYBARPOS),DAYBARPOS);//昨日最低价
ZF:=ZH-ZL;//昨日振幅
JO:=REF(O,DAYBARPOS-1);//今日开盘价
SG:JO+N*ZF;//上轨
XG:JO-N*ZF;//下轨
C>SG,BPK;
C<XG,SPK;
MA60:MA(C,60);
AUTOFILTER;
DRAWCOLORKLINE(C>MA60,COLORRED,0);
DRAWCOLORKLINE(C<MA60,COLORBLUE,0);

--  作者:FireScript
--  发布时间:2019/7/30 13:17:38
--  
 N:=0.5;//通常,N的取值范围位于0.5-0.8之间,也可根据经验定义
ZH:=REF(HHV(H,TODAYBAR),TODAYBAR);//昨日最高价
ZL:=REF(LLV(L,TODAYBAR),TODAYBAR);//昨日最低价
ZF:=ZH-ZL;//昨日振幅
JO:=REF(O,TODAYBAR-1);//今日开盘价
SG:JO+N*ZF;//上轨
XG:JO-N*ZF;//下轨

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

if C<XG then
begin
sell(holding>0,holding,market);
buyshort(holding=0,1,market);
end
MA60:MA(C,60);
//下面这2个绘制K线的无法等效替换
//DRAWCOLORKLINE(C>MA60,COLORRED,0);
//DRAWCOLORKLINE(C<MA60,COLORBLUE,0);
--  作者:hzwsl888
--  发布时间:2019/7/30 14:44:38
--  
TYP:=(CLOSE+HIGH+LOW)/3;
CCI:(TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N));
MA(CLOSE,5)>MA(CLOSE,10)&&MA(CLOSE,10)>MA(CLOSE,30)&&CROSS(CCI,0),BPK;
MA(CLOSE,5)<MA(CLOSE,10)&&MA(CLOSE,10)<MA(CLOSE,30)&&CROSS(0,CCI),SPK;
AUTOFILTER;
这个能帮忙更改一下吗。

--  作者:FireScript
--  发布时间:2019/7/30 14:47:36
--  
 这个你只要和2楼一样替换下BPK,SPK就行了。然后AUTOFILTER去掉,这个不用管。
--  作者:hzwsl888
--  发布时间:2019/7/30 16:14:28
--  
TYP:=(CLOSE+HIGH+LOW)/3;
CCI:(TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N));
MA(CLOSE,5)>MA(CLOSE,10)&&MA(CLOSE,10)>MA(CLOSE,30)&&CROSS(CCI,0),
MA(CLOSE,5)<MA(CLOSE,10)&&MA(CLOSE,10)<MA(CLOSE,30)&&CROSS(0,CCI),
if MA(CLOSE,5)>MA(CLOSE,10)&&MA(CLOSE,10)>MA(CLOSE,30)&&CROSS(CCI,0), then
begin
sellshort(holding<0,holding,market);
buy(holding=0,1,market); 
end

if MA(CLOSE,5)<MA(CLOSE,10)&&MA(CLOSE,10)<MA(CLOSE,30)&&CROSS(0,CCI),n
begin
sell(holding>0,holding,market);
buyshort(holding=0,1,market); 
end

是这样的吗。

--  作者:FireScript
--  发布时间:2019/8/1 11:15:25
--  
 对的。是这样的。
不过你后面一句这里漏掉了then
if MA(CLOSE,5)<MA(CLOSE,10)&&MA(CLOSE,10)<MA(CLOSE,30)&&CROSS(0,CCI) then
begin
sell(holding>0,holding,market);
buyshort(holding=0,1,market); 
end