以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [原创] (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=99639) |
-- 作者:splisun -- 发布时间:2016/6/27 11:29:51 -- [原创] 文华改写下金字塔,多谢。 //时间控制 A1:=TIME>=0905&&TIME<1010; A2:=TIME>=1035&&TIME<1125; B1:=TIME>=1335&&TIME<1455; B2:=TIME>=2105&&TIME<2325; TT:=A1 OR A2 OR B1 OR B2; //交易条件 DIFF:EMA(CLOSE,12)-EMA(CLOSE,26); DEA:EMA(DIFF,9); CROSS(DIFF,DEA)&&COUNTSIG(BK,5)=0&&TT,BK; CROSS(DEA,DIFF)&&COUNTSIG(SK,5)=0&&TT,SK; //开仓后第3根止损3个最小变动价位,第4根止损2个最小变动价位,第5根K线平仓 A:=MINPRICE1;//最小变动价位 REFSIG_PLACE(BK,1)=3&&BKVOL>0&&C<=BKPRICE-3*A,SP; REFSIG_PLACE(BK,1)=4&&BKVOL>0&&C<=BKPRICE-2*A,SP; REFSIG_PLACE(BK,1)=5&&BKVOL>0,SP; REFSIG_PLACE(SK,1)=3&&SKVOL>0&&C>=SKPRICE+3*A,BP; REFSIG_PLACE(SK,1)=4&&SKVOL>0&&C>=SKPRICE+2*A,BP; REFSIG_PLACE(SK,1)=5&&SKVOL>0,BP; //止损部分 STOP(0,8);//赢利8个最小变动价位,多单止盈; STOP(0,-4);//亏损4个最小变动价位,多单止损; STOP(4,4);//亏损4个最小变动价位,空单止损; STOP(4,-8);//赢利8个最小变动价位,空单止盈; MULTSIG(5,0,1,3);//出开信号第5个间隔下单,出平信号即下单,不复核,信号个数1,隔3秒计算一次 SETALLSIGPRICETYPE(LIMIT_ORDER);//该模型中所有信号以市价委托 TIME>=1013&&TIME<1014,CLOSEOUT; TIME>=1128&&TIME<1129,CLOSEOUT; TIME>=2328&&TIME<2329,CLOSEOUT; CLOSEMINUTE1<=2,CLOSEOUT;//收盘前2分钟,清仓 TRADE_OTHER(\'AUTO\'); AUTOFILTER; [此贴子已经被作者于2016-6-27 11:30:27编辑过]
|
-- 作者:jinzhe -- 发布时间:2016/6/27 13:32:33 -- REFSIG_PLACE(BK,1) 这句是什么意思? |
-- 作者:splisun -- 发布时间:2016/6/27 15:35:09 -- REFSIG_PLACE(Sig,N) 判断从当根K线开始倒数第N个固定的Sig信号所在K线的位置。 用法:REFSIG_PLACE(Sig,N) 判断从当根K线开始倒数第N个固定的Sig信号所在K线的位置。如果没有Sig信号,或者没有固定的Sig信号,则该函数返回空值。 注: 1、Sig位置支持的信号有:BK,SK,BP,SP,BPK,SPK,CLOSEOUT 2、K线位置是指的这根K线距离当前K线的根数。 3、如果倒数第N个固定的Sig信号在当根K线上,那么该函数返回0。 4、N为0或空值时,该函数返回空值。 5、参数N支持变量。 例: REFSIG_PLACE(BK,3)=5&&BKVOL>0,SP;//如果从当根K线开始倒数第3个固定的BK信号所在的距离当前K线有5根K线,并且多头持仓大于0,卖平仓 |
-- 作者:jinzhe -- 发布时间:2016/6/27 15:44:29 -- http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=99650 是不是一样的? |
-- 作者:splisun -- 发布时间:2016/6/27 15:48:43 -- 恩,是的,少了这部分 //开仓后第3根止损3个最小变动价位,第4根止损2个最小变动价位,第5根K线平仓 A:=MINPRICE1;//最小变动价位 REFSIG_PLACE(BK,1)=3&&BKVOL>0&&C<=BKPRICE-3*A,SP; REFSIG_PLACE(BK,1)=4&&BKVOL>0&&C<=BKPRICE-2*A,SP; REFSIG_PLACE(BK,1)=5&&BKVOL>0,SP; REFSIG_PLACE(SK,1)=3&&SKVOL>0&&C>=SKPRICE+3*A,BP; REFSIG_PLACE(SK,1)=4&&SKVOL>0&&C>=SKPRICE+2*A,BP; REFSIG_PLACE(SK,1)=5&&SKVOL>0,BP; |
-- 作者:jinzhe -- 发布时间:2016/6/27 15:56:39 -- 加下面的几句:
if enterbars=3 and holding>0 and c<=enterprice-3*mindiff then sell(1,0,marektr); if enterbars=4 and holding>0 and c<=enterprice-2*mindiff then sell(1,0,marketr); if enterbars=5 and holding>0 then sell(1,0,marketr);
if enterbars=3 and holding<0 and c>=enterprice+3*mindiff then sellshort(1,0,marektr); if enterbars=4 and holding<0 and c>=enterprice+2*mindiff then sellshort(1,0,marketr); if enterbars=5 and holding<0 then sellshort(1,0,marketr); |
-- 作者:splisun -- 发布时间:2016/6/27 16:00:05 -- 多谢,有问题在请教。 |
-- 作者:jinzhe -- 发布时间:2016/6/27 16:05:08 -- 好 |
-- 作者:splisun -- 发布时间:2016/6/27 16:23:48 -- 放入后,通不过. ![]() ![]() |
-- 作者:jinzhe -- 发布时间:2016/6/27 16:32:37 -- if enterbars=3 and holding>0 and c<=enterprice-3*mindiff then sell(1,0,marketr); if enterbars=4 and holding>0 and c<=enterprice-2*mindiff then sell(1,0,marketr); if enterbars=5 and holding>0 then sell(1,0,marketr);
if enterbars=3 and holding<0 and c>=enterprice+3*mindiff then sellshort(1,0,marketr); if enterbars=4 and holding<0 and c>=enterprice+2*mindiff then sellshort(1,0,marketr); if enterbars=5 and holding<0 then sellshort(1,0,marketr);
有拼写错误,现在改了 |