通达信自做指标公式,如果统计的参数时间很大,指标通过,但没法显示,非得把键盘向下箭头按到死,K线图收缩,这指标的图才会显示, 求帮解决这问题
该回答引用于gpt与OKX安生共同编写:
通达信的时间限制是我们无法更改的,但可以通过优化指标公式来减少计算时间,从而避免出现“显示不出”的问题。
以下是一些可能有用的优化技巧:
希望这些技巧能够帮助您解决指标计算速度慢的问题,避免出现“显示不出”的情况。
该回答参考ChatGPT:
出现这种情况可能是因为你的指标计算量较大,导致在计算完成之前,K线图没有被刷新,而刷新K线图需要手动按下键盘向下箭头或手动缩放一下K线图,才能触发刷新。为了解决这个问题,你可以考虑在指标计算过程中加入一些延时操作,让计算完成之后再刷新K线图。
具体实现方式可以使用Python的time模块中的sleep函数来实现。在指标计算完成之后,调用sleep函数暂停一段时间,等待K线图刷新完成后再进行显示。例如:
import tushare as ts
import talib
import time
# 获取历史K线数据
df = ts.get_k_data('600519', start='2010-01-01', end='2021-08-31')
# 计算指标
df['EMA12'] = talib.EMA(df['close'], timeperiod=12)
df['EMA26'] = talib.EMA(df['close'], timeperiod=26)
df['DIF'] = df['EMA12'] - df['EMA26']
df['DEA'] = talib.EMA(df['DIF'], timeperiod=9)
df['MACD'] = (df['DIF'] - df['DEA']) * 2
# 显示指标
for i in range(len(df)):
print('Date: {}'.format(df.iloc[i]['date']))
print('MACD: {:.2f}'.format(df.iloc[i]['MACD']))
# 延时操作
time.sleep(0.1)
在这个示例代码中,我们使用了tushare模块获取了贵州茅台(600519)的历史K线数据,并使用talib库计算了MACD指标。在指标计算完成之后,我们使用循环遍历所有的K线数据,并使用print函数将每个日期的MACD值输出到控制台上。在每次输出之后,我们使用time模块中的sleep函数暂停了0.1秒,以确保K线图能够被成功刷新并显示出指标数据。
你可以将上述代码保存在一个.py文件中,并使用Python解释器运行该文件,以查看指标是否能够正常显示。如果还有其他问题,请随时提出。
这个问题可能是由于通达信的历史数据缓存导致的。当您使用自定义指标公式时,如果统计的参数时间很大,通达信会尝试加载所有的历史数据,而这可能会导致通达信的历史数据缓存出现问题。这可能会导致您看到空白的指标图或者无法加载指标图的情况。
为了解决这个问题,您可以尝试清除通达信的历史数据缓存。具体步骤如下:
1.关闭通达信软件。
2.进入通达信安装目录下的“T0002\hq_cache”文件夹,删除其中的所有文件。
3.重新启动通达信软件,重新加载您的自定义指标公式。
如果这个方法无法解决问题,您可以尝试减少您的指标公式统计的参数时间,或者使用其他方式来优化指标公式的计算效率。例如,您可以尝试将计算量较大的指标拆分成多个子指标,或者使用更高效的计算算法来计算指标。
灰常怀疑这就是TDX的最大的坑,解决了就成功一半了
问题描述:在通达信自做指标公式中,如果统计的参数时间很大,指标通过,但无法显示,需要通过按键盘向下箭头、收缩K线图等方式才能显示该指标的图形。基于最新版ChatGPT4的回答,望采纳!!!有其他问题也可以询问我哦💕(最新版更智能,功能更加强大):
通达信的时间限制是由程序内部设置的,可以尝试通过修改通达信软件的配置文件来改写时间限制。下面是一种可能可行的方案:
找到通达信安装目录下的T0002\hq_cache.ini文件。
在该文件中找到以下代码块:
[cache]
max_time=3600
dx_gjzq=10
dx_hglt=3
其中max_time表示缓存数据的最长时间(秒),默认值为3600秒(即1小时)。您可以将它增加到更大的值,比如调整到7200秒(即2小时)或更多,以满足您的需求。
保存并关闭hq_cache.ini文件。
重新启动通达信软件,看看是否已经成功改写了时间限制。
需要注意的是,这个方法可能会导致通达信软件加载数据变慢,因为它需要缓存更多的数据。另外,如果您在使用通达信软件时遇到任何问题,请立即恢复原始hq_cache.ini文件,并重新启动软件。
希望这个方法对您有所帮助,如果还有其他问题,请随时提问。
这可能是因为你的指标计算量太大,导致程序无法及时显示出来。你可以尝试优化你的指标公式,减少计算量,或者增加计算机的性能,以提高程序的运行速度。另外,你也可以尝试调整通达信的显示设置,以便更好地显示你的指标图形。
参考GPT和自己的思路:
感谢您的咨询。根据描述,您遇到的问题可能是由于通达信TDX软件的显示时间限制所导致的。为了解决这个问题,您可以尝试以下方法:
修改通达信TDX软件的配置文件,修改时间限制的参数。具体操作请参考通达信官方帮助文档。
减小所统计的参数时间,避免出现超过时间限制的情况。
更新通达信TDX软件到最新版本,以确保软件的稳定性和兼容性。
希望以上方法能对您的问题有所帮助。如果问题仍未解决,建议您联系通达信官方客服或者相关技术人员进行咨询。
这个问题可能是由于通达信软件的缓存机制引起的。在计算新指标时,通达信可能并不会立即更新显示的缓存数据,导致计算后的新指标无法立即呈现。可以尝试以下步骤来解决这个问题:在通达信界面中找到“缓存设置”选项,把缓存设置为关闭状态。重新打开所使用的指标,重新计算指标,刷新数据并重绘指标图表。
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
您好,通达信的自制指标公式实现方式较为特殊,需要使用TDX_PB量化平台进行开发,其中的时间限制也有一定的局限性。不过,根据您提供的问题,我认为可能有以下两种解决方案:
尝试改写指标计算公式,在时间复杂度上进行优化,在保证指标准确性的前提下,尽量减少计算时间。这可能需要一定的编程知识和经验,您可以具体参考TDX开发文档进行修改。
在指标中添加一些特定条件,让其在某些情况下可以自动刷新。例如,可以在指标代码中添加一个判断条件,如果统计的参数时间超过一定值,就对指标进行一次强制刷新。具体的实现方式可以根据您的代码进行修改,例如:
IF(C>100, REF(C, 0), C);
这段代码的意思是,如果C的值大于100,则将当前C的值设为0期前的C值。您可以把这段代码添加到您的指标公式中,其中100可以根据您的实际情况进行调整。这样,在K线图中,当C的值超过一定范围时,就会自动刷新并显示指标。
如果我的回答解决了您的问题,请采纳!