以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=2929) |
-- 作者:msedu -- 发布时间:2010/9/20 23:51:25 -- 我写的图表交易系统,请高手指点:
//------------------------ SHORT:=C<LLV(5,L);
CONNo:=OpenPrift>1000 ;
If Not(IsLastBar) Then Begin
//做空
//空仓 Sell(CONNO And holding>0,0,ThisClose); End
//最后K线 If ConTime And IsLastBar Then Begin
//做多
//做空
//空仓
//纠错 End |
-- 作者:董小球 -- 发布时间:2010/9/21 10:12:17 -- 你也不说说你公式要看啥问题,不需要你自己判断是否是最后K线的,系统会自动判断,如果是最后周期的就给你下单,不是最后周期的周期会表示买卖记号而已,不知道你问的是不是这个问题! |
-- 作者:admin -- 发布时间:2010/9/21 10:14:54 -- Sell 等新交易系统指令不能用TFILTER,只能用在ENTERLONG等旧交易系统上 |
-- 作者:fly -- 发布时间:2010/9/21 10:25:36 -- LONG:=C>HHV(5,H); SHORT:=C<LLV(5,L);
HHV和LLV函数用错了,出现低级概念性失误.
1.建议改成 H5:=REF(HHV(H,5),1); L5:=REF(LLV(L,5),1);
2.开平仓的时间---模拟的和实盘的要区别对待 http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=49问题12
|
-- 作者:msedu -- 发布时间:2010/9/21 10:34:25 -- 以下是引用董小球在2010-9-21 10:12:17的发言:
你也不说说你公式要看啥问题,不需要你自己判断是否是最后K线的,系统会自动判断,如果是最后周期的就给你下单,不是最后周期的周期会表示买卖记号而已,不知道你问的是不是这个问题!
其实,我把“最后一根K线”和“非最后一根K线”区别开,是想对它们进行不同的处理,因为,交易是在最后一根K线上发生的,所以,我区别开,只在临近收盘时候才下单,避免盘中信号的反复,也让开仓的价格始终尽可能接近当日的收盘价,让真实的盈亏和回测的盈亏尽可能的接近。。。
不知道有没有更好的写法呢? |
-- 作者:董小球 -- 发布时间:2010/9/21 10:54:02 -- 哦 要是用于测试用的话,那你就不能用CURRENTTIME了吧 得用time吧。
|
-- 作者:msedu -- 发布时间:2010/9/21 12:09:01 -- 以下是引用fly在2010-9-21 10:25:36的发言:
LONG:=C>HHV(5,H); SHORT:=C<LLV(5,L);
HHV和LLV函数用错了,出现低级概念性失误.
1.建议改成 H5:=REF(HHV(H,5),1); L5:=REF(LLV(L,5),1);
2.开平仓的时间---模拟的和实盘的要区别对待 http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=49
这里不是模拟和实盘的区别哈,是这样的,在图表交易中如果使用了 IsLastBar或者CurrentTime,那么图表上就不会显示“回测的开平仓信号”,因为只对最后一根Bar做处理,所以,分开处理,写两段,就是既能让图表上把以前的交易记录显示出来,也能在最后一根BAR的实际交易时,做特殊的处理:比如时间控制、等。。。
这样写好不好,大家再思考一下,给点建议啊!
[此贴子已经被作者于2010-9-21 12:11:08编辑过]
|