MetaTrader 4 Build 529测试版发布,带有新的编译器 - 页 27 1...202122232425262728293031323334...161 新评论 Miroslav Sperl 2013.11.08 09:44 #261 Barbarian: 你可能没有看我上面的帖子,我在上面描述了现在使用MT4测试版的写法。在nix`中,所有的工作都完全在自己的沙盒中进行,只有root用户把普通的程序和分配的权限给其他用户使用。那里的意识形态完全不同,尽管它似乎与微软相似。顺便说一句,我不介意测试版在X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\中写入用户设置,我介意以下几点。 1.它创建了一个子目录X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\B5589D10299052C8D921603EBD1F9752\,直到你到达那里你才知道它的名字,此外它每次更新都会改变它的名字。 2.这个路径不仅用于编写用户设置,也用于可执行文件--指标、专家顾问、脚本等,总之,所有你不会让一个陌生人进入你的电脑,即使是用不同的用户名。虽然这当然可以在以后避免,但代价是什么呢? 我最害怕的是第一项,因为使用读/写文件,使用这些操作的代码将变得更加复杂。 我读了,我完全同意你的观点。我所写的--在终端配置路径也不失为一个好主意。有时,分享设置、文件、EA是很有用的。有时不是。 Andrey Khatimlianskii 2013.11.08 10:15 #262 Antonsan: 我用西班牙语写作。我还用谷歌进行翻译。 英语的翻译和俄语的翻译一样糟糕。 这个指标是为EA准备的,只画了几个柱子。改变时间框架,我观察到,有时指标经常在屏幕上重复出现。有时,它似乎运行了几次,并正确地画了线,其他时候,它们似乎是在历史上排列的相同的副本。 这在历史上有三个相同的副本,但为了减少截图,只看到两个。 它发生在终端下载其他TF的历史记录时。 你应该在指标初始化后清除整个缓冲区。或者画出所有的条形图。 Andrey Khatimlianskii 2013.11.08 10:18 #263 ALXIMIKS: 我已经描述了我的想法(通过将现在插入过去,同时发明未来来改变图表),如果不是很清楚,那么,唉........ 如果你能建议另一种方法,在负数条上画出需要的东西,在正数条上画出足够的数值,我将会很高兴。 在哪里放什么并不重要。重要的是应该得出什么结果。 如果你需要一个过去和未来的切片,你需要一个缓冲区和SetIndexShift为未来的必要条数(它是从过去借来的)。 如果只需要未来--同样是一个缓冲区,SetIndexShift( bars ),并且只填充 "bar "值。 如果你完全需要过去(关键,甚至最左边的条形图都应该被填满)和一部分未来,那么就需要2个缓冲区,每个缓冲区都是自己的。 一般来说,我看不出有什么问题。 Mladen Rakic 2013.11.08 11:52 #264 现在,以字符串形式声明的外部参数丢失值的问题得到了修复。谢谢 下一个问题是关于iCustom()的调用。如果被调用的指标包含字符串参数,会发生以下错误。 "_master "的代码。 #property indicator_chart_window #property indicator_buffers 1 extern string TestString = "whatever value that we want initially set"; double firstBuffer[]; int OnInit() { SetIndexBuffer(0,firstBuffer); return(0); } int deinit() { return(0); } int start () { firstBuffer[0] = iCustom(NULL,0,"_slave","",0,0); Comment(firstBuffer[0]); return(0); } "_slave "的代码。 #property indicator_chart_window #property indicator_buffers 1 extern string TestString = "whatever value that we want initially set"; double firstBuffer[]; int OnInit() { SetIndexBuffer(0,firstBuffer); return(0); } int deinit() { return(0); } int start() { firstBuffer[0] = 1; return(0); } 当参数不是字符串类型时,会发生不同的错误 当它被声明为整数时,它一次又一次地重新加载"_slave "实例(如在参数类型错误的情况下)。 "_master integer "的代码(在iCustom()调用中使用一个整数类型的参数。 #property indicator_chart_window #property indicator_buffers 1 double firstBuffer[]; int OnInit() { SetIndexBuffer(0,firstBuffer); return(0); } int deinit() { return(0); } int start () { firstBuffer[0] = iCustom(NULL,0,"_slave integer",(int)0,0,0); Comment(firstBuffer[0]); return(0); } 而"_slave integer "的代码: #property indicator_chart_window #property indicator_buffers 1 extern int dummy = 0; double firstBuffer[]; int OnInit() { SetIndexBuffer(0,firstBuffer); return(0); } int deinit() { return(0); } int start() { firstBuffer[0] = 1; return(0); } 当被调用的指标中的参数被声明为双倍时,它可以正常工作。 Antonsak 2013.11.08 12:31 #265 我认为终端一定有问题,不能正确地清除数据存储器,或者有其他你不知道的问题。 如果这些情况可能发生在专家身上,肯定会收到错误的数据。 这更像是一个圣诞树的绘画程序。 Slava 2013.11.08 12:53 #266 mladen: 当被调用的指标中的参数被声明为双倍时,它可以正常工作。 我们会尽快检查。谢谢你 Boris 2013.11.08 13:28 #267 Antonsan: 我用西班牙语写作。我还用谷歌进行翻译。 英语的翻译和俄语的翻译一样糟糕。 这个指标是为EA准备的,只画了几个柱子。 改变时间框架,我观察到,有时指标经常在屏幕上重复出现。 有时,它似乎运行了几次,并正确地画了线,其他时候,它们似乎是在历史上排列的相同的副本。 这在历史上有三个相同的副本,但为了减少截图,只看到两个。 你好!用西班牙文写吧!"。Se lo traduciré al ruso!祝福你!"。 Andrey Khatimlianskii 2013.11.08 14:02 #268 Antonsan: 我认为终端一定有问题,不能正确地清除数据存储器,或者有其他你不知道的问题。 如果这些情况可能发生在专家身上,肯定会收到错误的数据。 这更像是一个圣诞树的绘画程序。 终端不应该清除你的缓冲区。只需在指标启动后初始化一次。 Andrey Khatimlianskii 2013.11.08 14:10 #269 stringo: 已更正 还更正了第1和第2项 第3点,我们正在调试器上工作。 对于第4、5点,我们需要知道如何进行繁殖。一步一步来。这是不可以随心所欲地复制的。 谢谢你的反馈。代码发送到Servicedesk,#880536。 TheCore 2013.11.08 14:32 #270 文档错误。 datetime iVolume 应该是 双倍 的iVolume 1...202122232425262728293031323334...161 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你可能没有看我上面的帖子,我在上面描述了现在使用MT4测试版的写法。在nix`中,所有的工作都完全在自己的沙盒中进行,只有root用户把普通的程序和分配的权限给其他用户使用。那里的意识形态完全不同,尽管它似乎与微软相似。顺便说一句,我不介意测试版在X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\中写入用户设置,我介意以下几点。
1.它创建了一个子目录X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\B5589D10299052C8D921603EBD1F9752\,直到你到达那里你才知道它的名字,此外它每次更新都会改变它的名字。
2.这个路径不仅用于编写用户设置,也用于可执行文件--指标、专家顾问、脚本等,总之,所有你不会让一个陌生人进入你的电脑,即使是用不同的用户名。虽然这当然可以在以后避免,但代价是什么呢?
我最害怕的是第一项,因为使用读/写文件,使用这些操作的代码将变得更加复杂。
我读了,我完全同意你的观点。我所写的--在终端配置路径也不失为一个好主意。有时,分享设置、文件、EA是很有用的。有时不是。
我用西班牙语写作。我还用谷歌进行翻译。
英语的翻译和俄语的翻译一样糟糕。
这在历史上有三个相同的副本,但为了减少截图,只看到两个。
它发生在终端下载其他TF的历史记录时。
你应该在指标初始化后清除整个缓冲区。或者画出所有的条形图。
我已经描述了我的想法(通过将现在插入过去,同时发明未来来改变图表),如果不是很清楚,那么,唉........
如果你能建议另一种方法,在负数条上画出需要的东西,在正数条上画出足够的数值,我将会很高兴。
在哪里放什么并不重要。重要的是应该得出什么结果。
如果你需要一个过去和未来的切片,你需要一个缓冲区和SetIndexShift为未来的必要条数(它是从过去借来的)。
如果只需要未来--同样是一个缓冲区,SetIndexShift( bars ),并且只填充 "bar "值。
如果你完全需要过去(关键,甚至最左边的条形图都应该被填满)和一部分未来,那么就需要2个缓冲区,每个缓冲区都是自己的。
一般来说,我看不出有什么问题。
现在,以字符串形式声明的外部参数丢失值的问题得到了修复。谢谢
下一个问题是关于iCustom()的调用。如果被调用的指标包含字符串参数,会发生以下错误。
"_master "的代码。
"_slave "的代码。
当参数不是字符串类型时,会发生不同的错误
当它被声明为整数时,它一次又一次地重新加载"_slave "实例(如在参数类型错误的情况下)。
"_master integer "的代码(在iCustom()调用中使用一个整数类型的参数。
而"_slave integer "的代码:
当被调用的指标中的参数被声明为双倍时,它可以正常工作。
我认为终端一定有问题,不能正确地清除数据存储器,或者有其他你不知道的问题。
这更像是一个圣诞树的绘画程序。
当被调用的指标中的参数被声明为双倍时,它可以正常工作。
我们会尽快检查。谢谢你
我用西班牙语写作。我还用谷歌进行翻译。
英语的翻译和俄语的翻译一样糟糕。
这在历史上有三个相同的副本,但为了减少截图,只看到两个。
我认为终端一定有问题,不能正确地清除数据存储器,或者有其他你不知道的问题。
这更像是一个圣诞树的绘画程序。
已更正
还更正了第1和第2项
第3点,我们正在调试器上工作。
对于第4、5点,我们需要知道如何进行繁殖。一步一步来。这是不可以随心所欲地复制的。
文档错误。
datetime iVolume
应该是
双倍 的iVolume