[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 125 1...118119120121122123124125126127128129130131132...432 新评论 Boris 2013.01.29 16:39 #1241 hoz: 因此,我有一张针对这种情况的支票。 如果停止 - 新停止(以b.u为单位)不等于零...然后我们修改...如果没有,我们就不修改。这就是为什么我不清楚这种情况如何发生。毕竟,我明白我需要检查过去和新的停止 的平等,我已经做了。 下面我们来看看我在无误地拖网找白的时候,是如何从上面和下面检查的。 if(OrderStopLoss() > OrderOpenPrice()) { if(NormalizeDouble(Bid-OrderStopLoss()-plus*tral,Digits) > prev) if(Bid > NormalizeDouble(OrderStopLoss()+plus*tral+prev,Digits)) { SL = NormalizeDouble(OrderStopLoss()+plus*part*tral,Digits); ModifyOrder(OrderTicket(),OrderOpenPrice(),SL,OrderTakeProfit(),0,Blue);return(0); } } 我可以给出ModifyOrder()函数,适合于所有订单和位置的修改。 [删除] 2013.01.29 16:41 #1242 Vinin: 编辑这段代码,使它看起来不像是被黑了。 我不明白。 如何编辑? 你的意思是什么? Viktar Dzemikhau 2013.01.29 16:42 #1243 borilunad: 我建议不要按条数修改,而是按这么多的点来修改。如果有必要,这就是资源的作用。而当对已经存在的修改进行价格重复时,就会弹出 "没有错误 "的错误。因此,你必须按照我一开始给你的建议,一步一步地走下去。 B.U.当然是按点画的。我的意思是在每一个刻度或在酒吧开盘时调用B.U.函数,例如...但那就太傻了。每条的价格可以跳得很高。那么,这个电话将与tickwise的电话类似,对吗?我只是在想,也许应该添加一些条件,这样它就不会在每次打勾时被调用。我想我们应该比较一下目前的STOP和即将设定的STOP,算是...一般来说。这是一件多么奇怪的事情。我添加了一个条件来启动,结果就这样成功了。if (priceBU != OrderStopLoss()) { MovingStopLossToBU(); }现在没有错误了。我不明白的是,MovingStopLossToBU() 函数本身只有在止损点不等于止损时才会改变。if (ND(OrderStopLoss() - priceBU * pt) != 0.0) if (!OrderModify(OrderTicket(), OrderOpenPrice(), priceBU, OrderTakeProfit(), 0, CLR_NONE )) { Print ("Ошибка модификации ордера ", OrderType(), " - ", GetLastError()); } 那么你是如何理解的呢? first_may 2013.01.29 16:50 #1244 晚上好,请您告诉我如何将平均MA(10)以上的蜡烛涂成绿色,以下的涂成红色? Boris 2013.01.29 16:51 #1245 hoz: B.U.当然是按点画的。我的意思是在每一个刻度或在酒吧开盘时调用B.U.函数,例如...但那就太傻了。每条的价格可以跳得很高。那么,这个电话将与tickwise的电话类似,对吗?我只是在想,也许应该添加一些条件,这样它就不会在每次打勾时被调用。我想我们应该比较一下目前的STOP和即将设定的STOP,算是...一般来说。这是一件多么奇怪的事情。我添加了一个条件来启动,结果就这样成功了。现在没有错误了。我不明白的是,MovingStopLossToBU() 函数本身只有在止损点不等于止损时才会改变。 那么你是如何理解的呢? 在你的例子中,当止损为零时,这意味着你 刚刚开了一个 没有止损的头寸。 而我给你的情况是,你已经处于盈亏平衡状态。 但请看上面,我给你的拖网是没有盈亏平衡的!而我可以给你的功能。 Viktar Dzemikhau 2013.01.29 16:57 #1246 agat8430: 我不明白。 如何编辑它? 如何理解它? 那么如果你不明白,你就来错地方了。研究你不明白的地方,你会问。如果你不明白什么,你就不需要它。 Viktar Dzemikhau 2013.01.29 16:58 #1247 borilunad: 见上文,我给了你我的无误的拖网!而我可以给你的功能。 我写的时候没有看到你的回复。我现在就去看看。但总的来说,我很乐意看到你的修改功能,也许我自己会学到一些新东西。 Viktar Dzemikhau 2013.01.29 17:05 #1248 borilunad: 在你的例子中,当止损为零时,意味着你刚刚开了一个没有止损的头寸。而我给你的情况是,它已经处于收支平衡状态。 见上文,我给了你我的拖网,没有收支平衡!而我可以给你的功能。 不,不能不停顿。我只贴了其中的一段。这是我的盈亏平衡函数。//+-------------------------------------------------------------------------------------+ //| Перевод в б.у. рыночных ордеров | //+-------------------------------------------------------------------------------------+ void MovingStopLossToBU() { double priceBU; int type = OrderType(); for (int i=OrdersTotal() - 1; i>=0; i--) { if (!OrderSelect(i,SELECT_BY_POS)) continue; if (i_magic != -1) if (OrderMagicNumber() != i_magic) continue; if (OrderSymbol() != Symbol()) continue; if (OrderType() > 1) continue; RefreshRates(); if (type == 0) { double price = Ask; int li_cmd = 1; } else { price = Bid; li_cmd = -1; } if (li_cmd * (price - OrderOpenPrice()) >= i_triggerForBU * pt) { priceBU = ND(OrderOpenPrice() + li_cmd * (i_preservedProfit * pt)); if (ND(OrderStopLoss() - priceBU * pt) != 0.0) { if (!OrderModify(OrderTicket(), OrderOpenPrice(), priceBU, OrderTakeProfit(), 0, CLR_NONE )) { Print ("Ошибка модификации ордера ", OrderType(), " - ", GetLastError()); } Comment ("Ордер успешно переведён в безубыток"); Print ("Ордер успешно переведён в безубыток"); } } } }在行中可以清楚地看到,如果计算出的止损点与已经存在的止损点相等,就不会有任何修改!对吗?那么,支票最初是?但错误1不断出现,直到我在修改函数之前的开始中输入另一个条件。 if (priceBU != OrderStopLoss()) { MovingStopLossToBU(); } 这就是为什么....这就是我想弄清楚的问题。我想我已经彻底描述了一切。 [删除] 2013.01.29 17:14 #1249 hoz: 那么如果你不明白,你就来错地方了。研究你不明白的地方,你会问。如果你不明白什么,你就不需要它。 如果你什么都不懂,你就不需要它。 好吧,如果你什么都懂,就告诉我如何编辑代码,让它看起来不被黑掉。这是我第一次上论坛,就得到了这么好的答复。"天才的人有天才的答案"。 Boris 2013.01.29 17:21 #1250 agat8430: 好吧,那就告诉我如何编辑代码,如果你们都明白的话,就不会像黑客一样。 我来到了初学者的分支。我第一次来到论坛上,就得到了一个不错的答案。 "天才的人有天才的答案"。 先给新来的人。 一个论坛导航器和对常见问题的回答。强烈推荐阅读!( 1 2 3 4 5 6 ) 51 18.02.2011 常见问题 1...118119120121122123124125126127128129130131132...432 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果停止 - 新停止(以b.u为单位)不等于零...然后我们修改...如果没有,我们就不修改。这就是为什么我不清楚这种情况如何发生。毕竟,我明白我需要检查过去和新的停止 的平等,我已经做了。因此,我有一张针对这种情况的支票。
下面我们来看看我在无误地拖网找白的时候,是如何从上面和下面检查的。
我可以给出ModifyOrder()函数,适合于所有订单和位置的修改。
编辑这段代码,使它看起来不像是被黑了。
如何编辑? 你的意思是什么?
我建议不要按条数修改,而是按这么多的点来修改。如果有必要,这就是资源的作用。而当对已经存在的修改进行价格重复时,就会弹出 "没有错误 "的错误。因此,你必须按照我一开始给你的建议,一步一步地走下去。
B.U.当然是按点画的。我的意思是在每一个刻度或在酒吧开盘时调用B.U.函数,例如...但那就太傻了。每条的价格可以跳得很高。那么,这个电话将与tickwise的电话类似,对吗?我只是在想,也许应该添加一些条件,这样它就不会在每次打勾时被调用。我想我们应该比较一下目前的STOP和即将设定的STOP,算是...
一般来说。这是一件多么奇怪的事情。
我添加了一个条件来启动,结果就这样成功了。
if (priceBU != OrderStopLoss()) { MovingStopLossToBU(); }
现在没有错误了。
我不明白的是,MovingStopLossToBU() 函数本身只有在止损点不等于止损时才会改变。
那么你是如何理解的呢?B.U.当然是按点画的。我的意思是在每一个刻度或在酒吧开盘时调用B.U.函数,例如...但那就太傻了。每条的价格可以跳得很高。那么,这个电话将与tickwise的电话类似,对吗?我只是在想,也许应该添加一些条件,这样它就不会在每次打勾时被调用。我想我们应该比较一下目前的STOP和即将设定的STOP,算是...
一般来说。这是一件多么奇怪的事情。
我添加了一个条件来启动,结果就这样成功了。
现在没有错误了。
我不明白的是,MovingStopLossToBU() 函数本身只有在止损点不等于止损时才会改变。
那么你是如何理解的呢?在你的例子中,当止损为零时,这意味着你 刚刚开了一个 没有止损的头寸。 而我给你的情况是,你已经处于盈亏平衡状态。
但请看上面,我给你的拖网是没有盈亏平衡的!而我可以给你的功能。
我不明白。
如何编辑它? 如何理解它?
见上文,我给了你我的无误的拖网!而我可以给你的功能。
我写的时候没有看到你的回复。我现在就去看看。
但总的来说,我很乐意看到你的修改功能,也许我自己会学到一些新东西。
在你的例子中,当止损为零时,意味着你刚刚开了一个没有止损的头寸。而我给你的情况是,它已经处于收支平衡状态。
见上文,我给了你我的拖网,没有收支平衡!而我可以给你的功能。
不,不能不停顿。我只贴了其中的一段。这是我的盈亏平衡函数。
在行中可以清楚地看到,如果计算出的止损点与已经存在的止损点相等,就不会有任何修改!对吗?那么,支票最初是?但错误1不断出现,直到我在修改函数之前的开始中输入另一个条件。
if (priceBU != OrderStopLoss()) { MovingStopLossToBU(); }
这就是为什么....这就是我想弄清楚的问题。我想我已经彻底描述了一切。那么如果你不明白,你就来错地方了。研究你不明白的地方,你会问。如果你不明白什么,你就不需要它。
如果你什么都不懂,你就不需要它。 好吧,如果你什么都懂,就告诉我如何编辑代码,让它看起来不被黑掉。这是我第一次上论坛,就得到了这么好的答复。
"天才的人有天才的答案"。
好吧,那就告诉我如何编辑代码,如果你们都明白的话,就不会像黑客一样。 我来到了初学者的分支。我第一次来到论坛上,就得到了一个不错的答案。
"天才的人有天才的答案"。
先给新来的人。