以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp)
-- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4)
---- 后台交易中tenterbars得不到值? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=1822)
|
-- 作者:oldwain
-- 发布时间:2010/6/10 14:13:42
-- [求助]求高手! 求高手!编写一个黄金、白银日内短线交易指令
公式里,加入了调试语句:
debugfile(\'D:\\turtle.log\', \'symble: %s\', stkname());
debugfile(\'D:\\turtle.log\', \'enterbars: %.2f\', tenterbars(0));
日志文件中的内容:
。。。。
2010-06-10 14:03:04.687 enterbars: 4294965284.00
2010-06-10 14:03:04.703 enterbars: -1.00
2010-06-10 14:03:04.703 enterbars: -1.00
2010-06-10 14:03:04.718 enterbars: -1.00
2010-06-10 14:03:04.718 enterbars: -1.00
2010-06-10 14:03:04.718 enterbars: -1.00
2010-06-10 14:03:04.734 enterbars: -1.00
2010-06-10 14:03:04.734 enterbars: -1.00
2010-06-10 14:03:04.750 enterbars: -1.00
2010-06-10 14:03:04.750 enterbars: -1.00
2010-06-10 14:03:04.750 enterbars: -1.00
2010-06-10 14:03:04.750 enterbars: -1.00
2010-06-10 14:03:04.765 enterbars: 4294965136.00
2010-06-10 14:03:04.781 enterbars: 4294966834.00
2010-06-10 14:03:04.781 enterbars: 4294965260.00
2010-06-10 14:03:04.781 enterbars: -1.00
2010-06-10 14:03:04.796 enterbars: -1.00
2010-06-10 14:03:04.796 enterbars: -1.00
2010-06-10 14:03:04.812 enterbars: -1.00 <--- 到这里正好19行(我监控了19个品种)
2010-06-10 14:03:08.140 symble: (null)
2010-06-10 14:03:08.140 enterbars: -1.00
当前确实有仓位:
几个问题:
1. 为什么tenterbars取不到有效值?
2. stkname()为什么取不到品种名称?是不是%s的格式串有问题? debugfile里支持什么样的格式串?(这个好像没看到有文档说明)
3. 我监控的是19个品种, 调试中一次循环前面看到19个enterbars, 但symble只输出了一次。也很奇怪。 (两个debugfile语句连续执行的,并且没有放在条件语句中)
[此贴子已经被作者于2010-6-10 14:15:07编辑过]
|
-- 作者:admin
-- 发布时间:2010/6/10 17:32:07
--
tenterbars需要历史的成交记录才能正确返回结果,如果你的成交记录被清空或者是手工再其他位置进行开平仓交易,那么将无法返回正确结果。你可以再交易监控里,看看你所在公式的历史成交记录的开仓记录是否是全的。
stkname函数返回的变量只有在DRAWTEXT等绘制文字的函数中才能正确显示,其他方式打印出来的数字都是字符串在金字塔内的地址牌号
第3个问题,由于你的公式过于简单,我们这里无法印证问题存在,是否给出一个具体可以复现问题的测试公式。
|
-- 作者:oldwain
-- 发布时间:2010/6/10 19:15:11
--
以下是引用admin在2010-6-10 17:32:07的发言:
tenterbars需要历史的成交记录才能正确返回结果,如果你的成交记录被清空或者是手工再其他位置进行开平仓交易,那么将无法返回正确结果。你可以再交易监控里,看看你所在公式的历史成交记录的开仓记录是否是全的。
我在另一个帖子里提到过,系统之前有几次死机,导致预警记录都未能保留下来。 如果tenterbars需要历史记录才能返回正确结果, 那这个历史记录就太重要了,死机丢失记录就不可谅解了。 建议改成随时打开,随时写入,随时关闭的方式, 以避免由于程序意外退出导致历史记录丢失。
好消息是: 最近几天一直都没出现过死掉的现象, 不知是我不开股票行情的原因, 还是最近的升级给解决掉了。
stkname函数返回的变量只有在DRAWTEXT等绘制文字的函数中才能正确显示,其他方式打印出来的数字都是字符串在金字塔内的地址牌号
明白了。
但是有什么办法,能在调试日志中区分各品种的信息呢?
第3个问题,由于你的公式过于简单,我们这里无法印证问题存在,是否给出一个具体可以复现问题的测试公式。
这个我回头再多试试再说。
[此贴子已经被作者于2010-6-10 19:15:47编辑过]
|
-- 作者:oldwain
-- 发布时间:2010/6/10 19:18:37
--
以下是引用admin在2010-6-10 17:32:07的发言:
tenterbars需要历史的成交记录才能正确返回结果,如果你的成交记录被清空或者是手工再其他位置进行开平仓交易,那么将无法返回正确结果。你可以再交易监控里,看看你所在公式的历史成交记录的开仓记录是否是全的。
另外, 成交历史记录存放在哪个文件? 能否手工编辑? 这样有些时候手工补的单子,能与程序交易融合到一起.
|
-- 作者:admin
-- 发布时间:2010/6/10 21:05:15
--
成交记录文件在Setting目录,自己打开看看应该能看明白,是<预警名称>+Histroy.Dat。
死机问题,已经在1。98发布新版中修正
手工补单,只能在交易监控中进行的自动交易系统可识别。Ctrl+A的预警框中,双击正在运行的后台交易系统中可以看到
[此贴子已经被作者于2010-6-10 21:06:22编辑过]
|
-- 作者:oldwain
-- 发布时间:2010/6/11 12:38:37
--
以下是引用admin在2010-6-10 21:05:15的发言:
成交记录文件在Setting目录,自己打开看看应该能看明白,是<预警名称>+Histroy.Dat。
死机问题,已经在1。98发布新版中修正
手工补单,只能在交易监控中进行的自动交易系统可识别。Ctrl+A的预警框中,双击正在运行的后台交易系统中可以看到
[此贴子已经被作者于2010-6-10 21:06:22编辑过]
明白了, 非常感谢!
|
-- 作者:自下而上
-- 发布时间:2012/5/11 18:06:06
--
以下是引用admin在2010-6-10 21:05:15的发言:
成交记录文件在Setting目录,自己打开看看应该能看明白,是<预警名称>+Histroy.Dat。
[此贴子已经被作者于2010-6-10 21:06:22编辑过]
成交记录用什么软件可打开编辑?手工交易的手工加入到成交记录中tenterbars能够识别吗?
[此贴子已经被作者于2012-5-11 18:23:24编辑过]
|
-- 作者:自下而上
-- 发布时间:2012/5/12 19:36:02
--
顶上去
|