初学者的问题 MQL4 MT4 MetaTrader 4 - 页 91 1...848586878889909192939495969798...261 新评论 Maxim Kuznetsov 2017.06.30 18:01 #901 Jenya77769:你好!两个负数q和w的比较是不正确的,当它们相等时,if运算符认为一个比另一个大.错误是什么?当q=-0.0002,w也是-0.0002,res12=false,为什么?因为它是一个双数,而且它们并不完全相等。图:比较归一化的数值 Vitalie Postolache 2017.06.30 18:16 #902 Jenya77769:你好!两个负数q和w的比较是不正确的,当它们相等时,if运算符认为一个比另一个大.错误是什么?当q=-0.0002,w也是-0.0002,res12=false,为什么?将它们的差值与零进行比较,这更正确,对任何类型的数字都适用。 John Smith 2017.07.01 11:12 #903 人们,这里有一个问题--有一条横线,有一天长。它有一个文本标签,一个标签对象。我怎样才能使这个文本标签总是在线条的中间(在一天的中间),在图表的任何缩放中? Renat Akhtyamov 2017.07.01 14:49 #904 John Smith:人们,这里有一个问题--有一条横线,有一天长。它有一个文本标签,一个标签对象。我怎样才能使这个文本标签总是在线条的中间(在一天的中间),在图表的任何缩放中? 改变标签的X坐标,即把它计算为线的中间位置 John Smith 2017.07.01 17:32 #905 Renat Akhtyamov: 改变标记的X坐标,即把它计算为线的中间位置嗯,这是可以理解的,但我怎么做呢?我有第二个选择--将标记与一天的开始挂钩,使用文本变量在标记值前面插入空格,这取决于图表的缩放。从本质上讲,我希望标签在近距离缩放时位于左边,而在缩放时,标签应该移到中间。由于mt4的缩放级别是标准的,那么对于每个缩放级别来说,找到合适的空间数并不难。但这里有一个问题--mql4是否有这样的功能,可以确定当前图表的缩放级别?然后一切都会很简单,像这样:"如果chartzoom = 50%,那么 spacesnumber = 10",等等。其中空格数是字符串变量,定义了标签文本前的空格数,如__________1.23456 - 有10个带_符号的空格。 Renat Akhtyamov 2017.07.01 21:49 #906 John Smith: 嗯,这是可以理解的,但我怎么做呢?我有第二个选择--将标记与一天的开始挂钩,使用文本变量在标记值前面插入空格,这取决于图表的缩放。从本质上讲,我希望标签在近距离放大时位于左边,而在放大时,标签应该移到中间。由于mt4的缩放级别是标准的,那么对于每个缩放级别来说,找到合适的空间数并不难。但这里有一个问题--mql4是否有这样的功能,可以确定当前的图表缩放级别?然后一切都会很简单,像这样:"如果chartzoom = 50%,那么 spacesnumber = 10",等等。其中空格数是字符串变量,定义了标签文本前的空格数,如__________1.23456 - 有10个带_符号的空格。在此 阅读我的评论 Youri Lazurenko 2017.07.09 21:29 #907 大家好!再次需要帮助。无法弄清错误是什么。再次拖网。由MA进行拖网。我需要翻阅几个订单。可能有循环。只要有一个开放的订单,一切都在完美地运作。只要再有一个订单被打开,狂欢就开始了--不断修改(用一个相同的参数)第一个订单(错误1没有显示)。在这种情况下,第二秩序被修改是应该的--当满足适当的条件时(第一秩序,当条件改变时,改变其参数并继续不断修改新的参数)。我找不到原因。谁能给我一个提示?void TrailingStop() { int i; int k = OrdersTotal(); double Ma = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORLIPS, 1); int MinDistans = int(MarketInfo(Symbol(), MODE_STOPLEVEL)); double lips1 = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORLIPS, 1); double lips2 = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORLIPS, 2); double teeth1 = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, 1); double teeth2 = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, 2); double jaw1 = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW , 1); double jaw2 = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW , 2); for (i = 0; i < k; i++) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType() == OP_BUY) { if(lips2 < teeth2 && teeth2 < jaw2 && lips1 < teeth1 && teeth1 < jaw1) break; if(lips2 > teeth2 && teeth2 > jaw2 && lips1 > teeth1 && teeth1 > jaw1) { if((OrderStopLoss() + TrailingStep*Point) < Ma) { double Sl = NormalizeDouble(Ma, Digits); if((Bid - MinDistans) > Sl && (OrderStopLoss() + TrailingStep*Point) < Sl) { OrderModifyX(OrderTicket(), OrderOpenPrice(), Sl, OrderTakeProfit(), OrderExpiration(), 0); } } } } } } if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType() == OP_SELL) { if(lips2 > teeth2 && teeth2 > jaw2 && lips1 > teeth1 && teeth1 > jaw1) break; if(lips2 < teeth2 && teeth2 < jaw2 && lips1 < teeth1 && teeth1 < jaw1) { if(MathAbs(OrderStopLoss() - TrailingOpen*Point) > Ma) { double Sl = NormalizeDouble(Ma, Digits); if((Ask + MinDistans) < Sl && (OrderStopLoss() - TrailingStep*Point) > Sl) { OrderModifyX(OrderTicket(), OrderOpenPrice(), Sl, OrderTakeProfit(), OrderExpiration(), 0); } } } } } } } } Artyom Trishkin 2017.07.09 23:39 #908 Youri Lazurenko:大家好!再次需要帮助。搞不清楚错误是什么。再次拖网。由MA进行拖网。我需要翻阅几个订单。可能有循环。只要有一个开放的订单,一切都在完美地运作。只要再有一个订单被打开,狂欢就开始了--不断修改(用一个相同的参数)第一个订单(错误1没有显示)。在这种情况下,第二秩序被修改是应该的--当满足适当的条件时(第一秩序,当条件改变时,改变其参数并继续不断修改新的参数)。我找不到原因。谁能帮助我?1.这个周期应该被逆转。 2.休息是为了什么? Youri Lazurenko 2017.07.10 05:09 #909 Artyom Trishkin:1.这个循环必须被逆转。 2. 休息是为了什么?你好。1 - "循环必须是逆向的"--你是指for(i = k; i > 0; i--)吗?2."为什么要休息?"- 要退出。一般来说,在开始时,在选择订单类型 后,如果是针对趋势的突破。然后我们再次选择订单类型,如果它是趋势性的,我们就修改它。这种变体的破译以前就帮助过我。当你建议用MA来解决拖网问题时。例如,如果在买入交易中,止损在MA之上,我得到错误1,直到MA在止损之上,之后错误就消失了。当我引入条件,即如果止损在MA之上,那么就打破,一切都回到了正常状态。 Artyom Trishkin 2017.07.10 05:54 #910 Youri Lazurenko: 你好。1 - "循环必须反转" - 你是指for(i = k; i > 0; i--)吗?2."为什么要休息?"- 要退出。一般来说,在开始时,在选择订单类型 后,如果是针对趋势的突破。然后我们再次选择订单类型,如果它是趋势性的,我们就修改它。这种变体的破译以前就帮助过我。当你建议用MA来解决拖网问题时。例如,如果在买入交易中,止损在MA之上,我得到错误1,直到MA在止损之上,之后错误就消失了。当我设定的条件是,如果止损在MA之上,所有的一切都已正常化。 断裂彻底完成了循环。那么其他的职位呢?查看止损点相对于其新水平的位置。从OrdersTotal()-1到>=0的反向循环 1...848586878889909192939495969798...261 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好!两个负数q和w的比较是不正确的,当它们相等时,if运算符认为一个比另一个大.错误是什么?当q=-0.0002,w也是-0.0002,res12=false,为什么?
因为它是一个双数,而且它们并不完全相等。
图:比较归一化的数值
你好!两个负数q和w的比较是不正确的,当它们相等时,if运算符认为一个比另一个大.错误是什么?当q=-0.0002,w也是-0.0002,res12=false,为什么?
将它们的差值与零进行比较,这更正确,对任何类型的数字都适用。
人们,这里有一个问题--
有一条横线,有一天长。
它有一个文本标签,一个标签对象。
我怎样才能使这个文本标签总是在线条的中间(在一天的中间),在图表的任何缩放中?
人们,这里有一个问题--
有一条横线,有一天长。
它有一个文本标签,一个标签对象。
我怎样才能使这个文本标签总是在线条的中间(在一天的中间),在图表的任何缩放中?
改变标记的X坐标,即把它计算为线的中间位置
嗯,这是可以理解的,但我怎么做呢?
我有第二个选择--将标记与一天的开始挂钩,使用文本变量在标记值前面插入空格,这取决于图表的缩放。
从本质上讲,我希望标签在近距离缩放时位于左边,而在缩放时,标签应该移到中间。由于mt4的缩放级别是标准的,那么对于每个缩放级别来说,找到合适的空间数并不难。但这里有一个问题--mql4是否有这样的功能,可以确定当前图表的缩放级别?
然后一切都会很简单,像这样:"如果chartzoom = 50%,那么 spacesnumber = 10",等等。
其中空格数是字符串变量,定义了标签文本前的空格数,如__________1.23456 - 有10个带_符号的空格。
嗯,这是可以理解的,但我怎么做呢?
我有第二个选择--将标记与一天的开始挂钩,使用文本变量在标记值前面插入空格,这取决于图表的缩放。
从本质上讲,我希望标签在近距离放大时位于左边,而在放大时,标签应该移到中间。由于mt4的缩放级别是标准的,那么对于每个缩放级别来说,找到合适的空间数并不难。但这里有一个问题--mql4是否有这样的功能,可以确定当前的图表缩放级别?
然后一切都会很简单,像这样:"如果chartzoom = 50%,那么 spacesnumber = 10",等等。
其中空格数是字符串变量,定义了标签文本前的空格数,如__________1.23456 - 有10个带_符号的空格。
大家好!再次需要帮助。无法弄清错误是什么。再次拖网。由MA进行拖网。我需要翻阅几个订单。可能有循环。只要有一个开放的订单,一切都在完美地运作。只要再有一个订单被打开,狂欢就开始了--不断修改(用一个相同的参数)第一个订单(错误1没有显示)。在这种情况下,第二秩序被修改是应该的--当满足适当的条件时(第一秩序,当条件改变时,改变其参数并继续不断修改新的参数)。我找不到原因。谁能给我一个提示?
大家好!再次需要帮助。搞不清楚错误是什么。再次拖网。由MA进行拖网。我需要翻阅几个订单。可能有循环。只要有一个开放的订单,一切都在完美地运作。只要再有一个订单被打开,狂欢就开始了--不断修改(用一个相同的参数)第一个订单(错误1没有显示)。在这种情况下,第二秩序被修改是应该的--当满足适当的条件时(第一秩序,当条件改变时,改变其参数并继续不断修改新的参数)。我找不到原因。谁能帮助我?
1.这个周期应该被逆转。
2.休息是为了什么?
1.这个循环必须被逆转。
2. 休息是为了什么?
你好。
1 - "循环必须是逆向的"--你是指for(i = k; i > 0; i--)吗?
2."为什么要休息?"- 要退出。一般来说,在开始时,在选择订单类型 后,如果是针对趋势的突破。然后我们再次选择订单类型,如果它是趋势性的,我们就修改它。
这种变体的破译以前就帮助过我。当你建议用MA来解决拖网问题时。例如,如果在买入交易中,止损在MA之上,我得到错误1,直到MA在止损之上,之后错误就消失了。当我引入条件,即如果止损在MA之上,那么就打破,一切都回到了正常状态。
你好。
1 - "循环必须反转" - 你是指for(i = k; i > 0; i--)吗?
2."为什么要休息?"- 要退出。一般来说,在开始时,在选择订单类型 后,如果是针对趋势的突破。然后我们再次选择订单类型,如果它是趋势性的,我们就修改它。
这种变体的破译以前就帮助过我。当你建议用MA来解决拖网问题时。例如,如果在买入交易中,止损在MA之上,我得到错误1,直到MA在止损之上,之后错误就消失了。当我设定的条件是,如果止损在MA之上,所有的一切都已正常化。