以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=175060) |
-- 作者:yzhybw -- 发布时间:2020/3/20 8:47:34 -- 请老师修改策略 //该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!! //策略:唐奇安通道 //简介:唐奇安通道(Donchian channel)这个策略可以称得上是所有日内策略的鼻祖。 //类型:皆可 //周期: //使用市场: //详情介绍网址:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=30353 //版本:1.0 //修订时间:2012.11.3 //DESIGNED BY ROGARZ //中间变量 INPUT:X(20,1,100,1),NMIN(10,1,100,1),SS(1,1,10000,1); X周期高点:=REF(HHV(H,X),1);//X是参数,自行调整 X周期低点:=REF(LLV(L,X),1); 手数:=SS; 开仓时间:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100; 平仓时间:=TIME>=CLOSETIME(0)-NMIN*100; {NMIN为参数,CLOSETIME(0)-NMIN*100表示 收盘时间-提前N分钟 N由NMIN控制} //交易条件: 开多平空条件:=High>=X周期高点 and 开仓时间 and holding<=0; 开空平多条件:=Low<=X周期低点 and 开仓时间 and holding>=0; //交易系统 收盘平多:sell(平仓时间 and holding>0, 0, thisclose); 收盘平空:sellshort(平仓时间 and holding<0,0,thisclose); 平空:sellshort(开多平空条件 and holding<0, 手数,limitr,X周期高点); 平多:sell(开空平多条件 and holding>0,手数,limitr,X周期低点); 开空:buyshort(开空平多条件 and holding=0,手数,limitr,X周期低点); 开多:buy(开多平空条件 and holding=0, 手数,limitr,X周期高点); 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值 请老师把上面的策略改成股票可用的中长线策略。
|
-- 作者:FireScript -- 发布时间:2020/3/20 9:10:50 -- 具体修改的逻辑需要用户提供下。你只说改成中长线策略,我们这边是无法处理的。 |
-- 作者:yzhybw -- 发布时间:2020/3/20 9:14:15 -- 把当天开仓平仓去掉 |
-- 作者:yzhybw -- 发布时间:2020/3/20 9:16:43 -- 改成象布林强盗系统就可以了,每个周期都可以用。 |
-- 作者:yzhybw -- 发布时间:2020/3/20 9:18:06 -- //该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!! //策略:布林强盗系统 //简介:布林带(BOLL)是由John Bollinger在20世纪60年代创建的。 //类型:中长期通道突破 //周期: //使用市场: //详情介绍网址:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=30382 //修订时间:2012.11.4 //版本:1.0 //DESIGNED BY ROGARZ //中间变量 INPUT:M(50,5,300,1),N(1.25,0.1,2,0.1),D(30,1,30,1),SS(99000,1,99000,1); VARIABLE:X:=50; MID : MA(CLOSE,M);//布林中轨 UPPER:MID + N*STD(CLOSE,M);//布林上轨 LOWER:MID - N*STD(CLOSE,M);//布林下轨 CYC:=ENTERBARS+1,NOAXIS;//开仓至今的周期数 HC30:=REF(HHV(C,D),1);//30周期收盘价高点 LC30:=REF(LLV(C,D),1);//30周期收盘价低点 手数:=SS; 出场MA:MA(CLOSE,IF(HOLDING<>0,IF(CYC>=40,10,51-CYC),50)); //交易条件 开多平空条件:=C>HC30 AND H>REF(UPPER,1);//收盘价大于30周期收盘价最高值,且最高价上穿上轨 开空平多条件:=C<LC30 AND L<REF(LOWER,1);//收盘价小于30周期收盘价最高值,且最低价下穿下轨 多头出场条件:=C<出场MA AND 出场MA<UPPER; 空头出场条件:=C>出场MA AND 出场MA>LOWER; //交易系统 多头出场:SELL(多头出场条件 AND HOLDING>0,手数,marketr,C); 空头出场:SELLSHORT(空头出场条件 AND HOLDING<0,手数, marketr,C); 平多:SELL(开空平多条件 AND HOLDING>0,手数, marketr,C); 开多:BUY(开多平空条件 AND HOLDING<=0,手数, marketr,C); //注意先平后开原则 当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值 |
-- 作者:yzhybw -- 发布时间:2020/3/20 9:18:38 -- 象上面的策略就可以 |
-- 作者:wenarm -- 发布时间:2020/3/20 9:22:07 -- CLOSEPOSMODE:1; //指定图表理论平仓模式为优先平老仓
//交易条件: 平多:sell(平多条件,手数,limitr,X周期低点); [此贴子已经被作者于2020/3/20 9:27:48编辑过]
|
-- 作者:FireScript -- 发布时间:2020/3/20 9:23:25 -- INPUT:X(20,1,100,1),NMIN(10,1,100,1),SS(1,1,10000,1); X周期高点:=REF(HHV(H,X),1);//X是参数,自行调整 X周期低点:=REF(LLV(L,X),1); 手数:=SS; 开仓时间:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100; 平仓时间:=TIME>=CLOSETIME(0)-NMIN*100; {NMIN为参数,CLOSETIME(0)-NMIN*100表示 收盘时间-提前N分钟 N由NMIN控制} //交易条件: 老仓:HOLDING-DAYHOLDING; 开仓条件:=High>=X周期高点 and 开仓时间 and DAYHOLDING=0; 平仓条件:=Low<=X周期低点 and 开仓时间 and 老仓>=0; //交易系统 收盘平多:sell(平仓时间 and 老仓>0, 0, thisclose); 平多:sell(平仓条件 and 老仓>0,手数,limitr,X周期低点); 开多:buy(开仓条件 and HOLDING=0, 手数,limitr,X周期高点); 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值 这样就差不多了。
|
-- 作者:yzhybw -- 发布时间:2020/3/20 9:39:41 -- wenarm老师修改的可以用,FireScript老师修改的没法优化。 |
-- 作者:yzhybw -- 发布时间:2020/3/20 9:40:59 -- 谢谢两位老师。 |