以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 策略编写求助区 (http://222.73.7.161/bbs/list.asp?boardid=11) ---- [求助]请老师帮把即日策略改为隔日的趋势策略,谢谢。 (http://222.73.7.161/bbs/dispbbs.asp?boardid=11&id=30409) |
-- 作者:lzql888 -- 发布时间:2012/11/5 22:33:47 -- [求助]请老师帮把即日策略改为隔日的趋势策略,谢谢。 //策略:Dual Thrust //类型:日内 //中间变量 input:n(1,1,100,1),K1(0.7,0.1,1,0.1),k2(0.7,0.1,1,0.1),nmin(10,1,100,1),ss(1,1,100,1); CYC:=barslast(date<>ref(date,1))+1; 昨高:=callstock(stklabel,vthigh,6,-1); 昨低:=callstock(stklabel,vtlow,6,-1); 昨收:=callstock(stklabel,vtclose,6,-1); 开盘价:=valuewhen(cyc=1,open); HH:=hhv(昨高,n);//N日high的最高价 HC:=hhv(昨收,n);//N日close的最高价 LC:=LLV(昨收,n);//N日close的最低价 LL:=LLV(昨低,n);//N日low的最低价 浮动区间:=max(HH-LL,HC-LL);//range 上轨:开盘价+k1*浮动区间; 下轨:开盘价-K2*浮动区间; t1:=time>opentime(1) and time<closetime(0)-nmin*100; t2:=time>=closetime(0)-nmin*100; 手数:=ss; //交易条件 开多条件:=c>上轨 and holding=0; 开空条件:=c<下轨 and holding=0; //交易系统 开多:buy(开多条件 and t1 and cyc>1,手数,market); 开空:buyshort(开空条件 and t1 and cyc>1,手数,market); 收盘平多:sell(t2,手数,market); 收盘平空:sellshort(t2,手数,market); |
-- 作者:lzql888 -- 发布时间:2012/11/5 22:43:44 -- 忘了说 收盘平多:sell(t2,手数,market); 函数,测试时,不是当根K线平仓的价格 跳到了第二天的开盘价的价格 请老师帮改为测试时用当根K线平仓的价格函数 如limitr,c 谢谢。 |
-- 作者:lzql888 -- 发布时间:2012/11/6 14:00:59 -- 期待助人为乐的精神出现 |
-- 作者:人生如棋 -- 发布时间:2012/11/6 19:49:36 -- 楼主,可能没看懂个代码的意思吧。。。你这个改成隔夜没办法的,他意思是突破开仓,到时间点就平仓,t2就是那个平仓点。。 |
-- 作者:lzql888 -- 发布时间:2012/11/6 22:43:17 -- 谢谢兄关注!隔夜的应该是可以吧?上下轨是0.7 做多为例:今日往上突破价格后开多仓,然后没破下轨就持仓 第二天继续涨 突破上轨也不管他 直到突破下轨再反手做空 我是这个意思 最直接的表达是 突破上轨做多后 一直持仓到突破下轨在反手做空 改成一直在市交易的模式。我想应该可以办到的。
|
-- 作者:lzql888 -- 发布时间:2012/11/7 21:45:12 -- 无望 结贴了 |