以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 使用周期 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=163024) |
-- 作者:qq709736359 -- 发布时间:2018/4/25 15:30:51 -- 使用周期 //该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!! //策略:恒温器系统 //简介:恒温器策略以其能够在震荡和趋势市场中自动调节交易行为而得名。 //类型:中长期通道突破 //周期: //使用市场: //详情介绍网址:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=30423&page=2 //版本:1.0 //修订时间:2012.11.6 //DESIGNED BY ROGARZ //中间变量 INPUT:M(50,5,300,30),N(1.25,0.1,10,0.1),SS(1,1,10000,1),K1(0.5,0.1,1,0.1),K2(0.75,0.1,1,0.1); VARIABLE:A:=0;//0表示仓位是在趋势模式下下单 1表示在震荡模式下下单 MID : MA(CLOSE,M);//布林中轨 UPPER:MID + N*STD(CLOSE,M);//布林上轨 LOWER:MID - N*STD(CLOSE,M);//布林下轨 今开:=CALLSTOCK(STKLABEL,VTOPEN,6,0); CMI:ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(L,30))*100;//0-100 取值越大,说明趋势越强,CMI<20震荡模式,反之为趋势 关键价:(HIGH+LOW+CLOSE)/3;//关键价的计算,国外常称作中枢价格(PIVOT POINT) ATR10:=MA(TR,10); 3日均低价:=MA(L,3); 3日均高价:=MA(H,3); 手数:=SS; //交易条件 IF C<关键价 THEN BEGIN 趋买市开多平空条件:=C>MAX(今开+K1*ATR10,3日均低价); 趋买市开空平多条件:=C<MIN(今开-K2*ATR10,3日均高价); END IF C>关键价 THEN BEGIN 趋卖市开多平空条件:=C>MAX(今开+K2*ATR10,3日均低价); 趋卖市开空平多条件:=C<MIN(今开-K1*ATR10,3日均高价); END 趋势开多条件:=C>UPPER; 趋势开空条件:=C<LOWER; 趋势平多条件:=C<MID; 趋势平空条件:=C>MID; 震荡多单平仓条件:=C<=ENTERPRICE-3*ATR10; 震荡空单平仓条件:=C>=ENTERPRICE+3*ATR10; //交易系统 IF CMI<20 THEN BEGIN {震荡模式} IF C<关键价 THEN BEGIN 趋买市平空:SELLSHORT(趋买市开多平空条件 AND HOLDING<=0,手数,MARKET); 趋买市平多:SELL(趋买市开空平多条件 AND HOLDING>=0,手数,MARKET); 趋买市开多:BUY(趋买市开多平空条件 AND HOLDING<=0,手数,MARKET); 趋买市开空:BUYSHORT(趋买市开空平多条件 AND HOLDING>=0,手数,MARKET); A:=1; END IF C>关键价 THEN BEGIN 趋卖市平空:SELLSHORT(趋卖市开多平空条件 AND HOLDING<=0,手数,MARKET); 趋卖市平多:SELL(趋卖市开空平多条件 AND HOLDING>=0,手数,MARKET); 趋卖市开多:BUY(趋卖市开多平空条件 AND HOLDING<=0,手数,MARKET); 趋卖市开空:BUYSHORT(趋卖市开空平多条件 AND HOLDING>=0,手数,MARKET); A:=1; END END IF CMI>=20 THEN BEGIN {趋势模式} IF A:=1 THEN BEGIN //趋势模式下 原震荡模式下 仓位处理 震荡多单平仓:SELL(震荡多单平仓条件 AND HOLDING>0,手数,MARKET); 震荡空单平仓:SELLSHORT(震荡空单平仓条件 AND HOLDING<0,手数,MARKET); A:=0; END IF A:=0 THEN BEGIN 趋势平空:SELLSHORT(趋势平空条件 AND HOLDING<0,手数,MARKET); 趋势平多:SELL(趋势平多条件 AND HOLDING>0,手数,MARKET); 趋势开多:BUY(趋势开多条件 AND HOLDING<=0,手数,MARKET); 趋势开空:BUYSHORT(趋势开空条件 AND HOLDING>=0,手数,MARKET); A:=0; END END //注意先平后开原则 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值
|
-- 作者:qq709736359 -- 发布时间:2018/4/25 15:31:54 -- 各位大神好,我想问一下这个系统里的策略,能用在多分钟周期上测试吗? |
-- 作者:FireScript -- 发布时间:2018/4/25 15:33:43 -- 从代码上来看,没有周期限制的。 |
-- 作者:qq709736359 -- 发布时间:2018/4/25 15:50:22 -- 3日均低价:=MA(L,3); 3日均高价:=MA(H,3); 比如我测试5分钟,这个均价也没问题吗?这个取值是今天 昨天 前天这三天的值吗? |
-- 作者:FireScript -- 发布时间:2018/4/25 15:51:04 -- 这里是指3个K周期,并不是说是3个交易日的意思。 |