新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1815 1...180818091810181118121813181418151816181718181819182018211822...1953 新评论 Tretyakov Rostyslav 2021.12.14 21:23 #18141 Alexander Avksentyev #:修正了它,现在可以工作了。当然这是不对的,但它是有效的。它设置了错误的停止,我怎样才能修复它? OrderOpenPrice()*Point OrderStopLoss()* Point 1,12500*Point=0.0000112500 Alexander Avksentyev 2021.12.14 21:29 #18142 Tretyakov Rostyslav #:1,12500*Point=0.0000112500Print(/*((*/NormalizeDouble((Bid - OrderOpenPrice()*Point),Digits) 2021.12.15 00:26:55.086 2021.01.04 00:00:00 test1 EURUSD,M1: 1.22373 但如果你单独计算 Print(/*((NormalizeDouble((Bid - */OrderOpenPrice()*Point/*),Digits)/*2021.12.15 00:30:09.557 2021.01.04 00:00:00 test1 EURUSD,M1: 1.2238e-05 Print(/*((NormalizeDouble((*/Bid - OrderOpenPrice()*Point/* 2021.12.15 00:34:05.979 2021.01.04 00:00:00 test1 EURUSD,M1: 1.223727762 Vitaly Muzichenko 2021.12.14 21:42 #18143 secret 交易服务器的订单处理结果。 在mql5中,这样的函数必须由自己来写? 贸易交易时 Документация по MQL5: Обработка событий / OnTradeTransaction www.mql5.com OnTradeTransaction - Обработка событий - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Vitaly Muzichenko 2021.12.14 21:44 #18144 Alexander Avksentyev #:2021.12.15 00:26:55.086 2021.01.04 00:00:00 test1 EURUSD,M1: 1.22373 但如果你单独计算 2021.12.15 00:30:09.557 2021.01.04 00:00:00 test1 EURUSD,M1: 1.2238e-05 2021.12.15 00:34:05.979 2021.01.04 00:00:00 test1 EURUSD,M1: 1.223727762 阅读 3-4个帖子 Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам 2021.12.14www.mql5.com В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н... secret 2021.12.14 22:10 #18145 Vitaly Muzichenko #:贸易交易时 谢谢你。只是地狱)我为MT5上的algotraders感到难过。 Vitaly Muzichenko 2021.12.14 22:13 #18146 secret #: 谢谢你。只是地狱)我同情mt5上的algotraders。 这是值得的,在mt5中,订单的处理速度要快很多倍。而测试是比较靠谱的,几乎没有测试人员的坟墓。 Alexander Avksentyev 2021.12.14 22:17 #18147 Vitaly Muzichenko #:阅读 三或四个帖子。是的,我做到了。现在明白了。 谢谢,我以为是个错误,但这是常态。 Alexander Avksentyev 2021.12.14 22:18 #18148 Tretyakov Rostyslav #:1,12500*Point=0.0000112500 修正了一切,结果并没有改变。 也许这是在逻辑上? 嗯,不知何故,它打开了TSL,但作为一个停止。 Tretyakov Rostyslav 2021.12.15 06:08 #18149 Alexander Avksentyev #:我把它修好了,但结果并没有改变。这可能是一个逻辑问题吗?嗯,不知何故,它打开了TSL,但作为一个停止。 你的函数看起来像这样。 NormalizeDouble((Bid - OrderOpenPrice()*Point),Digits) 归一化双((1,12700 -1,12500/100000),5) 你需要了解"点 " 的作用。 做一个打印。 Print(DoubleToString(NormalizeDouble(Point,Digits),Digits)); Alexander Avksentyev 2021.12.15 09:44 #18150 Tretyakov Rostyslav #:你的函数看起来像这样。归一化双((1,12700 -1,12500/100000),5)你需要了解"点 " 的作用。制作印刷品 之前 void TrailSL() { if(iTrailStart <= 0.0)return; double tp,sl_lev; for(int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType() == OP_BUY) { if(iTrailTakeProfit > 0.0) { tp=OrderTakeProfit() + NormalizeDouble(iTrailTakeProfit * Point(),_Digits); if(NormalizeDouble(((tp - OrderTakeProfit())) < 0.0,Digits))return; tp = OrderTakeProfit(); }else tp = 0.0; if (NormalizeDouble(Bid - OrderOpenPrice(),Digits) <= iTrailStart * MarketInfo(Symbol(),MODE_POINT) );//true { if(OrderStopLoss() < OrderOpenPrice() || OrderStopLoss() == 0 && NormalizeDouble(Bid - OrderStopLoss(),Digits) <= iTrailDist * MarketInfo(Symbol(),MODE_POINT));//true { if(iTrailStep > 0.0 && OrderStopLoss() != 0.0 && NormalizeDouble((Bid - OrderStopLoss()) - iTrailDist * MarketInfo(Symbol(),MODE_POINT),Digits) < iTrailStep * MarketInfo(Symbol(),MODE_POINT));//true { sl_lev = Bid - iTrailDist * MarketInfo(Symbol(),MODE_POINT); if(NormalizeDouble(Bid - sl_lev,Digits) < MarketInfo(Symbol(),MODE_STOPLEVEL));//false { if(!OrderModify(Forder,OrderOpenPrice(),sl_lev,tp,0,Red))return; Print("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError()); } } } } } } 之后 void TrailSL() { if (iTrailStart <= 0.0 || iTrailStep <= 0.0) return; double sl_lev; for (int i = OrdersTotal() - 1; i >= 0; i--) { if(!OrderSelect(i, SELECT_BY_POS,MODE_TRADES)) continue; if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue; if(OrderType() == OP_BUY) { if (NormalizeDouble(Bid - OrderOpenPrice(),Digits) < iTrailStart * MarketInfo(Symbol(),MODE_POINT) ) continue; if (OrderStopLoss() >= OrderOpenPrice() || NormalizeDouble(Bid - OrderStopLoss(), Digits()) < iTrailDist * MarketInfo(Symbol(),MODE_POINT)) continue; if (OrderStopLoss() == 0.0 || NormalizeDouble((Bid - OrderStopLoss()) - iTrailDist * MarketInfo(Symbol(),MODE_POINT),Digits) < iTrailStep * MarketInfo(Symbol(),MODE_POINT)) continue; sl_lev = Bid - iTrailDist * MarketInfo(Symbol(),MODE_POINT); if (NormalizeDouble(Bid - sl_lev,Digits) < MarketInfo(Symbol(),MODE_STOPLEVEL)) continue; if (!OrderModify(OrderTicket(), OrderOpenPrice(), sl_lev, OrderTakeProfit(), 0, clrRed)) Print("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError()); }}} 但现在它根本不想开机。 编译器或终端没有错误,只是无法打开。 有什么神奇的问题? 它是什么? 对不起,打扰您了。 1...180818091810181118121813181418151816181718181819182018211822...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
修正了它,现在可以工作了。当然这是不对的,但它是有效的。
它设置了错误的停止,我怎样才能修复它?
OrderOpenPrice()*Point
OrderStopLoss()* Point
1,12500*Point=0.0000112500
1,12500*Point=0.0000112500
2021.12.15 00:26:55.086 2021.01.04 00:00:00 test1 EURUSD,M1: 1.22373
2021.12.15 00:30:09.557 2021.01.04 00:00:00 test1 EURUSD,M1: 1.2238e-05
贸易交易时
2021.12.15 00:26:55.086 2021.01.04 00:00:00 test1 EURUSD,M1: 1.22373
2021.12.15 00:30:09.557 2021.01.04 00:00:00 test1 EURUSD,M1: 1.2238e-05
阅读 3-4个帖子
贸易交易时
谢谢你。只是地狱)我同情mt5上的algotraders。
这是值得的,在mt5中,订单的处理速度要快很多倍。而测试是比较靠谱的,几乎没有测试人员的坟墓。
阅读 三或四个帖子。
是的,我做到了。现在明白了。
谢谢,我以为是个错误,但这是常态。1,12500*Point=0.0000112500
修正了一切,结果并没有改变。
也许这是在逻辑上?
嗯,不知何故,它打开了TSL,但作为一个停止。
我把它修好了,但结果并没有改变。
这可能是一个逻辑问题吗?
嗯,不知何故,它打开了TSL,但作为一个停止。
你的函数看起来像这样。
归一化双((1,12700 -1,12500/100000),5)
你需要了解"点 " 的作用。
做一个打印。
你的函数看起来像这样。
归一化双((1,12700 -1,12500/100000),5)
你需要了解"点 " 的作用。
制作印刷品
之前
之后
但现在它根本不想开机。
编译器或终端没有错误,只是无法打开。
有什么神奇的问题?
它是什么?
对不起,打扰您了。