自行车运营商 "为 "问题 - 页 11 1...45678910111213141516 新评论 Simon Gniadkowski 2013.01.04 10:10 #101 WhooDoo22:我想你没明白我的意思 ......如果我加上一些大括号,也许会更清楚。......你这样做了......。我相信我的意思是这样做的......。这是因为我希望这个条件...... 应用于大括号内的代码部分("{ }")。 那么,为什么你没有在你的最新版本的代码中做这个改动呢?......如果你想这么做,为什么不这么做呢? Simon Gniadkowski 2013.01.04 10:13 #102 WhooDoo22:西蒙。你图像中的0可能是来自......。.Nah-uh-uh!;)让我们顺着文档通道来一次旅行吧?哈哈哈。 datetimeOrderCloseTime() ) 返回当前所选订单的收盘时间。如果订单关闭时间不为0,那么所选的订单已经关闭,并从账户历史中检索。未结订单和挂单的关闭时间等于0。注意:订单必须是先前由OrderSelect() 函数选择的。首先,让我们都来看看我最近编写的OrderClose()函数的代码块...接下来,让我们都来看看 "专家 "窗格的快照中显示的结果......啊,我们这里有什么呢?) Print(OrderCloseTime())显然是错误的,但你的代码中仍然有它,为什么? 当你加入我建议的两行代码时,发生了什么? Nathan 2013.01.04 10:13 #103 西蒙。那么,为什么你没有在你的最新版本的代码中做这个改动呢?......如果你想做,为什么不做?请给我一点时间看一下。我以前就想 写这个代码,但现在不想写 这个代码。没有理由这样编码...。 if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) { if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); Print(OrderCloseTime()); GetLastError(); } }当我可以用这个来代替编码时... if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); Print(OrderCloseTime()); }所有 "如果 "条件都适用于大括号("{}")内的内容。在这段代码中添加大括号(以我的意思 来编码)是低效的,没有任何作用。谢谢你。 Nathan 2013.01.04 10:51 #104 西蒙。我不知道你想说什么,你能解释一下吗? if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); Print(OrderCloseTime()); } // replace above code block with... if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); // Print(OrderCloseTime()); }在模拟账户的终端上快速旋转EA(没有Print()函数),然后点击 "专家 "窗格,观察 "专家 "窗格中的其他结果中是否没有0(0)。注意没有0。嗯,对吗?)现在让EA旋转一下(包括Print()函数)。注意 "专家 "窗格中的0。你对 "专家 "窗格的结果中为什么有一个0进行了有根据的猜测,你是对的(在信息的开头划掉 "Nah-uh-uh!;)")。你图像中的0可能是来自.....Print(OrderCloseTime());记得吗?你当然记得了。)Print(OrderCloseTime())显然是错误的,但你的代码中仍然有它,为什么?请解释为什么你认为它是错误的。我把它放在代码中,是为了向你表明一个观点。重点 是。零点在 "专家 "窗格中出现是因为代码中存在这段代码。当你加入我建议的那两行代码时,发生了什么?我目前正在努力解决这个问题。)谢谢你 Simon Gniadkowski 2013.01.04 11:09 #105 WhooDoo22:Print(OrderCloseTime())显然是错误的,但你的代码中仍然有它,为什么?请解释为什么你认为它是错误的。我把它放在代码中,是为了向你表明一个观点。重点 是。零点在 "专家 "窗格中出现是因为代码中存在这段代码。 你发布的最后一张图片显示,USDJPY订单是在01:45:35关闭的 ......关闭订单的那一行之后的下一行代码是Print(OrderCloseTime());它的结果是0 ......0作为一个日期时间是1970年1月1日午夜,这不是你关闭订单的时间,正如你正确指出的,OrderCloseTime()的返回值为0也可能是订单未平仓或挂单的 时候,你的订单已经关闭,你知道它已经关闭,你的最后一张图片证明了这点。答案是它不可能是正确的,所以这意味着它是错误的。 Nathan 2013.01.04 11:19 #106 西蒙。我目前正在研究这个问题... if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { int ClosedTicketNum = OrderTicket(); // <---- add this line OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); OrderSelect(ClosedTicketNum, SELECT_BY_TICKET); // <---- add this line Print(OrderCloseTime()); GetLastError(); }谢谢你。 Simon Gniadkowski 2013.01.04 11:20 #107 WhooDoo22:西蒙。那么,为什么你没有在你的最新版本的代码中做这个改动呢?......如果你想做,为什么不做?请给我一点时间看一下。我以前就想 写这个代码,但现在不想写 这个代码。没有理由这样编码...。当我可以用这个来代替编码时...所有 "如果 "条件都适用于大括号("{}")内的内容。在这段代码中加入大括号(以我的 方式)是低效的,没有任何作用。 好了,看一下这段代码.. . .if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) // 1. if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} // 2. if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} // 3. if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) // 4. { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); // 5. Print(OrderCloseTime()); // 6. }我对这些行进行了编号,以便于讨论。如果OrderStopLoss()和OrderTakeProfit()都是0,那么其他编号的几行代码将被执行? Nathan 2013.01.04 11:25 #108 西蒙。修正了,所以能按原定计划工作。if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} // 2. if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} // 3. if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) // 1. if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) // 4. { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); // 5. Print(OrderCloseTime()); // 6. }第2行和第3行。谢谢你。 Nathan 2013.01.04 11:30 #109 西蒙。 if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { int ClosedTicketNum=OrderTicket(); OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); OrderSelect(ClosedTicketNum,SELECT_BY_TICKET); Print(OrderCloseTime()); }结果。为什么订单关闭时间以这样的形式表示(1357306061)?Print()函数工作的原因是OrderSelect()函数(在大括号内)必须选择关闭的订单而不是开放的订单?这必须在大括号内完成,对吗?)狡猾,狡猾。谢谢你。 Nathan 2013.01.04 11:45 #110 西蒙。它来了...砰! if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true) Print(OrderCloseTime()); }甚至更好!哈哈哈;)谢谢你。 附加的文件: zap_atusdjpycorderc__cv9.mq4 4 kb 1...45678910111213141516 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我想你没明白我的意思 ......如果我加上一些大括号,也许会更清楚。......你这样做了......。
我相信我的意思是这样做的......。
这是因为我希望这个条件......
应用于大括号内的代码部分("{ }")。
那么,为什么你没有在你的最新版本的代码中做这个改动呢?......如果你想这么做,为什么不这么做呢?
西蒙。
你图像中的0可能是来自......。.
Nah-uh-uh!;)
让我们顺着文档通道来一次旅行吧?哈哈哈。
注意:订单必须是先前由OrderSelect() 函数选择的。
首先,让我们都来看看我最近编写的OrderClose()函数的代码块...
接下来,让我们都来看看 "专家 "窗格的快照中显示的结果......
啊,我们这里有什么呢?)
西蒙。
那么,为什么你没有在你的最新版本的代码中做这个改动呢?......如果你想做,为什么不做?
请给我一点时间看一下。
我以前就想 写这个代码,但现在不想写 这个代码。没有理由这样编码...。
当我可以用这个来代替编码时...
所有 "如果 "条件都适用于大括号("{}")内的内容。在这段代码中添加大括号(以我的意思 来编码)是低效的,没有任何作用。
谢谢你。
西蒙。
我不知道你想说什么,你能解释一下吗?
在模拟账户的终端上快速旋转EA(没有Print()函数),然后点击 "专家 "窗格,观察 "专家 "窗格中的其他结果中是否没有0(0)。
注意没有0。嗯,对吗?)
现在让EA旋转一下(包括Print()函数)。
注意 "专家 "窗格中的0。
你对 "专家 "窗格的结果中为什么有一个0进行了有根据的猜测,你是对的(在信息的开头划掉 "Nah-uh-uh!;)")。
你图像中的0可能是来自.....
Print(OrderCloseTime());记得吗?你当然记得了。)
Print(OrderCloseTime())显然是错误的,但你的代码中仍然有它,为什么?
请解释为什么你认为它是错误的。
我把它放在代码中,是为了向你表明一个观点。重点 是。零点在 "专家 "窗格中出现是因为代码中存在这段代码。
当你加入我建议的那两行代码时,发生了什么?
我目前正在努力解决这个问题。)
谢谢你
Print(OrderCloseTime())显然是错误的,但你的代码中仍然有它,为什么?
请解释为什么你认为它是错误的。
我把它放在代码中,是为了向你表明一个观点。重点 是。零点在 "专家 "窗格中出现是因为代码中存在这段代码。
你发布的最后一张图片显示,USDJPY订单是在01:45:35关闭的 ......关闭订单的那一行之后的下一行代码是Print(OrderCloseTime());它的结果是0 ......0作为一个日期时间是1970年1月1日午夜,这不是你关闭订单的时间,正如你正确指出的,OrderCloseTime()的返回值为0也可能是订单未平仓或挂单的 时候,你的订单已经关闭,你知道它已经关闭,你的最后一张图片证明了这点。答案是它不可能是正确的,所以这意味着它是错误的。
西蒙。
我目前正在研究这个问题...
谢谢你。
西蒙。
那么,为什么你没有在你的最新版本的代码中做这个改动呢?......如果你想做,为什么不做?
请给我一点时间看一下。
我以前就想 写这个代码,但现在不想写 这个代码。没有理由这样编码...。
当我可以用这个来代替编码时...
所有 "如果 "条件都适用于大括号("{}")内的内容。在这段代码中加入大括号(以我的 方式)是低效的,没有任何作用。
好了,看一下这段代码.. . .
我对这些行进行了编号,以便于讨论。
如果OrderStopLoss()和OrderTakeProfit()都是0,那么其他编号的几行代码将被执行?
西蒙。
修正了,所以能按原定计划工作。
第2行和第3行。
谢谢你。
西蒙。
结果。
为什么订单关闭时间以这样的形式表示(1357306061)?
Print()函数工作的原因是OrderSelect()函数(在大括号内)必须选择关闭的订单而不是开放的订单?这必须在大括号内完成,对吗?)狡猾,狡猾。
谢谢你。
西蒙。
它来了...砰!
甚至更好!哈哈哈;)
谢谢你。