EA: MarketPredictor - 页 2 12 新评论 Mustafa Seyyid Sahin 2024.12.21 19:13 #11 Ryan L Johnson #:根据我的阅读,所有形式的即时执行指令都要求设置 type_filling 字段。交易请求结构 - 数据结构 - 常量、枚举和结构 - MQL5 参考 - MetaTrader 5 算法/自动交易语言参考订单属性 - 交易常量 - 常量、枚举和结构 - MQL5 参考资料 - MetaTrader 5 算法/自动交易语言参考资料 感谢您的提示,代码已经进行了 5 天,我已经解决了不设置任何交易的问题,我只是想做一些小的更新:) Conor Mcnamara 2024.12.28 23:21 #12 您需要重新迭代 // 根据波动率(ATR)调整阿尔法值 double atr = iATR(_Symbol, PERIOD_CURRENT, period); // 计算 ATR if(atr > 0.0) alpha = atr * 0.1; // 设置阿尔法值与波动率成正比 else alpha = inputAlpha; // 如果 ATR 不可用,则回退到输入值 此代码无法正确计算 ATR https://www.mql5.com/zh/docs/indicators/iatr 返回值 返回指定技术指标的句柄 返回代码句柄,不返回 ATR 值 Documentation on MQL5: Technical Indicators / iATR www.mql5.com The function returns the handle of the Average True Range indicator. It has only one buffer. Parameters symbol [in] The symbol name of the security... Sergey Panin 2025.08.30 07:50 #13 1. 错误修正: - 在 FFT 中:如果数组大小不是 2 阶,对偶数和奇数数组的递归 FFT 调用可能导致无限递归。 我们必须确保数组的大小是二阶。目前的代码没有检查这一点。 - 在 CalculateFractalComponentFFT: 函数中,我们使用了 FFT,但没有检查 N 是否为二阶。 此外,在 FFT 之后,我们只使用了前 N/2 个元素,这是正确的,但 FFT 代码在组合时的索引有误。 2.改进之处: - 在 ExecuteTrade 函数中:使用PositionSelect(_Symbol) 检查未平仓头寸并 不 完全正确, ,因为如果某个符号上有任何头寸,该函数返回 true,但并不一定返回当前未平仓头寸。 最好是循环查看所有仓位,并检查魔法编号和符号。 - 此外,在 ExecuteTrade 中,我们不会检查是否已经开仓,因此我们可以开多个仓位。 我们需要将开仓限制在一个仓位(或使用神奇数字来识别仓位)。 - 在 OptimiseParameters: 函数中,可以用内置的 iMA 函数代替移动平均值计算。 - 在 SimulatePrice 函数中:使用 MathRand() 可能不是蒙特卡罗的最佳选择,最好使用正态分布 12 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
根据我的阅读,所有形式的即时执行指令都要求设置 type_filling 字段。
交易请求结构 - 数据结构 - 常量、枚举和结构 - MQL5 参考 - MetaTrader 5 算法/自动交易语言参考
订单属性 - 交易常量 - 常量、枚举和结构 - MQL5 参考资料 - MetaTrader 5 算法/自动交易语言参考资料
感谢您的提示,代码已经进行了 5 天,我已经解决了不设置任何交易的问题,我只是想做一些小的更新:)
您需要重新迭代
此代码无法正确计算 ATR
https://www.mql5.com/zh/docs/indicators/iatr
返回值
返回指定技术指标的句柄
返回代码句柄,不返回 ATR 值
2.改进之处: - 在 ExecuteTrade 函数中:使用PositionSelect(_Symbol) 检查未平仓头寸并 不 完全正确, ,因为如果某个符号上有任何头寸,该函数返回 true,但并不一定返回当前未平仓头寸。 最好是循环查看所有仓位,并检查魔法编号和符号。 - 此外,在 ExecuteTrade 中,我们不会检查是否已经开仓,因此我们可以开多个仓位。 我们需要将开仓限制在一个仓位(或使用神奇数字来识别仓位)。 - 在 OptimiseParameters: 函数中,可以用内置的 iMA 函数代替移动平均值计算。 - 在 SimulatePrice 函数中:使用 MathRand() 可能不是蒙特卡罗的最佳选择,最好使用正态分布