[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 54 1...474849505152535455565758596061...432 新评论 Рустам 2013.01.06 16:11 #531 什么样的常数:MA_TALKING_LONG , MA_TALKING_SHORT ?你是如何申报的? Viktar Dzemikhau 2013.01.06 16:29 #532 Vinin: 考虑到变量和数组的可见性我把它们设置为全局...同样的错误。常见问题。什么样的常数:MA_TALKING_LONG , MA_TALKING_SHORT ?你如何宣布它们? #define MA_TALKING_LONG 0 // Машки расположены к покупке #define MA_TALKING_SHORT 1 // Машки расположены к продаже #define MA_TALKING_FLAT -1 // Машки указывают на флет Рустам 2013.01.06 16:31 #533 显示这个函数GetStateMa()的标题(声明)--问题就在那里把它改成GetStateMa(int signal){}应该可以解决这个问题。 Viktar Dzemikhau 2013.01.06 16:51 #534 FAQ:显示这个函数GetStateMa()的标题(声明)--问题就在那里把它改为GetStateMa(int signal){}应该可以解决这个问题。 好吧,大意是这样的。这里的一位专家已经纠正了我的专家顾问,它运行良好。我的任务是只通过一个订单打开4个不同的信号,并对每个信号进行单独计算。他修复了我的专家顾问,但弄乱了它的逻辑。我开始分析他的代码。他的写作很残酷,我已经在第二天就开始研究了。之前是这样的。在开始的时候。 int signal[4]; CalcSignals(signal); if (!Trade(signal)) return (0);而这里的功能是为了让大家清楚什么是什么。//+-------------------------------------------------------------------------------------+ //| Получение значений МА на двух соседних барах | //+-------------------------------------------------------------------------------------+ double GetCurAndPrevMA(int maPeriod, double& prevMA) { prevMA = iMA(NULL, i_trading_TF, maPeriod, 0, MODE_EMA, MODE_CLOSE, 1); return (iMA(NULL, i_trading_TF, maPeriod, 0, MODE_EMA, MODE_CLOSE, 0)); } //+-------------------------------------------------------------------------------------+ //| Получение положения машек между собой | //+-------------------------------------------------------------------------------------+ void CalcSignals(int& signal[]) { double ema365_1; double ema365_0 = GetCurAndPrevMA(365, ema365_1); for (int i = 0; i < 4; i++) { double ema1; double ema0 = GetCurAndPrevMA(g_maPeriod[i], ema1); signal[i] = SIGNAL_NO; if (ema1 < ema365_1 && ema0 > ema365_0) signal[i] = SIGNAL_BUY; if (ema1 > ema365_1 && ema0 < ema365_0) signal[i] = SIGNAL_SELL; } }一般来说,一个函数作为void,按照定义不应该返回任何东西,但却返回了数组 signal[i] 的一个元素 的值,这是一件很有趣的事情。我不知道有经验的程序员是否经常使用这个?还是太多?现在我正试图写出我需要的东西,看到该专家顾问中存在的技巧。因为我们那里不能没有数组。 Mislaid 2013.01.06 17:57 #535 Тhoz: 总之,大意是这样的。我的专家顾问,对我来说一直工作得很好,已经被一个专家纠正了。我的任务是通过4个不同的信号只开一个订单,每个信号都是单独产生和计算的。他修复了我的专家顾问,但弄乱了它的逻辑。 我开始分析他的代码。他的写作很残酷,我已经在第二天就开始研究了。 之前是这样的。 在开始的时候。 而这里的功能是为了让大家清楚什么是什么。 一般来说,一个函数作为void,按照定义不应该返回任何东西,但却返回了数组signal[i] 的一个元素的值,这是一件很有趣的事情。 我不知道有经验的程序员是否经常 使用这个?还是太多? 现在我正试图写出我需要的东西,看到该专家顾问中存在的技巧。因为我们那里不能没有数组。 经常使用,秘密在int& ,double& 中。 Viktar Dzemikhau 2013.01.06 18:08 #536 Mislaid: 它经常被使用,在int& ,double& 中的秘密。我已经想明白了,但我认为这已经是一种变态了。那为什么要做一个无效 函数呢?这是不符合逻辑的。你需要返回一些东西...通过int、double 类型的函数返回... Viktar Dzemikhau 2013.01.06 18:10 #537 调试打印机时发生了一个错误。2013.01.06 21:06:32 2011.11.28 00:20 Base150 EURUSD,M5: not enough stack for parameter 该怎么做? PapaYozh 2013.01.06 18:21 #538 hoz: 我已经想明白了,但我认为这已经是一种变态了。那为什么要做一个无效 函数呢?这是不符合逻辑的。 这是符合逻辑的。 这个函数不返回任何东西,它对传递给它的数组元素进行操作。 Vadim Krisenko 2013.01.06 19:02 #539 hoz:这里是我的修改挂单功能。修改时,我设置了一个新的价格和一个新的止损。该功能部分工作,但由于某些原因,测试人员得到的错误是1。我的函数写得正确吗? 如果((b_mod)&&(priceB > Ask))OrderModify(b_ticket,priceB,priceS,0,0,Brown); if((s_mod) && (priceS < Bid))OrderModify(s_ticket,priceS,priceB,0,0,Brown)。 这里我们应该考虑MarketInfo(Symbol(),MODE_STOPLEVEL),即priceB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*Point priceS < =Bid- MarketInfo(Symbol(),MODE_STOPLEVEL)*Point Viktar Dzemikhau 2013.01.06 19:10 #540 PapaYozh: 这是有道理的。 这个函数不返回任何东西,它对传递给它的数组元素进行操作。 因此,如果你将元素传递给一个double 或int 类型的函数,它也可以进行同样的操作,但没有任何变态的情况。为什么要使你的生活复杂化? 1...474849505152535455565758596061...432 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
什么样的常数:MA_TALKING_LONG , MA_TALKING_SHORT ?
你是如何申报的?
考虑到变量和数组的可见性
我把它们设置为全局...同样的错误。
什么样的常数:MA_TALKING_LONG , MA_TALKING_SHORT ?
你如何宣布它们?
显示这个函数GetStateMa()的标题(声明)--问题就在那里
把它改成GetStateMa(int signal){}应该可以解决这个问题。
显示这个函数GetStateMa()的标题(声明)--问题就在那里
把它改为GetStateMa(int signal){}应该可以解决这个问题。
好吧,大意是这样的。这里的一位专家已经纠正了我的专家顾问,它运行良好。我的任务是只通过一个订单打开4个不同的信号,并对每个信号进行单独计算。他修复了我的专家顾问,但弄乱了它的逻辑。
我开始分析他的代码。他的写作很残酷,我已经在第二天就开始研究了。
之前是这样的。
在开始的时候。
而这里的功能是为了让大家清楚什么是什么。
一般来说,一个函数作为void,按照定义不应该返回任何东西,但却返回了数组 signal[i] 的一个元素 的值,这是一件很有趣的事情。
我不知道有经验的程序员是否经常使用这个?还是太多?
现在我正试图写出我需要的东西,看到该专家顾问中存在的技巧。因为我们那里不能没有数组。
总之,大意是这样的。我的专家顾问,对我来说一直工作得很好,已经被一个专家纠正了。我的任务是通过4个不同的信号只开一个订单,每个信号都是单独产生和计算的。他修复了我的专家顾问,但弄乱了它的逻辑。
我开始分析他的代码。他的写作很残酷,我已经在第二天就开始研究了。
之前是这样的。
在开始的时候。
而这里的功能是为了让大家清楚什么是什么。
一般来说,一个函数作为void,按照定义不应该返回任何东西,但却返回了数组signal[i] 的一个元素的值,这是一件很有趣的事情。
我不知道有经验的程序员是否经常 使用这个?还是太多?
现在我正试图写出我需要的东西,看到该专家顾问中存在的技巧。因为我们那里不能没有数组。
它经常被使用,在int& ,double& 中的秘密。
我已经想明白了,但我认为这已经是一种变态了。那为什么要做一个无效 函数呢?这是不符合逻辑的。你需要返回一些东西...通过int、double 类型的函数返回...
该怎么做?
我已经想明白了,但我认为这已经是一种变态了。那为什么要做一个无效 函数呢?这是不符合逻辑的。
这是符合逻辑的。
这个函数不返回任何东西,它对传递给它的数组元素进行操作。
这里是我的修改挂单功能。修改时,我设置了一个新的价格和一个新的止损。该功能部分工作,但由于某些原因,测试人员得到的错误是1。
我的函数写得正确吗?
如果((b_mod)&&(priceB > Ask))OrderModify(b_ticket,priceB,priceS,0,0,Brown);
if((s_mod) && (priceS < Bid))OrderModify(s_ticket,priceS,priceB,0,0,Brown)。
这里我们应该考虑MarketInfo(Symbol(),MODE_STOPLEVEL),即
priceB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*Point
priceS < =Bid- MarketInfo(Symbol(),MODE_STOPLEVEL)*Point
这是有道理的。
这个函数不返回任何东西,它对传递给它的数组元素进行操作。
因此,如果你将元素传递给一个double 或int 类型的函数,它也可以进行同样的操作,但没有任何变态的情况。为什么要使你的生活复杂化?