初学者的问题 MQL5 MT5 MetaTrader 5 - 页 748 1...741742743744745746747748749750751752753754755...1503 新评论 Vladimir Karputov 2017.06.02 09:08 #7471 RogozaIV: 我最近从mql4转到了mql5.我正在测试一个关于RTS指数的专家顾问,并且在建立几个头寸方面遇到了问题,尽管建立一个头寸的条件之一是如果(...OrdersTotal()==0)。为什么这个条件不起作用?如何才能只开一个仓位?订单总数OrdersTotal 返回有效订单 的数量。职位总数PositionsTotal 返回开放职位 的数量。注意事项活跃的挂单 和头寸之间不应混淆,它们也显示在 "工具箱 "面板的 "交易 "标签中。订单是执行交易 的命令,而头寸是一个或多个交易 的结果。使用 "净值化 "头寸(ACCOUNT_MARGIN_MODE_RETAIL_NETTING 和ACCOUNT_MARGIN_MODE_EXCHANGE),每个符号 在任何时候都只能建立一个头寸,并且是一个或多个交易 的结果。在 "工具箱 "面板的 "交易 "选项卡中也显示的头寸和活跃的挂单,不应相互混淆。在独立表示头寸的情况下(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING),每个符号可以同时开设多个头寸。也就是说,使用OrdersTotal,你可以检查 目前有多少个RETAILED ORDERS。订单_类型_购买_限制待定的买入限价单订单_类型_销售_限制待定卖出限价单订单_类型_购买_停止悬而未决的买入止损单订单_类型_销售_停止悬而未决的卖出止损单订单_类型_购买_停止_限制当达到订单价格时,在StopLimit价格下一个买入限价挂单。订单_类型_销售_停止_限制当达到订单价格时,在StopLimit价格下一个挂起的卖出限价订单。而你需要检查在那一刻有多少个开放的职位。购货类型购买销量出售- 为此应使用PositionsTotal。 RogozaIV 2017.06.02 09:17 #7472 弗拉基米尔-卡尔普托夫 谢谢你! Agat 2017.06.02 14:09 #7473 Agat: 下午好。在MT5最新更新到1604版本后,我的指标不再正常工作。我正在使用 所谓的 "液体 "指标。例如,我在一个窗口里有几个多期随机指标。好了,现在短的都画好了 和以前一样,稍长的只画几条,最长的则完全不画。 我的印象是,他们突然开始缺乏历史。你能告诉我可能出了什么问题吗? 事实证明,故障发生在那些没有打开较低时间框架的MT中。我不得不从M1和更高的位置打开图表,一切都很正常。该问题现在已经结束。 Agat 2017.06.02 14:29 #7474 是的,你兴奋得太早了,当你重新启动终端时,情况是一样的,你每次都要点击浏览所有的图表。 这可不行,不可能成功。至少有人能就这个问题的是非曲直说一句话吗?很明显,更新是有故障的。 人们到哪里去寻找这样的问题呢? Николай Никитюк 2017.06.02 15:11 #7475 你好!2017.06.02_17:45 GMT+3。我有一个问题。.mq5程序写了它的手数计算,--结果,--策略测试器中 的程序试图用一个大得吓人的手数开仓交易。风险百分比为1.09。存款规模大于存款(默认为10,000美元)。我试图使用Include>Expert>Money>MoneyFixedRisk.mqh文件夹中的标准OOP文件。结果:程序试图以零手开立交易。(0.00).我认为 -- 这是一个公司程序员的把戏。还是我错过了什么?好吧,让你的EA失去作用。弯曲的地段在侧面。也许,谁知道我应该写些什么,以便使专家顾问以计算出的手数和指定的风险百分比开立交易?我不能自己做,我在浪费我的时间。我希望我们公司的程序员不会被冒犯。我在此附上包括的文件Lot.mqh .我希望有人能回答。18:00 GMT+3。插入时间:18:11 GMT+3。 附加的文件: Lot.mqh 2 kb MoneyFixedRisk.mqh 5 kb Vladimir Karputov 2017.06.02 17:32 #7476 Agat: 下午好。在MT5最新更新到1604版本后,我的指标不再正常工作。我正在使用 所谓的 "液体 "指标。例如,我在一个窗口里有几个多期随机指标。好了,现在短的都画好了 和以前一样,稍长的只画几条,最长的则完全不画。 我的印象是,他们突然开始缺乏历史。你能告诉我可能出了什么问题吗? 你如何访问另一个时期的历史?你要进行哪些检查才能获得访问权?你得到什么错误代码? Vladimir Karputov 2017.06.02 17:35 #7477 Николай Никитюк: 你好!2017.06.02_17:45 GMT+3。我有一个问题。.mq5程序写了它的手数计算,--结果,--策略测试器中 的程序试图用一个大得吓人的手数开仓交易。风险百分比为1.09。存款规模大于存款(默认为10,000美元)。我试图使用Include>Expert>Money>MoneyFixedRisk.mqh文件夹中的标准OOP文件。结果:程序试图以零手开立交易。(0.00).我认为 -- 这是一个公司程序员的把戏。还是我错过了什么?好吧,让你的EA失去作用。弯曲的地段在侧面。也许,谁知道我应该写些什么,以便使专家顾问以计算出的手数和指定的风险百分比开立交易?我不能自己做,我在浪费我的时间。我希望我们公司的程序员不会被冒犯。我在此附上包括的文件Lot.mqh .我希望有人能回答。18:00 GMT+3。插入时间:18:11 GMT+3。 运行这个EA:货币固定风险- 改变两个输入参数,在终端的 "专家 "选项卡中看到打印结果。 igorbel 2017.06.03 19:27 #7478 我的指标中无法得到任何指标数据。int OnInit() { handle1=iMA(NULL,0,per1,0,MODE_LWMA,PRICE_CLOSE); handle2=iMA(NULL,0,PLength1,0,MODE_LWMA,PRICE_CLOSE); } 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 copied1=CopyBuffer(handle1,0,0,toCount,TMP_Buf1); if(copied1<=0) { Sleep(50); for(int i=0;i<100;i++) { if(BarsCalculated(handle1)>0) break; Sleep(50); } copied1=CopyBuffer(handle1,0,0,toCount,TMP_Buf1); if(copied1<=0) { Print(__FUNCTION__+": copying indicator data failed. Error=",GetLastError()); return(0); } } int copied2=CopyBuffer(handle2,0,0,toCount,TMP_Buf2); if(copied2<=0) { Sleep(50); for(int i=0;i<100;i++) { if(BarsCalculated(handle2)>0) break; Sleep(50); } copied2=CopyBuffer(handle2,0,0,toCount,TMP_Buf2); if(copied2<=0) { Print(__FUNCTION__+": copying indicator data failed. Error=",GetLastError()); return(0); } } }没有什么是复制的。复制的变量1/2总是小于零。在调试器中,我不能比这段代码更进一步。如何正确地做,我的头已经坏了。 igorbel 2017.06.03 19:30 #7479 嗯......之前有一个错误4806,现在是4807,当我把创建句柄 移到OnInit()时。你是如何做到这一点的? igorbel 2017.06.03 19:44 #7480 我想我已经明白了。手柄没有被创造出来。我没有初始化所有的数据。 1...741742743744745746747748749750751752753754755...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我最近从mql4转到了mql5.我正在测试一个关于RTS指数的专家顾问,并且在建立几个头寸方面遇到了问题,尽管建立一个头寸的条件之一是如果(...OrdersTotal()==0)。为什么这个条件不起作用?如何才能只开一个仓位?
订单总数
OrdersTotal 返回有效订单 的数量。
职位总数
PositionsTotal 返回开放职位 的数量。
注意事项
活跃的挂单 和头寸之间不应混淆,它们也显示在 "工具箱 "面板的 "交易 "标签中。订单是执行交易 的命令,而头寸是一个或多个交易 的结果。
使用 "净值化 "头寸(ACCOUNT_MARGIN_MODE_RETAIL_NETTING 和ACCOUNT_MARGIN_MODE_EXCHANGE),每个符号 在任何时候都只能建立一个头寸,并且是一个或多个交易 的结果。在 "工具箱 "面板的 "交易 "选项卡中也显示的头寸和活跃的挂单,不应相互混淆。
在独立表示头寸的情况下(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING),每个符号可以同时开设多个头寸。
也就是说,使用OrdersTotal,你可以检查 目前有多少个RETAILED ORDERS。
订单_类型_购买_限制
待定的买入限价单
订单_类型_销售_限制
待定卖出限价单
订单_类型_购买_停止
悬而未决的买入止损单
订单_类型_销售_停止
悬而未决的卖出止损单
订单_类型_购买_停止_限制
当达到订单价格时,在StopLimit价格下一个买入限价挂单。
订单_类型_销售_停止_限制
当达到订单价格时,在StopLimit价格下一个挂起的卖出限价订单。
而你需要检查在那一刻有多少个开放的职位。
购货类型
购买
销量
出售
- 为此应使用PositionsTotal。
弗拉基米尔-卡尔普托夫 谢谢你!
下午好。在MT5最新更新到1604版本后,我的指标不再正常工作。我正在使用
所谓的 "液体 "指标。例如,我在一个窗口里有几个多期随机指标。好了,现在短的都画好了
和以前一样,稍长的只画几条,最长的则完全不画。
我的印象是,他们突然开始缺乏历史。你能告诉我可能出了什么问题吗?
这可不行,不可能成功。至少有人能就这个问题的是非曲直说一句话吗?很明显,更新是有故障的。
人们到哪里去寻找这样的问题呢?
下午好。在MT5最新更新到1604版本后,我的指标不再正常工作。我正在使用
所谓的 "液体 "指标。例如,我在一个窗口里有几个多期随机指标。好了,现在短的都画好了
和以前一样,稍长的只画几条,最长的则完全不画。
我的印象是,他们突然开始缺乏历史。你能告诉我可能出了什么问题吗?
你如何访问另一个时期的历史?你要进行哪些检查才能获得访问权?你得到什么错误代码?
你好!2017.06.02_17:45 GMT+3。我有一个问题。.mq5程序写了它的手数计算,--结果,--策略测试器中 的程序试图用一个大得吓人的手数开仓交易。风险百分比为1.09。存款规模大于存款(默认为10,000美元)。我试图使用Include>Expert>Money>MoneyFixedRisk.mqh文件夹中的标准OOP文件。结果:程序试图以零手开立交易。(0.00).我认为 -- 这是一个公司程序员的把戏。还是我错过了什么?好吧,让你的EA失去作用。弯曲的地段在侧面。也许,谁知道我应该写些什么,以便使专家顾问以计算出的手数和指定的风险百分比开立交易?我不能自己做,我在浪费我的时间。我希望我们公司的程序员不会被冒犯。我在此附上包括的文件Lot.mqh .我希望有人能回答。18:00 GMT+3。插入时间:18:11 GMT+3。
运行这个EA:货币固定风险- 改变两个输入参数,在终端的 "专家 "选项卡中看到打印结果。
我的指标中无法得到任何指标数据。
没有什么是复制的。复制的变量1/2总是小于零。在调试器中,我不能比这段代码更进一步。如何正确地做,我的头已经坏了。