以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  我的公式中是否调用了未来函数  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=65415)

--  作者:zsg465341578
--  发布时间:2014/5/25 10:30:30
--  我的公式中是否调用了未来函数
老师你好,请教:
1、下面三行代码的含义是否是:“当收盘价突破当天的开盘价时开多单”,是否有逻辑等方面的问题,是否用到未来数据:
aa:=barslast(day-ref(day,1)<>0);
bb:=ref(open,aa);
if cross(c,bb) then buy(holding=0,1,limitr,bb);
2、下面的止赢表达式中,用的是市价平仓,如果改用限价,limitr后面的平仓代码怎么写呢:{lowprice已定义}
if holding<0 and enterbars>0 then begin
 if c<lowprice then lowprice:=c;
 if ((enterprice-lowprice)/enterprice*100>2 and (c-lowprice)/(enterprice-lowprice)*100>=30) then sellshort(1,0,marketr);
谢谢老师! 

--  作者:无极无名
--  发布时间:2014/5/25 14:09:23
--  
当然有问题。如果收盘价满足条件,则用指定价买入,你哪里买得到?凡是用收盘价作为判断条件的,必须要在次周期开盘动作。
--  作者:zsg465341578
--  发布时间:2014/5/25 23:18:46
--  
用轮询模式也无法实现吗?
第1个问题里面,我想表达的意思是:比如3分钟周期交易,当价格上破bb线时即入场,下破时即出场,不需要等到k线走完才报单----代码怎么表达呢?
问题2也是这个意思,我是想在价格一旦达到止赢条件即平仓,不要等到K线走完才平,所以才问到限价指令limitr后面的代码怎么写?谢谢

--  作者:无极无名
--  发布时间:2014/5/25 23:54:46
--  

不知道你的BB是不是你的本意,你的代码求的是今日开盘价,你有没有想过如果当前是今天第一根K线,cross(c,bb) 的意义是什么?
轮询模式,本根K线及时触发,不能用CLOSE来判断条件是否能成立,这个信号是不稳定的,
因为一根K线没有走完之前,close是变动的,但是你要求在走完之前就触发条件,盘中就会产生信号闪烁,历史测试看不出来。
所以只能用HIGH、LOW来判断是否满足条件。

--  作者:ZSG465341578
--  发布时间:2014/5/26 14:08:23
--  
上述代码我是在什么论坛上看到的。既然AA是今日开盘价,那BB:=REF(OPEN,AA))这条线是什么意思?
--  作者:jinzhe
--  发布时间:2014/5/26 14:19:54
--  

AA不是今日开盘价

ref(open,aa);这个才是今日开盘价,