以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  错在哪里?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=188060)

--  作者:tonyzhu
--  发布时间:2021/4/26 21:55:36
--  错在哪里?
//日内强度
AA:=(2*C-H-L)/(H-L);
BB:=AA*VOL;
R:=SUM(BB,20)/SUM(VOL,20);

//中期方向线
MA1:=EMA(CLOSE,12);
MA2:=EMA(CLOSE,47);
B11:=(MA1-MA2);


//穿叉短周期
N:=34;
VAR1:=LLV(CLOSE,10);//10日最低
VAR2:=HHV(CLOSE,10);//10日最大
F:=EMA((CLOSE-VAR1)/(VAR2-VAR1)*100,10), COLORGREEN;//价差
S:=EMA(0.667*REF(F,1)+0.333*F,2) , COLORYELLOW;
FS:=(F+S)/2;

//穿叉长周期
VAR3:=(2*CLOSE+HHV(CLOSE,2)+LLV(CLOSE,2))/4;//化解
VAR4:=LLV(CLOSE,N);//34日最低
VARA:=HHV(CLOSE,N);
VARB:=EMA((VAR3-VAR4)/(VARA-VAR4)*100,13);//价差
VARC:=EMA(0.667*REF(VARB,1)+0.333*VARB,2);
FJ:=VARB-VARC;
BC:=(VARB+VARC)/2;



D1:=IFELSE(R>REF(R,1), 1,0);
D2:=IFELSE(B11>REF(B11,1), 1,0);
D3:=IFELSE(FS>REF(FS,1), 1,0);
D4:=IFELSE(BC>REF(BC,1), 1,0);

DK:=D1+D2+D3+D4;



KD:=DK>2;          //开多条件
PD:=(H-ENTERPRICE)>=10;        //平多条件
KK:=DK<2 ;  //开空条件
PK:=(ENTERPRICE-L)>=15;          //平空条件

平空:SELLSHORT(PK,20,MARKET);                  //平空信号
开多:BUY(KD AND HOLDING=0,20,MARKET);          //开多信号
平多:SELL(PD,20,MARKET);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,20,MARKET);     //开空信号






--  作者:tonyzhu
--  发布时间:2021/4/26 21:56:25
--  
错在哪里,应该信号挺多的,测试时很少。
--  作者:FireScript
--  发布时间:2021/4/27 8:40:08
--  
PK:=(ENTERPRICE-L)>=15*MINDIFF

这里改成这样试下。你原先应该也是想表达15点的意思吧。这样的话,带上最小变动价位。平多的那个也是这样。