初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1494 1...148714881489149014911492149314941495149614971498149915001501...1503 新评论 Roman Kutemov 2024.01.22 20:01 #14931 Maksim Burov #:下午好。您能告诉我如何安排重新运行所获得的优化参数,但要在不同的时间段内进行。我在 Excel 中记录了过去半年对一种货币对的优化参数。我选择了去年的时间段,并希望运行这些参数。我如何将它们放回测试器或优化器中。 检查哪些可以通过,哪些不能通过,将其记入 Excel。然后运行过去两年的数据。 选择要运行数据的时间段。然后在获得的参数选项卡中,右击所需的参数并选择单个测试。 Maksim Burov 2024.01.22 20:47 #14932 Roman Kutemov #: 选择要运行数据的时间段。然后在获得的参数选项卡上,右击所需的参数并选择单个测试。 谢谢。 如何在范围内完成所有操作,而不是戳每个参数? Sergey Izhutov 2024.01.24 07:11 #14933 您能帮我计算一下吗? 我需要止盈是止损的 3 倍。它似乎可以工作,但有些地方出错了))。机器人可以进行黄金和指数交易,但拒绝进行货币交易(尽管它的计算完全正确)。 首先,我将止损点设为蜡烛 1 的低点: //---Устанавливаем стоп double stoploss = iLow(_Symbol,PERIOD_CURRENT,1); Print("Цена стопа ", stoploss); 然后以点为单位计算从ASK 到止损点 的距离,并将此值分配给 pert点: //---Опредеяем размер стопа в пунктах double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK); double low = iLow(_Symbol, 0, 1); double points = NormalizeDouble((ask - low) / _Point, _Digits); Print("Размер стопа ", points); 然后,我也以点为单位计算止损: //---Считаем тейкпрофит double TP = NormalizeDouble(points * 3, _Digits); Print("Размер тейка ", TP); 然后打开交易,将TR 添加到ASK : //---Открываем сделку на покупку if(Close > maHandle && Close > Open) { if(trade.Buy(Lot,_Symbol,SYMBOL_ASK,stoploss, ask + TP,"Это я, твой робот") == true) { Print("Открыта покупка"); } 在测试仪中,所有计算都是正确的,以 5 位数点为单位,止损点也在 Low1 上,止损点的大小以 5 位数点为单位也是正确的。但止盈有些问题,不是 507 点,而是 5070 点。 Yuriy Bykov 2024.01.24 08:13 #14934 你好,谢尔盖。 计算止损时,您需要从价格距离到点数距离。然后乘以 3,就得到了同样以点为单位的止损距离。然后将点数加到卖出价上。 尽量不要除以一个点的大小,否则要记得再乘以它。 //---Устанавливаем стоп double stoploss = iLow(_Symbol,PERIOD_CURRENT,1); Print("Цена стопа ", stoploss); //---Опредеяем размер стопа double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK); double low = iLow(_Symbol, 0, 1); double points = NormalizeDouble((ask - low) / _Point, _Digits); double points = NormalizeDouble((ask - low), _Digits); //--- ... 或者像这样 //---Устанавливаем стоп double stoploss = iLow(_Symbol,PERIOD_CURRENT,1); Print("Цена стопа ", stoploss); //---Опредеяем размер стопа в пунктах (это целое число) double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK); double low = iLow(_Symbol, 0, 1); int points = (ask - low) / _Point; Print("Размер стопа ", points); //---Считаем тейкпрофит int TP = points * 3; Print("Размер тейка ", TP); //---Открываем сделку на покупку if(Close > maHandle && Close > Open) { if(trade.Buy(Lot,_Symbol,SYMBOL_ASK,stoploss, NormalizeDouble(ask + TP * _Point, _Digits),"Это я, твой робот") == true) { Print("Открыта покупка"); } Sergey Izhutov 2024.01.24 09:19 #14935 Yuriy Bykov #:你好,谢尔盖 非常感谢!我真的被价格/项目搞糊涂了。我现在就试试))) Sergey Izhutov 2024.01.24 09:33 #14936 现在一切都能正确计算和设置,但仅限于美元兑日元、美元兑澳元和任何指数。但对于 USDCAD、EURUSD 等货币,猫头鹰无法交易,并发送错误信息 4756。我在帮助中查找了该值,但没有帮助)。 Yuriy Bykov 2024.01.24 10:20 #14937 Sergey Izhutov #: 现在一切都能正确计算和设置,但仅限于美元兑日元、美元兑澳元和任何指数。但对于 USDCAD、EURUSD 等货币,猫头鹰无法交易,并发送错误信息 4756。我在帮助中查找了该值,但一无所获)。 像上一篇文章一样:提供为您开仓的代码。然后,也许你就能给出一些建议了。美元兑日元和美元兑加元之间不应该有任何本质区别,很可能是一些微不足道的错误。 Sergey Izhutov 2024.01.24 12:47 #14938 Yuriy Bykov #:按照上一个帖子的方法操作: 代码如下 //---Открываем сделку на покупку if(Close > maHandle && Close > Open) { if(trade.Buy(Lot,_Symbol,SYMBOL_ASK,stoploss, ask + BuyTP,"Это я, твой робот") == true) { Print("Открыта покупка"); } else { // Получение кода ошибки int error_code = GetLastError(); Print("Ошибка отправки заявки: ", GetLastError()); } return; } //---Открываем сделку на продажу if(Close < maHandle && Close < Open) { if(trade.Sell(Lot,_Symbol,SYMBOL_ASK,stoploss,ask - SellTP,"Это я, твой робот") == true) { Print("Открыта продажа"); } else { // Получение кода ошибки int error_code = GetLastError(); Print("Ошибка отправки заявки: ", GetLastError()); } return; } Yuriy Bykov 2024.01.24 19:06 #14939 错误很可能出在这里: if(Close > maHandle && Close > Open) 根据您的逻辑,maHandle 应该是价格,而这很可能是一个句柄,即一个整数 - 在所有加载的指标中该指标的序列号。请查看 MQL5 帮助,了解获取指标值的正确方法。 Sergey Izhutov 2024.01.25 06:03 #14940 Yuriy Bykov #:这里可能搞错了:根据您的逻辑,maHandle 应该是价格,而这很可能是一个句柄,即一个整数 - 在所有加载的指标中该指标的序列号。请在 MQL5 帮助中查看获取指标值的正确方法。 我晚上也是这么想的,我应该删除它。我还没有和指标成为朋友。我只依稀记得,在 4 中,我只写了 Close > MA,然后一切正常。我将尝试注释掉句柄,看看结果如何。 1...148714881489149014911492149314941495149614971498149915001501...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
下午好。
您能告诉我如何安排重新运行所获得的优化参数,但要在不同的时间段内进行。
我在 Excel 中记录了过去半年对一种货币对的优化参数。我选择了去年的时间段,并希望运行这些参数。我如何将它们放回测试器或优化器中。
检查哪些可以通过,哪些不能通过,将其记入 Excel。然后运行过去两年的数据。
选择要运行数据的时间段。然后在获得的参数选项卡上,右击所需的参数并选择单个测试。
谢谢。
如何在范围内完成所有操作,而不是戳每个参数?
您能帮我计算一下吗?
我需要止盈是止损的 3 倍。它似乎可以工作,但有些地方出错了))。机器人可以进行黄金和指数交易,但拒绝进行货币交易(尽管它的计算完全正确)。
首先,我将止损点设为蜡烛 1 的低点:
然后以点为单位计算从ASK 到止损点 的距离,并将此值分配给 pert点:
然后,我也以点为单位计算止损:
然后打开交易,将TR 添加到ASK :
在测试仪中,所有计算都是正确的,以 5 位数点为单位,止损点也在 Low1 上,止损点的大小以 5 位数点为单位也是正确的。但止盈有些问题,不是 507 点,而是 5070 点。
你好,谢尔盖。
计算止损时,您需要从价格距离到点数距离。然后乘以 3,就得到了同样以点为单位的止损距离。然后将点数加到卖出价上。
尽量不要除以一个点的大小,否则要记得再乘以它。
或者像这样
你好,谢尔盖
非常感谢!我真的被价格/项目搞糊涂了。我现在就试试)))
现在一切都能正确计算和设置,但仅限于美元兑日元、美元兑澳元和任何指数。但对于 USDCAD、EURUSD 等货币,猫头鹰无法交易,并发送错误信息 4756。我在帮助中查找了该值,但一无所获)。
像上一篇文章一样:提供为您开仓的代码。然后,也许你就能给出一些建议了。美元兑日元和美元兑加元之间不应该有任何本质区别,很可能是一些微不足道的错误。
按照上一个帖子的方法操作:
代码如下
错误很可能出在这里:
根据您的逻辑,maHandle 应该是价格,而这很可能是一个句柄,即一个整数 - 在所有加载的指标中该指标的序列号。请查看 MQL5 帮助,了解获取指标值的正确方法。
这里可能搞错了:
根据您的逻辑,maHandle 应该是价格,而这很可能是一个句柄,即一个整数 - 在所有加载的指标中该指标的序列号。请在 MQL5 帮助中查看获取指标值的正确方法。
我晚上也是这么想的,我应该删除它。我还没有和指标成为朋友。我只依稀记得,在 4 中,我只写了 Close > MA,然后一切正常。我将尝试注释掉句柄,看看结果如何。