新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1620 1...161316141615161616171618161916201621162216231624162516261627...1953 新评论 pribludilsa 2021.09.20 11:25 #16191 Volodymyr Zubov #:https://www.mql5.com/ru/docs/predefined/_digits 一个变量,而不是一个报价。字符串变量中有一个计数,双数被转换为具有指定精度的字符串变量。这当然是强烈的。 pribludilsa 2021.09.20 11:31 #16192 Volodymyr Zubov #:https://www.mql5.com/ru/docs/predefined/_digits 顺便说一下,这是在五位数的报价中出现了超过五位小数的问题。我想做一个自动检查,结果发现在这种语言中不是那么容易。同时,我用打印机手动检查。小数点后不超过五位,这种情况经常发生吗?也许是在4号航站楼? pribludilsa 2021.09.20 11:44 #16193 好吧,有一个系统性的忽略信息的问题。我们应该再次启动一个主题。 Valeriy Yastremskiy 2021.09.20 12:19 #16194 pribludilsa #: 好吧,有一个系统性的忽略信息的行为。我们应该再次启动一个主题。 已经有关于这个问题的议题了。变成一个字符串和要计数的字符串的数量。你真的要先数一数小数点之前的数字。你可以把它转换成一个整数。而且,这也同样是尴尬的事,要串))))。 giros 2021.09.20 13:46 #16195 Alexey Viktorov #:在mt4测试器中,不可能在其他货币对上开立订单,其他一切都可以顺利进行。 谢谢你,确实可以在测试器中从另一个仪器中获得指标值。 Alexander #: 在正确的TF上检查澳元兑美元的报价可用性 这正是问题所在。事情是这样的,我在休息日(周日)进行测试,"下载 "了所需符号(澳元兑美元)的报价档案,但结果是在休息日就是没有下载,因为我的外汇商的服务器在休息日无法使用。而今天周一,下载报价档案和测试都成功了。 MakarFX#: 对不起,错了,自己不知道。 没关系,你在私人信息中的回复更有价值。 人们在这里回答问题并相互帮助,这真的很好。不是所有的答案都能在文件中找到) pribludilsa 2021.09.20 14:06 #16196 Valeriy Yastremskiy #:已经有关于这个问题的议题了。变成一个字符串和要计数的字符串的数量。你真的要先数一数小数点之前的数字。你可以把它转换成一个整数。而且,将)))),也是一个有点棘手的问题。 是的,我也想这样做,只有在指定精度的情况下才将双数转换为字符串,如果没有指定精度,默认为8位数。 pribludilsa 2021.09.20 14:15 #16197 Valeriy Yastremskiy #:已经有关于这个问题的议题了。变成一个字符串和要计数的字符串的数量。你真的要先数一数小数点之前的数字。你可以把它转换成一个整数。而且,这也同样是尴尬的事情,要串))))。 整数转换,是的,这可能是唯一的一个。我也想到了这一点,但要做某种乘法循环或除以10的除法似乎太复杂了。我还没有想清楚。 EVGENII SHELIPOV 2021.09.20 15:23 #16198 MakarFX #: //+----------------------------------------------------------------------------+ //| Модификация ордеров | //+----------------------------------------------------------------------------+ void ModifyOrders(int otype) { double BuyPriceMax = 0, BuyPriceMin = 0, BuyPriceMaxLot = 0, BuyPriceMinLot = 0, SelPriceMin = 0, SelPriceMax = 0, SelPriceMinLot = 0, SelPriceMaxLot = 0; int BuyPriceMaxTic = 0, BuyPriceMinTic = 0, SelPriceMaxTic = 0, SelPriceMinTic = 0; double op = 0, lt = 0, order_lots = 0; int tk = 0, b = 0, s = 0; price = 0;tp = 0; for(int i = OrdersTotal() - 1; i >= 0; i--) if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) if(OrderMagicNumber() == Magic) if(OrderSymbol() == Symbol() && OrderType() == otype) { op = NormalizeDouble(OrderOpenPrice(), Digits()); lt = NormalizeDouble(OrderLots(), 2); tk = OrderTicket(); if(otype == OP_BUY) { b++; if(op > BuyPriceMax || BuyPriceMax == 0) { BuyPriceMax = op; BuyPriceMaxLot = lt; BuyPriceMaxTic = tk; } if(op < BuyPriceMin || BuyPriceMin == 0) { BuyPriceMin = op; BuyPriceMinLot = lt; BuyPriceMinTic = tk; } } if(otype == OP_SELL) { s++; if(op > SelPriceMax || SelPriceMax == 0) { SelPriceMax = op; SelPriceMaxLot = lt; SelPriceMaxTic = tk; } if(op < SelPriceMin || SelPriceMin == 0) { SelPriceMin = op; SelPriceMinLot = lt; SelPriceMinTic = tk; } } if (otype == OP_BUY || otype == OP_SELL) { price += OrderOpenPrice() * OrderLots(); order_lots += OrderLots(); } } //*************************************************************// double AwerageBuyPrice = 0, AwerageSelPrice = 0, avg_price = 0; if(b >= 2 && Drawdown >= DrawdownClosingMinMaxOrder) AwerageBuyPrice = NormalizeDouble((BuyPriceMax*BuyPriceMaxLot + BuyPriceMin*BuyPriceMinLot)/ (BuyPriceMaxLot + BuyPriceMinLot) + TakeProfitMinMaxOrder* Point(), Digits()); if(s >= 2 && Drawdown >= DrawdownClosingMinMaxOrder) AwerageSelPrice = NormalizeDouble((SelPriceMax * SelPriceMaxLot + SelPriceMin * SelPriceMinLot)/ (SelPriceMaxLot + SelPriceMinLot) - TakeProfitMinMaxOrder* Point(), Digits()); if (Drawdown < DrawdownClosingMinMaxOrder) avg_price = NormalizeDouble(price / order_lots, Digits); //*************************************************************// for(int i = OrdersTotal() - 1; i >= 0; i--) if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) if(OrderMagicNumber() == Magic) if(OrderSymbol() == Symbol()) { op = NormalizeDouble(OrderOpenPrice(), Digits()); tp = NormalizeDouble(OrderTakeProfit(), Digits()); lt = NormalizeDouble(OrderLots(), 2); tk = OrderTicket(); if(otype == OP_BUY && b >= 2 && Drawdown >= DrawdownClosingMinMaxOrder) { if(tk == BuyPriceMaxTic || tk == BuyPriceMinTic) if(Bid < AwerageBuyPrice && tp != AwerageBuyPrice) if(!OrderModify(tk, op, OrderStopLoss(), AwerageBuyPrice, 0, clrRed)) Print("OrderModify error #", GetLastError()); if(tk != BuyPriceMaxTic && tk != BuyPriceMinTic && tp != 0) if(!OrderModify(tk, op, 0, 0, 0, clrRed)) Print("OrderModify error #", GetLastError()); } if(otype == OP_SELL && s >= 2 && Drawdown >= DrawdownClosingMinMaxOrder) { if(tk == SelPriceMaxTic || tk == SelPriceMinTic) if(Ask > AwerageSelPrice && tp != AwerageSelPrice) if(!OrderModify(tk, op, OrderStopLoss(), AwerageSelPrice, 0, clrRed)) Print("OrderModify error #", GetLastError()); if(tk != SelPriceMaxTic && tk != SelPriceMinTic && tp != 0) if(!OrderModify(tk, op, 0, 0, 0, clrRed)) Print("OrderModify error #", GetLastError()); } if (Drawdown < DrawdownClosingMinMaxOrder) if (otype == OP_BUY) tp = NormalizeDouble (avg_price + TakeProfitGroupOrder*Point, Digits); if (otype == OP_SELL) tp = NormalizeDouble (avg_price - TakeProfitGroupOrder*Point, Digits); { if(OrderModify(OrderTicket(), OrderOpenPrice(), 0, tp, 0)) Print("Ордера успешно модифицированы!"); else Print("Ошибка модификации ордеров!"); } } } Alexey Viktorov 2021.09.20 16:01 #16199 Valeriy Yastremskiy #:有什么是我不知道的吗?另外,不可能按测试仪的时间从其他仪器获得条形数据,它将按当前时间接收。这就是为什么我不能测试多币种,即使只是在4ka的计算部分。我一直认为,MT4测试器完全模拟了单一工具的环境,而MT5则模拟了整个可用的环境。或者不是这样? 瓦莱里,请注意这句话 sd = (int)MarketInfo("EURJPY", MODE_DIGITS); 在我的代码中......我已经使用这5个函数很长时间了,但这里有一个类似的函数 SymbolInfoInteger("EURJPY", SYMBOL_DIGITS); 给了一个叠加的0。 所以,想想这个错误在哪里......既然MT4拒绝支持它,你可以认为它永远不会被修复...... 其他一切都要检查。我已经很久没有管过它了,我甚至不想记住。 giros 2021.09.21 12:23 #16200 Alexey Viktorov #: 我长期以来一直在使用周五函数 你能建议我在哪里可以学习MQL5(俄语)吗? 1...161316141615161616171618161916201621162216231624162516261627...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
https://www.mql5.com/ru/docs/predefined/_digits
https://www.mql5.com/ru/docs/predefined/_digits
好吧,有一个系统性的忽略信息的行为。我们应该再次启动一个主题。
已经有关于这个问题的议题了。变成一个字符串和要计数的字符串的数量。你真的要先数一数小数点之前的数字。你可以把它转换成一个整数。而且,这也同样是尴尬的事,要串))))。
在mt4测试器中,不可能在其他货币对上开立订单,其他一切都可以顺利进行。
在正确的TF上检查澳元兑美元的报价可用性
对不起,错了,自己不知道。
人们在这里回答问题并相互帮助,这真的很好。不是所有的答案都能在文件中找到)
已经有关于这个问题的议题了。变成一个字符串和要计数的字符串的数量。你真的要先数一数小数点之前的数字。你可以把它转换成一个整数。而且,将)))),也是一个有点棘手的问题。
是的,我也想这样做,只有在指定精度的情况下才将双数转换为字符串,如果没有指定精度,默认为8位数。
已经有关于这个问题的议题了。变成一个字符串和要计数的字符串的数量。你真的要先数一数小数点之前的数字。你可以把它转换成一个整数。而且,这也同样是尴尬的事情,要串))))。
有什么是我不知道的吗?另外,不可能按测试仪的时间从其他仪器获得条形数据,它将按当前时间接收。这就是为什么我不能测试多币种,即使只是在4ka的计算部分。
我一直认为,MT4测试器完全模拟了单一工具的环境,而MT5则模拟了整个可用的环境。
或者不是这样?
瓦莱里,请注意这句话
在我的代码中......我已经使用这5个函数很长时间了,但这里有一个类似的函数
给了一个叠加的0。
所以,想想这个错误在哪里......既然MT4拒绝支持它,你可以认为它永远不会被修复......
其他一切都要检查。我已经很久没有管过它了,我甚至不想记住。
Alexey Viktorov #:
我长期以来一直在使用周五函数
你能建议我在哪里可以学习MQL5(俄语)吗?