新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1182 1...117511761177117811791180118111821183118411851186118711881189...1953 新评论 Valeriy Yastremskiy 2020.06.19 13:36 #11811 Igor Makanu:MQL的帮助与其他语言是一样的并假定你至少有一些编写简单代码的基本经验这就是为什么"//占位符 "这个词,大多数人甚至不会测试和检查它。 ushortfill_symbol='filler'// filler 就这些了。 Igor Makanu 2020.06.19 14:17 #11812 awsomdino:这是否意味着,在这里和像这样的情况下,你可以不填写这个字段?喜欢(指使用它是多么正确)而第二个参数可以省略。 不,不是这样的。 有一个 "默认值 "的东西--你应该在帮助中阅读它,那里有 "函数 "的解释 但使用" 默认值 "很简单:如果函数描述中的帮助有一个符号= ,那么这就是默认值,如果你没有在这个地方自己写任何东西,编译器将使用 帮助中写的值 string IntegerToString( long number, // число int str_len=0, // длина строки на выходе ushort fill_symbol=' ' // заполнитель ) awsomdino2 2020.06.19 14:47 #11813 @Igor Makanu 谢谢,现在很多事情都清楚了。没有初步的知识,就很难做到一切 Seric29 2020.06.19 22:58 #11814 Artyom Trishkin:一个简单的移动平均线,周期为14,移位为0,根据当前符号的日线图上的收盘价计算。我们取第一个条形图的值(零为当前日期)。 有什么方法可以在移动平均线上快速获得开盘和收盘之间的价格,并进行0转移,你指的是当前的酒吧?还是一个棘手的问题,这个函数没有现成的变量。 Medvedina 2020.06.20 06:03 #11815 大家好。 当部分关闭订单时,我在警报窗口中得到一个警告 "OrderClose (28800839, 0.01) error (method: CloseOrderPartial) - trade is not allowed in expert properties"。 然而,事实上,一个正确的订单部分正在被关闭,EA正确地执行了订单的开仓和关闭。我在文档中没有发现这样的错误,在论坛上也没有发现。错误翻译说'该EA不允许交易',但我们可以看到实际情况并非如此,该EA正在交易。 也许有人遇到过这样的问题? 部分关闭的方法代码 //Закрытие ордера на продажу //NumberOrder = тикет ордера, 0 - закрытие всех ордеров //ValueClose = объем закрытия ордера bool CloseOrderSell(int NumberOrder, double ValueClose) { if (NumberOrder == 0) { for (int i = OrdersTotal() - 1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL) { if(OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, clrMaroon) == false) { Print("Ошибка #" + (string)GetLastError() + " закрытия ордера на продажу #" + (string)OrderTicket()); return false; } else { if (EnableMgs == true) Print("Ордер на продажу #"+ (string)OrderTicket() +" закрыт на " + (string)ValueClose + " лота"); return true; } } } } else { if (OrderSelect(NumberOrder, SELECT_BY_TICKET) == true) { ValueClose = NormalizeDouble(ValueClose * OrderLots(), 2); if(OrderClose(OrderTicket(), ValueClose, Ask, Slippage, clrMaroon) == false) { Print("Ошибка #" + (string)GetLastError() + " закрытия ордера на продажу #" + (string)OrderTicket()); return false; } else { if (EnableMgs == true) Print("Ордер на продажу #"+ (string)OrderTicket() +" закрыт на " + (string)ValueClose + " лота"); return true; } } else Print("Ошибка #" + (string)GetLastError() + " выбора ордера на продажу #" + (string)NumberOrder + " при закрытии ордера"); } return false; } Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе www.mql5.com Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Taras Slobodyanik 2020.06.21 08:34 #11816 Seric29:有什么方法可以快速获得开盘和收盘之间的价格,并在幻灯片上进行0转移,你指的是当前的酒吧?还是一个棘手的问题,这个函数没有现成的变量。 你是用它来做猫头鹰还是做指示器?,它们的腿不同,你需要不同的滑轨) Tretyakov Rostyslav 2020.06.21 10:59 #11817 Medvedina:大家好。当部分关闭订单时,警报窗口中出现 "OrderClose (28800839, 0.01) error (method: CloseOrderPartial) - trade is not allowed in expert properties"。 我认为问题不在于方法,而在于关闭条件。 日志中说什么?你能截图吗? Seric29 2020.06.21 14:00 #11818 Taras Slobodyanik:你要找的是猫头鹰还是火鸡?,它们有不同的腿,需要不同的滑道) 正态平滑(还有指数平滑加权平均和其他什么)。我需要一个简单的也许是平滑的移动平均线,它将愚蠢地从开盘和收盘之间的中间穿过。我意识到,没有这样的事情,你必须做,因为没有人会认为像我这样的混蛋会出现,在非常复杂的情况下使用这样简单的东西,但我想到要做这样复杂的变量(Simle...)。 ...不知道自己在计算什么,只是重画价格。我甚至不知道大型投资者是否注意平均数(如200,30,21,14,7)。如果我没有,我以后会做的。 Medvedina 2020.06.21 15:26 #11819 MakarFX:我认为问题不在于方法,而在于关闭条件。日志上是怎么说的?可以给我一张截图吗? 下午好。 谢谢你的想法。的确,我没有注意到这一点,但得到警告的不是我的EA,而是另一个在同一对上并行工作的EA。奇怪的是,第二个EA的警告只在并行工作时出现。 Taras Slobodyanik 2020.06.21 17:14 #11820 Seric29:一个普通的平滑的(还有指数平滑加权平均和其他什么)。我需要一个 简单的可能是平滑的移动平均线,愚蠢的是它会在开盘和收盘之间的中间位置通过。 所以自己加起来除以 - (MA1 + MA2 + MA3) / 3 = 平均MA 如果你按缓冲区计算,那么iMAOnArray 1...117511761177117811791180118111821183118411851186118711881189...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
MQL的帮助与其他语言是一样的
并假定你至少有一些编写简单代码的基本经验
这就是为什么"//占位符 "这个词,大多数人甚至不会测试和检查它。
ushortfill_symbol='filler'// filler
就这些了。
这是否意味着,在这里和像这样的情况下,你可以不填写这个字段?
喜欢
(指使用它是多么正确)
而第二个参数可以省略。
不,不是这样的。
有一个 "默认值 "的东西--你应该在帮助中阅读它,那里有 "函数 "的解释
但使用" 默认值 "很简单:如果函数描述中的帮助有一个符号= ,那么这就是默认值,如果你没有在这个地方自己写任何东西,编译器将使用 帮助中写的值
@Igor Makanu
谢谢,现在很多事情都清楚了。没有初步的知识,就很难做到一切
一个简单的移动平均线,周期为14,移位为0,根据当前符号的日线图上的收盘价计算。我们取第一个条形图的值(零为当前日期)。
有什么方法可以在移动平均线上快速获得开盘和收盘之间的价格,并进行0转移,你指的是当前的酒吧?还是一个棘手的问题,这个函数没有现成的变量。
大家好。
当部分关闭订单时,我在警报窗口中得到一个警告 "OrderClose (28800839, 0.01) error (method: CloseOrderPartial) - trade is not allowed in expert properties"。
然而,事实上,一个正确的订单部分正在被关闭,EA正确地执行了订单的开仓和关闭。我在文档中没有发现这样的错误,在论坛上也没有发现。错误翻译说'该EA不允许交易',但我们可以看到实际情况并非如此,该EA正在交易。
也许有人遇到过这样的问题?
部分关闭的方法代码
有什么方法可以快速获得开盘和收盘之间的价格,并在幻灯片上进行0转移,你指的是当前的酒吧?还是一个棘手的问题,这个函数没有现成的变量。
你是用它来做猫头鹰还是做指示器?
,它们的腿不同,你需要不同的滑轨)
大家好。
当部分关闭订单时,警报窗口中出现 "OrderClose (28800839, 0.01) error (method: CloseOrderPartial) - trade is not allowed in expert properties"。
我认为问题不在于方法,而在于关闭条件。
日志中说什么?你能截图吗?
你要找的是猫头鹰还是火鸡?
,它们有不同的腿,需要不同的滑道)
正态平滑(还有指数平滑加权平均和其他什么)。我需要一个简单的也许是平滑的移动平均线,它将愚蠢地从开盘和收盘之间的中间穿过。我意识到,没有这样的事情,你必须做,因为没有人会认为像我这样的混蛋会出现,在非常复杂的情况下使用这样简单的东西,但我想到要做这样复杂的变量(Simle...)。
...不知道自己在计算什么,只是重画价格。我甚至不知道大型投资者是否注意平均数(如200,30,21,14,7)。如果我没有,我以后会做的。
我认为问题不在于方法,而在于关闭条件。
日志上是怎么说的?可以给我一张截图吗?
下午好。
谢谢你的想法。的确,我没有注意到这一点,但得到警告的不是我的EA,而是另一个在同一对上并行工作的EA。奇怪的是,第二个EA的警告只在并行工作时出现。
一个普通的平滑的(还有指数平滑加权平均和其他什么)。我需要一个 简单的可能是平滑的移动平均线,愚蠢的是它会在开盘和收盘之间的中间位置通过。
所以自己加起来除以 - (MA1 + MA2 + MA3) / 3 = 平均MA
如果你按缓冲区计算,那么iMAOnArray