以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  劳烦老师帮改Dual Thrust模型  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=30336)

--  作者:lzql888
--  发布时间:2012/11/2 14:45:52
--  劳烦老师帮改Dual Thrust模型
源码是坛上 图片点击可在新窗口打开查看RogarZ客服老师写的 非常喜欢这策略 请老师帮忙改一下:1.  加入固定额度止损(可自调止损额度) 做多为例子:开仓价的0.5%止损 (到止损点了就止损而不是破了止损价的单根5分钟收盘价止损 ) 止损后若再回到原来的位置 2次开仓。2修改一处:  原模型的5分钟K线测试的时候 即日收盘平仓价3点钟那根K线平仓不知为何选用了第二天的开盘价。改为本周期的价格平仓。(若不好改 就该为14:55平仓也行)小弟不懂编程。身上金币只有1枚 略表心意 谢谢老师的慷慨 老师辛苦 感恩!源码如下:
//策略: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);


[此贴子已经被作者于2012-11-2 14:46:44编辑过]

--  作者:董小球
--  发布时间:2012/11/16 9:22:27
--  
1中的问题在图表交易中没办法实现,因为图表交易一般都是运行在走完K线模式的,这种模式没办法做到价格到了立即触发下单,而是一般等到走完K线等待趋势确立了才会下单。
如果使用时间轮训的模式又会造成信号闪烁,所以如果要在图表交易里做立即止损,最好是直接用金字塔自带的止损止盈功能。

2 修改下面两行代码就可以实现14.55分平仓了
t1:=time>090000 and time<145500;
t2:=time>=145500;

--  作者:lzql888
--  发布时间:2013/1/10 22:59:28
--  
谢谢董老师