初学者的问题 MQL5 MT5 MetaTrader 5 - 页 135 1...128129130131132133134135136137138139140141142...1503 新评论 PetrovichV 2013.08.30 19:18 #1341 zfs: 平均盈利的交易不会覆盖滑点,盈利能力也很小,也可能是一种配合)。我自己写了专家顾问。这里面没有止损。 Vasiliy Smirnov 2013.08.30 19:26 #1342 PetrovichV:我自己写了这个专家。它没有止损。 那就更糟糕了)。 PetrovichV 2013.08.30 19:35 #1343 zfs: 这更糟糕)。 谢谢你。 Lone_Irbis 2013.08.30 22:35 #1344 我可能会回答我自己的问题,现在已经找到了解决方案--你永远不知道谁会在谷歌上搜索......。这个问题是关于如何从历史记录中获得最后一笔订单的开盘价。结果发现(至少对我来说不是),它是正确的--我必须得到一个交易的价格,而不是一个订单的价格。在测试器中,最初的变体也能工作(不是我写的)--我怀疑区别在于,在演示版中,它只是说 "市场价格 "而不是价格,当试图请求它为双倍时,由于某种原因返回了零。让它见鬼去吧,现在这个函数看起来像这样。PositionID = PositionGetInteger(POSITION_IDENTIFIER); double FindLastPrice(long PositionID) { int i = 0, DealsTotal; ENUM_DEAL_TYPE CheckType; long Ticket, OldTicket = 0, PosID, Magic, Type; double OrderPrice = 0; DealsTotal = HistoryDealsTotal(); for (i = 0; i < DealsTotal; i++) { Ticket = (int)HistoryDealGetTicket(i); PosID = HistoryDealGetInteger(Ticket, DEAL_POSITION_ID); Magic = HistoryDealGetInteger(Ticket, DEAL_MAGIC); Type = HistoryDealGetInteger(Ticket, DEAL_TYPE); if (Sell) CheckType = DEAL_TYPE_SELL; else CheckType = DEAL_TYPE_BUY; if ((PosID == PositionID) && (Magic == MagicNumber) && (Type == CheckType)) { if (Ticket > OldTicket) { OrderPrice = HistoryDealGetDouble(Ticket, DEAL_PRICE); OldTicket = Ticket; } } } if(!OrderPrice) Print("Ошибка получения цены открытия предыдущей сделки! Error ",GetLastError()); return(OrderPrice); }我不得不为这种无稽之谈消磨几个小时,但至少它都有它的好处:因为这个不工作的功能,我不得不发明一个变通办法,同时掌握基本的文件工作,愚蠢地将每个新的订单价格写入文件,并在必要时读取它...... Anatoli Kazharski 2013.08.31 06:05 #1345 Lone_Irbis:我可能会回答我自己的问题,因为解决方案已经被找到了--以防有人在谷歌上搜索......该问题是关于如何从历史记录中获得最后一笔订单的开盘价。....如果你能使用网站上的搜索,或翻阅已经有的文章,就可以了。>>>MQL5配方 - 交易历史和获取位置属性的函数库 Lone_Irbis 2013.08.31 11:54 #1346 tol64:而你可以直接使用网站搜索,或在没有其他东西的地方翻阅文章。>>>MQL5配方 - 交易历史和获取位置属性的函数库我在这个网站上搜索了一个星期(即通过谷歌,因为内置的搜索有些奇怪:它要么以随机的顺序给出完全不确切的东西,而不是按相关性,或者甚至说 "没有发现",即使是对同一文件的复制请求)...但要找到有用的东西,你应该知道它到底叫什么,以及它与已经存在的非工作版本有什么不同 :)从一个对语言有一定了解的人的立场来谈论搜索是很容易的,但如果你对mql5这个名字只知道一个星期,而且已经在尝试用它做一些东西,那就更难了......另外,我不太喜欢现成的解决方案和详细的手册,作为一个概念,它们只会让我不愿意自己动手。:)也许我的自学方式不是很有效,但更重要的是它是有趣的--否则在这个话题上投入个人时间的热情就会长期不足。尽管如此,还是要感谢你的链接,我将阅读它。 PetrovichV 2013.09.01 06:58 #1347 下午好。有什么办法可以下载20-30年的货币历史数据?在Alfa-Forex,这只是过去12年的情况,但在此之前,它是零星的。 Vasiliy Smirnov 2013.09.01 09:33 #1348 PetrovichV:下午好。有什么办法可以下载20-30年的货币历史数据?在Alfa-Forex,这只是过去12年的情况,但在此之前,它是零星的。 你的经纪人给你的历史,当你增加期限时,质量会下降。 agvozdezkiy 2013.09.05 13:19 #1349 这里是买入订单 的代码,然后它的SL和TP被改变。我得到的错误是:2013.09.06 00:03:39 交易 '10022332': 修改订单#0失败 买0.00 GBPUSD at market sl: 0.00000 tp: 0.00000 -> 1.56255, sl: 1.55787 tp: 1.56787 [Invalid request] 更改级别的要求有什么问题?int Positions; double delta=0.00500; MqlTradeRequest Request; MqlTradeResult Result; MqlTick InfoTick; void OnTick() { //--- if(PositionsTotal()==0) // если открытых позиций нет, покупаем { SymbolInfoTick(_Symbol, InfoTick); Request.action=TRADE_ACTION_DEAL; Request.symbol=_Symbol; Request.volume=1; Request.price=InfoTick.bid; Request.sl=InfoTick.bid - delta; Request.tp=InfoTick.bid + delta; Request.deviation=50; Request.type=ORDER_TYPE_BUY; Request.type_filling=ORDER_FILLING_FOK; OrderSend(Request, Result); }else{ // меняем уровни SymbolInfoTick(_Symbol, InfoTick); Request.action=TRADE_ACTION_MODIFY; Request.symbol=_Symbol; Request.sl=InfoTick.last - delta; Request.tp=InfoTick.last + delta; OrderSend(Request, Result); } } Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров www.mql5.com Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5 Vasiliy Smirnov 2013.09.05 14:21 #1350 agvozdezkiy:这里是买入订单 的代码,然后它的SL和TP被改变。我得到的错误是:2013.09.06 00:03:39 交易 '10022332': 修改订单#0失败 买0.00 GBPUSD at market sl: 0.00000 tp: 0.00000 -> 1.56255, sl: 1.55787 tp: 1.56787 [Invalid request] 更改级别的要求有什么问题? 获取错误代码作为开始。 1...128129130131132133134135136137138139140141142...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
平均盈利的交易不会覆盖滑点,盈利能力也很小,也可能是一种配合)。
我自己写了专家顾问。这里面没有止损。
我自己写了这个专家。它没有止损。
这更糟糕)。
我可能会回答我自己的问题,现在已经找到了解决方案--你永远不知道谁会在谷歌上搜索......。
这个问题是关于如何从历史记录中获得最后一笔订单的开盘价。结果发现(至少对我来说不是),它是正确的--我必须得到一个交易的价格,而不是一个订单的价格。在测试器中,最初的变体也能工作(不是我写的)--我怀疑区别在于,在演示版中,它只是说 "市场价格 "而不是价格,当试图请求它为双倍时,由于某种原因返回了零。让它见鬼去吧,现在这个函数看起来像这样。
我不得不为这种无稽之谈消磨几个小时,但至少它都有它的好处:因为这个不工作的功能,我不得不发明一个变通办法,同时掌握基本的文件工作,愚蠢地将每个新的订单价格写入文件,并在必要时读取它......
我可能会回答我自己的问题,因为解决方案已经被找到了--以防有人在谷歌上搜索......
该问题是关于如何从历史记录中获得最后一笔订单的开盘价。....
如果你能使用网站上的搜索,或翻阅已经有的文章,就可以了。
>>>MQL5配方 - 交易历史和获取位置属性的函数库
而你可以直接使用网站搜索,或在没有其他东西的地方翻阅文章。
>>>MQL5配方 - 交易历史和获取位置属性的函数库
我在这个网站上搜索了一个星期(即通过谷歌,因为内置的搜索有些奇怪:它要么以随机的顺序给出完全不确切的东西,而不是按相关性,或者甚至说 "没有发现",即使是对同一文件的复制请求)...但要找到有用的东西,你应该知道它到底叫什么,以及它与已经存在的非工作版本有什么不同 :)从一个对语言有一定了解的人的立场来谈论搜索是很容易的,但如果你对mql5这个名字只知道一个星期,而且已经在尝试用它做一些东西,那就更难了......
另外,我不太喜欢现成的解决方案和详细的手册,作为一个概念,它们只会让我不愿意自己动手。:)也许我的自学方式不是很有效,但更重要的是它是有趣的--否则在这个话题上投入个人时间的热情就会长期不足。
尽管如此,还是要感谢你的链接,我将阅读它。
下午好。
有什么办法可以下载20-30年的货币历史数据?
在Alfa-Forex,这只是过去12年的情况,但在此之前,它是零星的。
下午好。
有什么办法可以下载20-30年的货币历史数据?
在Alfa-Forex,这只是过去12年的情况,但在此之前,它是零星的。
这里是买入订单 的代码,然后它的SL和TP被改变。
我得到的错误是:2013.09.06 00:03:39 交易 '10022332': 修改订单#0失败 买0.00 GBPUSD at market sl: 0.00000 tp: 0.00000 -> 1.56255, sl: 1.55787 tp: 1.56787 [Invalid request]
更改级别的要求有什么问题?
这里是买入订单 的代码,然后它的SL和TP被改变。
我得到的错误是:2013.09.06 00:03:39 交易 '10022332': 修改订单#0失败 买0.00 GBPUSD at market sl: 0.00000 tp: 0.00000 -> 1.56255, sl: 1.55787 tp: 1.56787 [Invalid request]
更改级别的要求有什么问题?