path - 获取在 MT4 中使用 ChartApplyTemplate 的路径
问题描述
在阅读了我能找到的材料并尝试了各种解决方案后,我仍然无法ChartApplyTemplate
正常工作。模板不适用于正在打开的图表,我收到的错误是 5002 - 找不到文件。
这是我的代码:
int iChartID = ChartOpen(sChartNameL,5); ChartApplyTemplate(iChartID,"C:\\Users\\Jean\\AppData\\Roaming\\MetaQuotes\\Terminal\\DA3C92B1779898CC0CACD726A655BECB\\Files\\ADX.tpl");
Print(GetLastError());
我也试过:
int iChartID = ChartOpen(sChartNameL,5);
string sTerminalDataPath = TerminalInfoString(TERMINAL_DATA_PATH);
ChartApplyTemplate(iChartID, sTerminalDataPath + "\\MQL4\\Files\\ADX.tpl");
我试图将模板放在各种目录中。文件如上所述,但我也尝试在 mql4\experts 子目录中插入 files 子目录,并且还尝试使用 MQL4 子目录下的 files 子目录。我还将模板留在了默认模板目录中。我已经尝试了这些不同的位置,因为我相信 Metatrader 有一个可以访问文件的沙箱环境。
请你帮帮我。
解决方案
您为图表 ID 使用了错误的变量类型,它应该是 type long
。该代码应作为示例阅读。
long iChartID = ChartOpen("EURUSD",5); ChartApplyTemplate(iChartID,"Popular.tpl");
对于模板文件的位置,来自文档:
- 如果反斜杠“”分隔符(写为“\”)放在路径的开头,则相对于路径_terminal_data_directory\MQL4搜索模板,
- 如果没有反斜杠,则相对于可执行 EX4 文件搜索模板,其中调用 ChartApplyTemplate();
- 如果在前两个变体中未找到模板,则在文件夹 terminal_directory\Profiles\Templates 中执行搜索。
推荐阅读
- javascript - React 性能 - DOM 样式和组件渲染
- python - svc.predict 可以返回结果以及其他类的概率吗?
- amazon-web-services - AWS Cognito 身份验证失败时无法获取有效的错误代码
- performance - 应用服务器或 Web 服务器性能哪个更好?
- c# - 在 ASP.Net Core 3.x DI 中配置 System.Text.Json Camel Case
- java - Java:如何构造或模式化一个类,以便我们可以在运行时映射组合的对象?
- bash - Synology diskstation bash 脚本:删除旧文件(仅保留 10 个最新文件)
- c# - 在 windows 窗体上绘制一个移动的矩形
- linux - 替换zsh中字符串的一部分
- c++ - 如何在数学上组合数字?