以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请老师帮改一个文华的模型 我想在金字塔上使用 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=155277) |
-- 作者:2533658013 -- 发布时间:2017/6/20 22:26:35 -- 请老师帮改一个文华的模型 我想在金字塔上使用 VAR1:=EMA(CLOSE,15); VAR2:=EMA(CLOSE,60); 红多:(CLOSE-VAR1)*2/(15+1)+VAR1,LINETHICK3, COLORRED; VAR3:=(CLOSE-VAR2)*2/(60+1)+VAR2; 蓝空:IF(红多>VAR3,VAR3,红多),LINETHICK3, COLORBLUE; 生命线:VAR3,LINETHICK3, COLORYELLOW; STICKLINE1(红多>VAR3,红多,VAR3,0,0),COLORRED; STICKLINE1(红多<VAR3,红多,VAR3,0,0),COLORGREEN; DRAWICON(FILTER(CROSS(红多,VAR3),30),红多,6); DRAWICON(FILTER(CROSS(VAR3,红多),30),红多,5); SW1:=(EMA(CLOSE,5)*7+EMA(CLOSE, 10)*3)/10; PARTLINE(SW1>VAR3,SW1,COLORRED),LINETHICK2; PARTLINE(SW1<VAR3,SW1,COLORWHITE),LINETHICK2; DRAWTEXT(CROSS(SW1,VAR3),VAR3,\'多\'),COLORYELLOW; DRAWTEXT(CROSS(VAR3,SW1),VAR3,\'空\'),COLORGREEN; CROSS(SW1,VAR3),SOUND(\'A\'); CROSS(VAR3,SW1),SOUND(\'B\'); DRAWKLINE(8/10,COLORRED,1,COLORCYAN,0); DC:=VALUEWHEN( CROSS(SW1,VAR3),C); KC:=VALUEWHEN( CROSS(VAR3,SW1),C); DN:=BARSLAST(CROSS(SW1,VAR3))+1; KN:=BARSLAST(CROSS(VAR3,SW1))+1; DD:=BARSLAST(CROSS( 红多,VAR3)); KK:=BARSLAST(CROSSDOWN( 红多,VAR3)); BKVOL=0&& CROSS( C,DC+20*MINPRICE) &&DN<KN&& COUNTSIG(BK,DD)<1,BK; BKVOL>0&&C>=BKPRICE+20*MINPRICE,SP; BKVOL<0&&C>=BKPRICE-20*MINPRICE,SP; BKVOL>0&&CROSS(VAR3,SW1),SP; SKVOL=0&& CROSS(KC-20*MINPRICE ,C) &&KN<DN&& COUNTSIG(SK,KK)<1,SK; SKVOL>0&&C<=SKPRICE-20*MINPRICE,BP; SKVOL>0&&C>=SKPRICE+20*MINPRICE,BP; SKVOL>0&&CROSS(SW1,VAR3),BP; MULTSIG(0,0,1,0); AUTOFILTER;
|
-- 作者:pyd -- 发布时间:2017/6/21 9:01:54 -- 改写中请稍等 |
-- 作者:pyd -- 发布时间:2017/6/21 9:04:40 -- 解释下这两个函数 SOUND(\'A\'); MULTSIG(0,0,1,0); |
-- 作者:qq代人发帖 -- 发布时间:2017/6/21 10:18:17 -- COUNTSIG 这个函数在网上没找到说明,能否给出文华下的函数说明呢? |
-- 作者:qq代人发帖 -- 发布时间:2017/6/21 12:06:50 -- 仅供参考,有些细节没办法完全实现,比较是两个不同的软件,一些基本的机制方面还是有差异的。
variable:Kk=0;//用于统计开多和开空次数的变量 STICKLINE(红多>VAR3,红多,VAR3,10,0,COLORRED);
if CROSS(C,DC+20*MINDIFF)&&DN<KN&&count(Kk=1,DD)=0 then begin buy(holding=0,1,marketr); Kk:=1; end;//使用marketr 是为了对应MULTSIG(0,0,1,0)函数第一个参数的含义。 if CROSS(KC-20*MINDIFF ,C)&&KN<DN&&count(Kd=1,KK)=0 then begin buyshort(holding=0,1,marketr);Kd:=1; end;
//MULTSIG(0,0,1,0); 这个函数的功能需要在软件界面设置,和文华的不完全一致。具体是要设置固定轮询,时间间隔为一秒。 |
-- 作者:2533658013 -- 发布时间:2017/6/21 13:27:39 -- SOUND(\'A\'); 这个是 条件成立就 播放提示音 A为提示音的编号 MULTSIG(0,0,1,0);这个是TICK逐笔回测,每一个TICK计算一次模型 然后满足条件后直接发出委托 一个K线上只允许一个信号
|
-- 作者:2533658013 -- 发布时间:2017/6/21 13:28:46 -- COUNTSIG(X,N); 统计N周期内,X信号的数量; 用法: X可以为BK、SK、SP、BP、SPK、BPK、CLOSEOUT、STOP |
-- 作者:2533658013 -- 发布时间:2017/6/21 13:30:08 -- COUNTSIG(X,N); 统计N周期内,X信号的数量; 用法: X可以为BK、SK、SP、BP、SPK、BPK、CLOSEOUT、STOP |
-- 作者:pyd -- 发布时间:2017/6/21 14:20:05 -- VAR1:=EMA(CLOSE,15);
DC:=VALUEWHEN( CROSS(SW1,VAR3),C);
|