我的模型是1分钟周期下引用日线数据,我采取的方式是编一个日线的公式,然后在1分钟周期下使用##来调用。
我两次在早上开盘时发现日线数据不对,而且我之前也手工通过自定义补充数据进行了历史数据的补充,但是在
1分钟周期下它有时就是自己变不过来,而要把周期切换到日线以后再切换回来才能变过来,这个问题的存在对于
想全自动交易的用户来说影响很大,目前不得不人工检查,希望金字塔能够尽快解决。
有没有右键查看过日线数据是否确实补充了,这个现象是偶尔出现的吗?下次出现你在1分钟下不显示日线数据时先右键查看下日线数据,本地这边也测试下是否存在该问题。
引用日线指标下什么值?能给个反应问题的简单代码吗?
大概是这样
先有一个日线指标DAYATR,大概是这样
TR1 := HIGH-LOW; //计算日内振幅
ATRD : EMA(TR1,M);
然后在1分钟线下
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
TRD:=HHV(HIGH,CYC)-LLV(LOW,CYC);
//如果振幅超过60点,则把今天的数据也包括进去,否则不含当天的数据
IF TRD>60 THEN BEGIN
ATRD := "DAYATR.ATRD#DAY";
END
ELSE BEGIN
ATRD := "DAYATR.ATRD##DAY";
END
ATRD1:ATRD;
发现两种错误:
1. 就算日内只是简单的引用 ATRD := "DAYATR.ATRD##DAY"; ,有时早上补充了过去的日线和1分钟线,如果是在1分钟的界面下,也有可能不刷新,必须切换到日线下再切换回来才能刷新。
2. 如果日内波幅超过60,程序应该取新的ATRD值,也会出现刷新的问题。
本地按你的代码,直接加载到1分钟图上然后扩充1分钟数据ATRD的显示没有问题啊。
问题主要是刷新,你只要重新载入一下图表肯定都正确了,单实际跑的时候我遇到了一次不行,后来没敢再用。
引用不会存在问题的,您这个问题目前还没用户反馈过。
有可能是您本地数据刷新的问题导致值没显示
这个问题估计一般很难有人能发现,除非象我这样自己编代码,还自己盯着交易,并且还把用到的指标都显示出来了,还要碰巧出现问题的时候你发现了,这几个条件缺一不可。
这肯定不是显示的问题,我的交易记录显示程序是按照没有扩展ATRD的数据交易的,记录和后来重新加载过的图表的信号都不一致。
另外我现在每天早上开盘前都会去仔细检查ATRD这个值对不对(用几个金字塔的数据比对),现在是第二次发现数据不对。
一般典型的场景是这样的:
早上打开金字塔软件,登录,补充自定义数据,打开交易的合约1分钟图,核对ATRD数据,如果有误切换到日线再切换回来。
您不用盯着看,如果确实有问题 。用DEBUGFILE输出到本地不就行了