以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (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=182914)
|
-- 作者:longkun
-- 发布时间:2020/11/9 9:56:19
-- 亲写数据齐全代码
在1分钟周期里,当当日中途断网或主模块停止工作时会造成k线不连续,请问这种k线不连续造成的当日1分钟周期(不是分时图)k线数据不连续,用代码如何判断?亲写代码
|
-- 作者:longkun
-- 发布时间:2020/11/9 9:58:17
--
此主题相关图片如下:111.png
此主题相关图片如下:222.png
|
-- 作者:FireScript
-- 发布时间:2020/11/9 10:28:05
--
这个没有好的办法判断的了。至少没有一个通用的代码可以做这个判断的。而且也无法区分到底是行情不活跃还是断开行情了。
|
-- 作者:longkun
-- 发布时间:2020/11/9 10:39:09
--
因为开机后台自动运行,一旦数据不齐全,就造成胡乱交易,这个还比较麻烦
|
-- 作者:FireScript
-- 发布时间:2020/11/9 10:49:48
--
你在工具-本机异常监控
这里把这个打开下。这个一般有异常,包括行情断开 都会有记录的。
在监控设置里面 你可以选择对指定市场的数据接收情况进行监控。
|
-- 作者:longkun
-- 发布时间:2020/11/9 10:53:22
--
问题是没法从后台代码来限制交易
|
-- 作者:longkun
-- 发布时间:2020/11/9 11:06:09
--
AA1:BARSLAST(TIME-ref(time,1)>300);//最后一次跨k线AA2: //上次收盘以来的k数
AA3:AA1<AA2;//上次收盘以来,如果跨k线,就说明数据中断了(不考虑非活跃品种)
能不能用以上思路来实现呢?
|
-- 作者:FireScript
-- 发布时间:2020/11/9 11:20:30
--
你这里AA2只能写成固定数值才行。但是如果写成固定数值,你不同品种不同周期这里数值又会不一样的。所以这个就比较麻烦。
|
-- 作者:longkun
-- 发布时间:2020/11/9 12:20:20
--
我准备引用白银连续的数据齐全来判断,请帮我看看一下代码是否有问题
夜盘:IF(CURRENTTIME>210000 AND CURRENTTIME<235900,1,0) OR IF(CURRENTTIME>=0 AND CURRENTTIME<=85959,1,0); //北京时间分4个交易时间段 早1盘:CURRENTTIME>=90000 AND CURRENTTIME<=101459; 早2盘:CURRENTTIME>=103000 AND CURRENTTIME<=132959; 午盘:CURRENTTIME>=133000 AND CURRENTTIME<=205959; 1收K:BARSLAST(TIME=10100)+1;//夜盘交易以来的k数 2收K:BARSLAST(TIME=130100)+1; 3收K:BARSLAST(TIME=143100)+1; 4收K:BARSLAST(TIME=173100)+1; K数:IF(夜盘,1收K,IF(早1盘,2收K,IF(早2盘,3收K,IF(午盘,4收K,0))));//上次收盘以来的k数 整点:FRACPART(TIME/10000)=0; 参数:IF(整点,4100,100); K线连续:TIME-REF(TIME,1)=参数; 跨K距:BARSLAST(K线连续=0)+1;//最后一次跨k线 数齐:跨K距=K数;
|
-- 作者:longkun
-- 发布时间:2020/11/9 12:20:24
--
我准备引用白银连续的数据齐全来判断,方便请帮我看看一下代码是否有问题
夜盘:IF(CURRENTTIME>210000 AND CURRENTTIME<235900,1,0) OR IF(CURRENTTIME>=0 AND CURRENTTIME<=85959,1,0); //北京时间分4个交易时间段 早1盘:CURRENTTIME>=90000 AND CURRENTTIME<=101459; 早2盘:CURRENTTIME>=103000 AND CURRENTTIME<=132959; 午盘:CURRENTTIME>=133000 AND CURRENTTIME<=205959; 1收K:BARSLAST(TIME=10100)+1;//夜盘交易以来的k数 2收K:BARSLAST(TIME=130100)+1; 3收K:BARSLAST(TIME=143100)+1; 4收K:BARSLAST(TIME=173100)+1; K数:IF(夜盘,1收K,IF(早1盘,2收K,IF(早2盘,3收K,IF(午盘,4收K,0))));//上次收盘以来的k数 整点:FRACPART(TIME/10000)=0; 参数:IF(整点,4100,100); K线连续:TIME-REF(TIME,1)=参数; 跨K距:BARSLAST(K线连续=0)+1;//最后一次跨k线 数齐:跨K距=K数;
|