В настоящее время персональный компьютер стал незаменимым помощником в жизни каждого человека. Благодаря развитию Интернета и увеличению мощности современных компьютеров открылись новые возможности во многих областях деятельности. Ещё десять лет назад торговля на финансовых рынках была доступна только банкам и узкому кругу специалистов. Сегодня...
你好!
你能告诉我如何在不使用模板的情况下在mt4中重新绘制条形图吗!?
或者如何应用一个颜色方案!?
为了避免混淆,我将把答案简化一下。(&)号表示一个函数参数可以在运行时改变其值,并将以不同的值返回到函数被调用的地方。在这个案例中,SaveOrder函数可以改变g_arrstBuyOrderInfo和g_arrstSellOrderInfo数组的内容,以及g_nBuyOrdersCnt和g_nSellOrdersCnt变量。
谢谢你。它变得更清晰了一些。只是不知道在不参考论坛的情况下如何能发现这一切。我在教程中没有找到这样的解释。
请再给我一些建议。
1) 编译器写道 -'g_nBuyOrdersCnt' - 没有类型的声明; 'g_nSellOrdersCnt' - 没有类型的声明。我认为g_nBuyOrdersCnt和g_nSellOrdersCnt 应该全局声明,以避免编译器出错,这样的假设是否正确?
2) 编译器:'for' - 表达式在全局范围内是不允许的。这里并不清楚。
3) 在void SaveOrderInfo(OrderInfo &arrstOrderInfo[], int &nOrdersCnt) 函数中,编译器写道:'arrstOrderInfo'的声明隐藏了全局声明。见之前的'arrstOrderInfo'的声明。这一点也不是很清楚。
4)'nOrderCnt'是一个未声明的标识符。为什么没有在任何地方宣布呢?
你好!
你能告诉我如何在不使用模板 的情况下在mt4中重新绘制条形图吗!?
或者如何应用一个颜色方案!?
如果以编程方式,请参阅ChartSetInteger()和ChartGetInteger()函数。
谢谢你。这开始有点意义了。只是不知道如果不参考论坛,你如何能发现这一切。我在教科书中找不到这样的解释。
请再给我一些建议。
1) 编译器写道 -'g_nBuyOrdersCnt' - 没有类型的声明; 'g_nSellOrdersCnt' - 没有类型的声明。我认为g_nBuyOrdersCnt和g_nSellOrdersCnt 应该全局声明,以避免编译器出错,这样的假设是否正确?
2) 编译器:'for' - 表达式在全局范围内是不允许的。这里并不清楚。
3) 在void SaveOrderInfo(OrderInfo &arrstOrderInfo[], int &nOrdersCnt) 函数中,编译器写道:'arrstOrderInfo'的声明隐藏了全局声明。见之前的'arrstOrderInfo'的声明。这一点也不是很清楚。
4)'nOrderCnt'是一个未声明的标识符。为什么没有在任何地方宣布呢?
如果你把代码看成是一个整体,下面是它在代码中应该有的样子。
最后一件事:我仍然不明白.n 和.f 从何而来,它们是什么。
"点 "运算符表示对结构或类的成员的访问。在这种情况下,它是一个结构。
字母n和f是指定存储在变量中的数据类型的一种方式。毕竟,面对大量的变量,不可能记住每个变量的类型。如果在一个变量的名字里有它的类型指示,记忆的必要性就会消失。n是一个整数的符号(来自Numeric),f是一个实数(来自float - 浮点数)。这种书写变量名的方式被称为匈牙利 符号。
点运算符表示对一个结构或类的成员的访问。在这种情况下,一个结构。
字母n和f是指定存储在变量中的数据类型的一种方式。毕竟,面对大量的变量,不可能记住每个变量的类型。如果在一个变量的名字里有它的类型指示,记忆的必要性就会消失。n是一个整数的符号(来自Numeric),f是一个实数(来自float - 浮点数)。这种变量名的记号方式被称为匈牙利记号。
原来g_ 和g_n 并不只是一些缩写,而是表示它们是全局和全局整数变量的前缀!!。呃...我也搞不清楚为什么这些破折号会出现在变量名称中...对于一个不熟悉这些细微之处的初学者来说,怎么可能使用数组、结构等编写代码呢?我认为我的简单策略可以用简单的语言写出来,而不必潜入荒野。
你能给我一个关于mcl4的详细(扩展)教程的链接,让我在学习你的建议的同时学习吗?
那你能不能在不使用匈牙利符号进行比较的情况下编写上述代码?你确定MT4平台能清楚地理解它吗?
还有一个关于代码的问题:continue;的作用 是什么?
如果一个订单在第一次迭代中没有被选中,那么它就不会在随后的迭代中被选中,循环将无限期地继续下去?因为订单的数量并没有变化。用错误信息中断 不是更正确吗?上下文菜单图形、属性、颜色--你试过吗?
谢谢你,我已经找到了它!!。
如果以编程方式,请参阅ChartSetInteger()和ChartGetInteger()函数。
谢谢你已经在你的帮助下找到了它!!。
原来g_ 和g_n 并不只是一些缩写,而是前缀,表示它们是全局和全局的整数变量!!!。呃...我也搞不清楚为什么这些破折号会出现在变量名称中...对于一个不熟悉这些细微之处的初学者来说,怎么可能使用数组、结构等编写代码呢?我认为我的简单策略可以用简单的语言写出来,而不必潜入荒野。
为了做一些事情,我们必须深入研究其中的奥妙。没有其他办法。
你能给我一个关于mcl4的详细(扩展)教程的链接,让我在学习你的建议的同时学习吗?
我只知道一本关于MQL4的教科书--谢尔盖-科瓦廖夫 的那本。
那你能不能在不使用匈牙利符号进行比较的情况下编写上述代码?你确定MT4平台能清楚地理解它吗?
马上就能习惯正确的代码格式了))匈牙利语记号是由相当有经验的程序员发明的。
还有一个关于代码的问题:continue;的作用 是什么?
那么,如果一个订单在第一次迭代中没有被选中,那么它在接下来的迭代中也不会被选中,循环会一直持续到无穷大?因为订单的数量并没有变化。用错误信息中断 不是更正确吗?如果我们未能选择一个订单,这并不意味着我们将无法选择下一个订单。因此,继续循环是合理的。
未能选择一个订单并不意味着不能选择下一个订单。因此,继续循环是合理的。
而且没有必要显示错误信息?也许知道为什么找不到订单以及如何避免会有帮助?