任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 722 1...715716717718719720721722723724725726727728729...1178 新评论 Boris 2014.10.02 12:56 #7211 Zver4991: 是否有任何代码规则?当然,而且不仅仅是代码!https://forum.mql4.com/ru/38943 Evgeniy Khaynatskas 2014.10.02 16:14 #7212 我搞不清楚为什么会挂掉//+------------------------------------------------------------------+ //| Машка за больший период без перерисовки .mq4 | //| Zver | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Zver" #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Aqua extern int Otobrajat_v_istorii = 1000; extern int ma_shift=0; extern int ma_method =0; extern int applied_price=0; double buf_ma[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,buf_ma); // Назначение массива буферу SetIndexStyle(0,DRAW_LINE,EMPTY,2);// Стиль линии //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- int i,// Индекс бара Counted_bars; Counted_bars=IndicatorCounted(); // Количество просчитанных баров i=Bars-Counted_bars-1; // Индекс первого непосчитанного if(i>Otobrajat_v_istorii-1) // Если много баров то .. i=Otobrajat_v_istorii-1; // ..рассчитывать заданное колич. while(i>=1) // Цикл по непосчитанным барам { buf_ma[i]=iMA(Symbol(),Period(),5,ma_shift,ma_method,applied_price,i); } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ vlad-755 2014.10.02 16:16 #7213 代码变体int Err; //Номер ошибки int FunErr(int Err) // Функция обработки ошибок给出了一个警告。Err "的声明隐藏了第51行的全局声明。另一个代码变体int Err; //Номер ошибки int FunErr(Err) // Функция обработки ошибок给出了一个错误。'Err' - 没有类型的声明如何正确书写? vlad-755 2014.10.02 16:31 #7214 Zver4991: 我搞不清楚为什么会挂掉int i// 小区索引 while(i>=1)// 循环查看未计算的小区。 i>=1总是。 Evgeniy Khaynatskas 2014.10.02 16:44 #7215 Shurkin:int i// 酒吧索引 while(i>=1)// 在未计算的酒吧上循环。 i>=1总是。对了,我忘了......谢谢。i--; [删除] 2014.10.02 18:14 #7216 //-------------------------------------------------------------------- int Count=0; //-------------------------------------------------------------------- void OnTick() { Count++; Comment("Новый тик ", Count); //if(Count>2) ExpertRemove(); } //-------------------------------------------------------------------- void OnDeinit(const int reason) { Comment("Сработала ф-ия deinit() при выгрузке"); } //--------------------------------------------------------------------如果取消了if(Count>2)ExpertRemove(),并通过该函数退出,那么在EA卸载后, "卸载时触发Deinit() " 的注释 仍然显示 在图表上。 有谁知道为什么,如果通过上下文菜单将这样的EA从图表中删除,那么OnDeinit 的Comment() 就不会留在图表上? [删除] 2014.10.02 18:39 #7217 Shurkin:代码变体int Err; //Номер ошибки int FunErr(int Err) // Функция обработки ошибок给出了一个警告。Err "的声明隐藏了第51行的全局声明。另一个代码变体int Err; //Номер ошибки int FunErr(Err) // Функция обработки ошибок给出了一个错误。'Err' - 没有类型的声明如何正确书写? 这是一般的语言设计的错误,在最高层进行辩护。两个事实。1.MQL4++语言允许在嵌套作用域中隐藏变量名。2.当在嵌套作用域中隐藏变量名时,必须有一个警告,不能被禁用。要回答这个问题,至少有两种可能性。1.使用名字隐藏,但要忍受警告的存在(不好,你可能会在许多关于隐藏名字的警告中错过一个非常重要的其他警告,这可能有助于发现和消除一个潜在的错误)。2.不要使用名称隐藏,即使该语言有这样的功能。例如,将全局变量 命名为gErr,而不是Err。没有禁止隐藏名字,而是引入了一个不可删除的警告。利用好它。 Алексей Тарабанов 2014.10.02 19:15 #7218 在俄语中:正确的选项是第一项,忽略警告。 vlad-755 2014.10.03 06:12 #7219 tara:在俄语中:正确的选项是第一项,忽略警告。 谢谢你。 Evgeniy Khaynatskas 2014.10.03 16:49 #7220 我在哪里可以找到包容文件中的功能描述? 1...715716717718719720721722723724725726727728729...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是否有任何代码规则?
当然,而且不仅仅是代码!
https://forum.mql4.com/ru/38943
我搞不清楚为什么会挂掉
while(i>=1)// 循环查看未计算的小区。
i>=1总是。
int i// 酒吧索引
while(i>=1)// 在未计算的酒吧上循环。
i>=1总是。
对了,我忘了......谢谢。
i--;
如果取消了if(Count>2)ExpertRemove(),并通过该函数退出,那么在EA卸载后, "卸载时触发Deinit() " 的注释 仍然显示 在图表上。
有谁知道为什么,如果通过上下文菜单将这样的EA从图表中删除,那么OnDeinit 的Comment() 就不会留在图表上?
Shurkin:
这是一般的语言设计的错误,在最高层进行辩护。两个事实。
1.MQL4++语言允许在嵌套作用域中隐藏变量名。
2.当在嵌套作用域中隐藏变量名时,必须有一个警告,不能被禁用。
要回答这个问题,至少有两种可能性。
1.使用名字隐藏,但要忍受警告的存在(不好,你可能会在许多关于隐藏名字的警告中错过一个非常重要的其他警告,这可能有助于发现和消除一个潜在的错误)。
2.不要使用名称隐藏,即使该语言有这样的功能。例如,将全局变量 命名为gErr,而不是Err。
没有禁止隐藏名字,而是引入了一个不可删除的警告。利用好它。
在俄语中:正确的选项是第一项,忽略警告。
在俄语中:正确的选项是第一项,忽略警告。