请教各位大神,为什么我写个时间限制,在EA中运行实现不了,可以帮忙看一下是哪里有问题吗? 新评论 erli zhinian 2024.06.06 15:23 bool can_trade_by_time=true; int OnInit() { return(INIT_SUCCEEDED); } void OnTick() { Can_Trade(); } //Can_Trade 函数,用于进行交易相关的判断 void Can_Trade() { // 定义订单开盘时间变量 datetime PopenTime; // 如果成功选择到第 0 个订单(按位置选择,交易模式) if (OrderSelect(0, SELECT_BY_POS, MODE_TRADES) == true) { // 将订单的开盘时间赋值给 PopenTime PopenTime = OrderOpenTime(); } // 获取当前货币对在当前周期下第 10 根 K 线的开盘时间 datetime openTime = iOpen(Symbol(), PERIOD_CURRENT, 10); // 获取当前货币对在当前周期下第 0 根 K 线的收盘时间 datetime closeTime = iClose(Symbol(), PERIOD_CURRENT, 0); // 定义一个表示当前是否可以交易的布尔变量,并初始化为 false bool can_trade_by_time_now = false; // 如果第 10 根 K 线的开盘时间大于等于订单开盘时间且订单开盘时间大于等于第 0 根 K 线的收盘时间 if (openTime >= PopenTime && PopenTime >= closeTime) { // 将可以交易标志设置为 true can_trade_by_time_now = true; } // 将当前是否可以交易的结果赋值给 can_trade_by_time can_trade_by_time = can_trade_by_time_now; } Hung Wen Lin 2024.06.07 03:30 #1 if(OrderSelect(0, SELECT_BY_POS, MODE_TRADES)) if(OrderOpenTime()>iTime(_Symbol,PERIOD_CURRENT,10) && OrderOpenTime()<iTime(_Symbol,PERIOD_CURRENT,0)) can_trade_by_time_now = true; 簡單一點 試一下看看 erli zhinian 2024.06.07 13:46 #2 Hung Wen Lin #: 簡單一點 試一下看看 非常感謝你的解答,我剛剛測試了一下,在測試中還是不可以,達不到限制的效果,或許是我使用的方法不對 Hung Wen Lin 2024.06.07 15:16 #3 我不明白你的實際需求 根據你代碼的文意 開單時間介於10K線與0K線之間有作用編輯的 或許你的實際需求並不是這樣 另外我也沒有實際去測試 代碼也可能是錯的 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录