任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 705 1...698699700701702703704705706707708709710711712...1178 新评论 Boris 2014.09.09 15:20 #7041 exsistentia: 显然,我没有准确解释这个问题。问题是,有一个未结的英镑兑美元订单(不是挂单),未结价格是1.61029。根据我的理解,函数OrderOpenPrice应该返回订单的真实开仓价(1.61029)。 然而,它返回的是一个四舍五入到小数点后4位的数值,即1.6103。在不同的订单上测试了不同的开盘价--结果是一样的:最后一位数字丢失。 为此,有一个DoubleToStr(),它可以用真实的数字 来写,但会用4来写!请看左上方的 "文档",你会在那里找到所有东西,并学到很多东西+教程你去吧。Alert("Цена открытия ",OPP);// не так Alert("Цена открытия ",DoubleToStr(OPP,Digits);// а так [删除] 2014.09.09 16:00 #7042 borilunad: 有一个DoubleToStr()函数,它可以写出真实的数字,但这种方式会写出4个数字!请看左上方的 "文档",你会在那里找到所有东西,并学到很多东西+教程你去吧。 非常感谢!而我正在阅读教程,并边读边写EA。还有一个问题:有什么最简单的方法可以知道某个订单已经关闭(通过票据)?我应该使用OrderCloseTime函数,还是有一个专门的函数用于此目的? Artyom Trishkin 2014.09.09 16:24 #7043 exsistentia: 非常感谢您!我正在阅读教程,并边读边写一个EA。还有一个问题:知道一个订单是否被关闭的最简单方法是什么(通过票据)?我应该使用OrderCloseTime函数,还是有一个专门的函数用于此目的? if(OrderSelect(ticket,SELECT_BY_TICKET) && OrderCloseTime()>0) { // Ордер закрыт } 票据变量应存储被检查的订单的票据号。 Vitalie Postolache 2014.09.09 18:05 #7044 artmedia70: 票据变量应存储被检查的订单的票据号。 如果订单被关闭,不是应该在历史记录(MODE_HISTORY)中找到它吗? [删除] 2014.09.09 18:17 #7045 artmedia70: 票据变量应存储被检查的订单的票据号码 谢谢你。另一个问题。在EA中,有一个块应该删除挂单,这取决于市场订单的关闭情况。OrderSelect(T1,SELECT_BY_TICKET); datetime cls1; cls1=OrderCloseTime(); //关闭1个订单的时间 OrderSelect(T2,SELECT_BY_TICKET); datetime cls2; cls2=OrderCloseTime(); //关闭两个订单的时间 Alert(cls1," ",cls2);if(cls1==0 && cls2==0) //如果两个订单都开了 return(0); else CLS++;//其中一个订单的平仓标志if(cls1>0 && CLS==1) //根据哪个订单被关闭而删除挂单 OrderDelete(T3); if(cls2>0 && CLS==1) OrderDelete(T4); return(0); }由于某些原因,该区块不起作用(它不关闭挂单),警报总是显示 "0 0"。我特意关闭了其中一个未平仓的订单,但什么也没发生。感觉就像EA没有检查订单是否已经被关闭,现在正在处理旧数据。可能是什么问题? Any rookie question, so 我将写一个免费的mql4顾问 跟踪止损和退出市场的模式 Vitalie Postolache 2014.09.09 19:13 #7046 exsistentia:谢谢你。另一个问题。在EA中,有一个块应该删除挂单,这取决于市场订单的关闭情况。由于某些原因,该区块不起作用(挂单没有关闭),警报总是显示 "0 0"。我特意关闭了其中一个未平仓的订单,但什么也没发生。感觉就像EA没有检查订单是否已经被关闭,现在正在处理旧数据。可能是什么问题?订单票 是在哪里发现的?如果该订单仍处于活动状态(至少,通过代码在活动的订单中选择了它),那么OrderCloseTime从何而来? Artyom Trishkin 2014.09.09 19:19 #7047 evillive: 订单票是在哪里发现的?如果订单仍然有效(至少通过代码在有效订单中选择了它),那么OrderCloseTime从何而来? 哦,不要再愤怒了。在这种情况下,游泳池 被忽略了。只有通过大于/等于零的关闭时间,我们才能确定该订单是从哪个列表中被选中的。不了解这些基本知识是很遗憾的;) Artyom Trishkin 2014.09.09 19:25 #7048 evillive: 如果一个订单被关闭,难道不应该在历史记录(MODE_HISTORY)中寻找吗? 如果按指数选择--是的,在历史上,如果按票池 选择,则忽略不计。学习数学;) Vitalie Postolache 2014.09.09 19:56 #7049 artmedia70: 哦,不要再愤怒了。在这种情况下,游泳池 被忽略了。只有在关闭时间大于/等于零的情况下,您才能确定从哪个列表中选择订单。不了解这些基本知识是很遗憾的;) 我几乎不按票据搜索,更多的是按索引搜索,这可能是一个耻辱,但你能做什么;)但那里没有引用寻找正确的票据,也许他找错了,然后抱怨代码不工作...... Artyom Trishkin 2014.09.09 20:46 #7050 evillive: 我几乎从不按票据搜索,更多的是按索引搜索,也许这是一个耻辱,但你能做什么;)但在代码中寻找正确的票据并没有找到,也许他找错了,然后抱怨代码不起作用...... 外面的情况很混乱... 1...698699700701702703704705706707708709710711712...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
显然,我没有准确解释这个问题。问题是,有一个未结的英镑兑美元订单(不是挂单),未结价格是1.61029。根据我的理解,函数OrderOpenPrice应该返回订单的真实开仓价(1.61029)。 然而,它返回的是一个四舍五入到小数点后4位的数值,即1.6103。在不同的订单上测试了不同的开盘价--结果是一样的:最后一位数字丢失。
为此,有一个DoubleToStr(),它可以用真实的数字 来写,但会用4来写!请看左上方的 "文档",你会在那里找到所有东西,并学到很多东西+教程
你去吧。
有一个DoubleToStr()函数,它可以写出真实的数字,但这种方式会写出4个数字!请看左上方的 "文档",你会在那里找到所有东西,并学到很多东西+教程
你去吧。
非常感谢!而我正在阅读教程,并边读边写EA。
还有一个问题:有什么最简单的方法可以知道某个订单已经关闭(通过票据)?我应该使用OrderCloseTime函数,还是有一个专门的函数用于此目的?
非常感谢您!我正在阅读教程,并边读边写一个EA。
还有一个问题:知道一个订单是否被关闭的最简单方法是什么(通过票据)?我应该使用OrderCloseTime函数,还是有一个专门的函数用于此目的?
票据变量应存储被检查的订单的票据号。
票据变量应存储被检查的订单的票据号。
如果订单被关闭,不是应该在历史记录(MODE_HISTORY)中找到它吗?
票据变量应存储被检查的订单的票据号码
谢谢你。
另一个问题。在EA中,有一个块应该删除挂单,这取决于市场订单的关闭情况。
OrderSelect(T1,SELECT_BY_TICKET);
datetime cls1;
cls1=OrderCloseTime(); //关闭1个订单的时间
OrderSelect(T2,SELECT_BY_TICKET);
datetime cls2;
cls2=OrderCloseTime(); //关闭两个订单的时间
Alert(cls1," ",cls2);
if(cls1==0 && cls2==0) //如果两个订单都开了
return(0);
else
CLS++;//其中一个订单的平仓标志
if(cls1>0 && CLS==1) //根据哪个订单被关闭而删除挂单
OrderDelete(T3);
if(cls2>0 && CLS==1)
OrderDelete(T4);
return(0);
}
由于某些原因,该区块不起作用(它不关闭挂单),警报总是显示 "0 0"。我特意关闭了其中一个未平仓的订单,但什么也没发生。感觉就像EA没有检查订单是否已经被关闭,现在正在处理旧数据。可能是什么问题?
谢谢你。
另一个问题。在EA中,有一个块应该删除挂单,这取决于市场订单的关闭情况。
由于某些原因,该区块不起作用(挂单没有关闭),警报总是显示 "0 0"。我特意关闭了其中一个未平仓的订单,但什么也没发生。感觉就像EA没有检查订单是否已经被关闭,现在正在处理旧数据。可能是什么问题?
订单票是在哪里发现的?如果订单仍然有效(至少通过代码在有效订单中选择了它),那么OrderCloseTime从何而来?
如果一个订单被关闭,难道不应该在历史记录(MODE_HISTORY)中寻找吗?
哦,不要再愤怒了。在这种情况下,游泳池 被忽略了。只有在关闭时间大于/等于零的情况下,您才能确定从哪个列表中选择订单。不了解这些基本知识是很遗憾的;)
我几乎不按票据搜索,更多的是按索引搜索,这可能是一个耻辱,但你能做什么;)
但那里没有引用寻找正确的票据,也许他找错了,然后抱怨代码不工作......
我几乎从不按票据搜索,更多的是按索引搜索,也许这是一个耻辱,但你能做什么;)
但在代码中寻找正确的票据并没有找到,也许他找错了,然后抱怨代码不起作用......