以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=4771) |
-- 作者:j888fff -- 发布时间:2011/1/10 17:05:12 -- [求助]关于使用限价函数碰到的难题 图表交易,盘中延时刷新1000毫秒,新交易函数,K线走完模式,逐周期,品种期指。 设想,在以上条件下,以信号出现的K线收盘价+1或-1发单。 比如:开多信号,该根K线收盘价为3000,则以限价函数发出2999(3000-1)发出开多委托单。 实际调试过程中,按两步走。A,先找到以本周期收盘价发单的函数编法;B,在此基础上根据开单方向+1或-1。
调试一:LIMIT, close 结果,由于是K线走完模式,所以,发出的价格,是次周期开盘价。实盘多次测试,该结果确定无疑。
调试二:LIMIT, ref(close,1) 结果,假设发出信号的那根本周期K线为BB,则前一根K线为AA,次周期K线为CC. 则发出的价格,是AA的收盘价,不是本周期BB的收盘价。
调试三:LIMITR, close 成功取到本周期收盘价,并实盘发单成功。
调试步骤A完成。
调试步骤B:根据开多单,收盘价-1,平多单,收盘价+1 规则编写代码。 如:LIMITR, close-1 LIMITR, close+1 有些开仓点,会出现不能成交的白色标记。 原因为:因策略,在某个阴K线AA出现开多信号。如,该阴线开盘价为3010,最高价为3020,最低价为2999.8,收盘价为3000。 次周期K线BB, 开盘价为3000,最高价为3050,最低价为2998,收盘价3030. 由于LIMITR是本周期函数,它只将本周期的最低价2999.8和发单价2999做对比,如有差距,则提示不能成交。 但在以上的例子中,以AA收盘价3000-1,即2999发单,在次周期是能成交的,因为次周期最低价能到2998. 从而导致,图表交易信号与事实不符,因为,模型认为一开始开多没有成交,就不再发平仓信号了。
请求帮助,如何解决这个问题?
|
-- 作者:admin -- 发布时间:2011/1/10 17:48:33 -- LIMIT,是主要是在测试时使用的方法,因为回测时我们可以任何一个看到的价格指定成交,但是实盘就不一样,因为你不知道的最后一跟K线的收盘价到底是多少,故金字塔的函数列表中将LIMIT进行了我们认为比较详尽的描述,是按照当前的实际的价格报单,至于价格的位置,根据你的自动交易方式有关,如果是固定轮询模式,会在检测到信号的当时就触发交易,如果走完K线,则就会在次周期的开盘价位置给你报单。 |
-- 作者:j888fff -- 发布时间:2011/1/10 18:11:26 -- 管理员的意思我明白, 我现在就是想,本周期收盘价-1或+1发单这个功能如何来实现它,且能与图表交易信号相对应。 因为在实盘中,由于期指的波动大,次周期最低价常常能低于本周期收盘价1以上,以这样发单,能省下的手续费和滑点不可估量。以5分钟模型固定1手,10.4.16~11.1.10,交易数量400次计算,几乎能省下400点;如果复利计算,更是不得了。期间如偶有因此造成的漏单,也足以补偿了且富有盈余。 不知道这个设计该如何编制来实现它。苦恼了。。
金字塔能否再设计个新的限价函数,以支持这个功能? 比方新函数LLL ,只用来支持K线走完模式,以本周期收盘价-1发单,但和次周期最低价对比,而不是与本周期最低价对比。
[此贴子已经被作者于2011-1-10 18:17:43编辑过]
|
-- 作者:admin -- 发布时间:2011/1/10 19:21:14 -- 你可以试试使用MARKET交易控制符,使用市价下单,实盘中再选择走完K线模式,这样测试与实盘交易应该差距最小的 |
-- 作者:j888fff -- 发布时间:2011/1/10 20:49:29 -- MARKET-1或 MARKET+1? 我试试,这样能成的话,漏单的概率不好测算(-0.2~-1选哪个参数好这个也不好定),还有就是,开盘价如大幅跳空的话,就不大合算了。 |
-- 作者:shy508 -- 发布时间:2011/7/21 21:59:14 -- 以下是引用j888fff在2011-1-10 18:11:26的发言: 支持!困扰好久的问题!
管理员的意思我明白, 我现在就是想,本周期收盘价-1或+1发单这个功能如何来实现它,且能与图表交易信号相对应。 因为在实盘中,由于期指的波动大,次周期最低价常常能低于本周期收盘价1以上,以这样发单,能省下的手续费和滑点不可估量。以5分钟模型固定1手,10.4.16~11.1.10,交易数量400次计算,几乎能省下400点;如果复利计算,更是不得了。期间如偶有因此造成的漏单,也足以补偿了且富有盈余。 不知道这个设计该如何编制来实现它。苦恼了。。
金字塔能否再设计个新的限价函数,以支持这个功能? 比方新函数LLL ,只用来支持K线走完模式,以本周期收盘价-1发单,但和次周期最低价对比,而不是与本周期最低价对比。
[此贴子已经被作者于2011-1-10 18:17:43编辑过 |
-- 作者:shy508 -- 发布时间:2011/7/21 22:00:54 -- 以下是引用j888fff在2011-1-10 20:49:29的发言:
MARKET-1或 MARKET+1? 我试试,这样能成的话,漏单的概率不好测算(-0.2~-1选哪个参数好这个也不好定),还有就是,开盘价如大幅跳空的话,就不大合算了。 我这不成啊,楼主测试结果如何? |
-- 作者:j888fff -- 发布时间:2011/7/31 12:21:34 -- 以下是引用shy508在2011-7-21 22:00:54的发言:
我这不成啊,楼主测试结果如何?
用LIMITR, close-1 LIMITR, close+1 并且为防止不成交信号的产生,用了最高最低价过滤。
|
-- 作者:睿 -- 发布时间:2012/2/17 15:43:54 -- j888fff 我和你有相同的想法,请问你的下单实现了吗?是本周期收盘加减一个数值吗?
Limitr只是一个修饰符,好像不是函数 “由于LIMITR是本周期函数,它只将本周期的最低价2999.8和发单价2999做对比,如有差距,则提示不能成交。” 这是你实盘测试下单函数后得出的结论吗? 我怎么感觉LIMITR只是告诉Buy函数取得具体哪个周期的收盘价,取到以后就直接限价委托了。为什么还要出现你说的进行价位之间的逻辑比较?
|