以文本方式查看主题

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

--  作者:代人发贴
--  发布时间:2019/7/11 10:27:24
--  帮我把文华改成金字塔
 M:=10;
A:=(3*C+L+O+H)/6;//3倍收盘价与最高价、最低价、开盘价之和的均值。
B:(20*A+19*REF(A,1)+18*REF(A,2)+17*REF(A,3)+16*REF(A,4)+15*REF(A,5)+14*REF(A,6)+13*REF(A,7)+12*REF(A,8)+11*REF(A,9)+10*REF(A,10)+9*REF(A,11)+8*REF(A,12)+7*REF(A,13)+6*REF(A,14)+5*REF(A,15)+4*REF(A,16)+3*REF(A,17)+2*REF(A,18)+REF(A,20))/210;
//对A值做加权均值计算。
D:MA(B,M);
N:=1;//首次下单手数
AA:=COUNTSIG(BPK,BARPOS)+COUNTSIG(SPK,BARPOS);//之前没有BPK,SPK信号。
BB:=IF(TRADE_REF(1)=0,IF(REF(ISLASTBPK,1),REF(REFSIG_VOL(BPK,1)+1,1),REF(REFSIG_VOL(SPK,1)+1,1)),N);
CC:=IF(AA<1,N,BB);
CROSS(B,D),BPK(CC);
CROSSDOWN(B,D),SPK(CC);
MULTSIG(0,0,1,0);
//追价委托
SETSIGPRICETYPE(BPK,TRACING_ORDER);
SETSIGPRICETYPE(SPK,TRACING_ORDER);

--  作者:FireScript
--  发布时间:2019/7/11 14:46:01
--  
以下代码供参考:

M:=10;
A:=(3*C+L+O+H)/6;//3倍收盘价与最高价、最低价、开盘价之和的均值。
B:(20*A+19*REF(A,1)+18*REF(A,2)+17*REF(A,3)+16*REF(A,4)+15*REF(A,5)+14*REF(A,6)+13*REF(A,7)+12*REF(A,8)+11*REF(A,9)+10*REF(A,10)+9*REF(A,11)+8*REF(A,12)+7*REF(A,13)+6*REF(A,14)+5*REF(A,15)+4*REF(A,16)+3*REF(A,17)+2*REF(A,18)+REF(A,20))/210;
//对A值做加权均值计算。
D:MA(B,M);
N:=1;//首次下单手数
cd1:ref(holding,1)<0 and holding>0;//利用持仓变化判断是否反手了
cd2:ref(holding,1)>0 and holding<0;
AA:=COUNT(cd1,BARPOS)+COUNT(cd2,BARPOS);//之前没有BPK,SPK信号。
BB:=IF(NUMPROFIT(1)=0,ENTERVOL,N);
CC:=IF(AA<1,N,BB);

if CROSS(B,D) then
begin
sellshort(holding<0,holding,market);
buy(holding=0,CC,market);
end

if CROSS(D,B) then
begin
sell(holding>0,holding,market);
buyshort(holding=0,CC,market);
end

//下面这个功能需要使用软件自带的追撤单,无法单纯用代码实现。

////追价委托
//SETSIGPRICETYPE(BPK,TRACING_ORDER);
//SETSIGPRICETYPE(SPK,TRACING_ORDER);
//