我如何设置小于5点的TP? - 页 4 123456 新评论 NewinFx 2012.03.24 13:03 #31 这样做对吗?它将只关闭最后100分钟的订单。if(Bid>CloseforBuy) { for(int a=OrdersTotal()-1;a>=0;a--) if( OrderSelect(a,SELECT_BY_POS, MODE_TRADES) && OrderType()==OP_BUY && TimeCurrent()-OrderOpenTime() <= 100 && OrderSymbol()==Symbol() ) if( !OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 1000, White) ) Print("OrderClose failed, error: ", GetLastError()); } if(Ask<CloseforSell) { for(int b=OrdersTotal()-1;b>=0;b--) if( OrderSelect(b,SELECT_BY_POS, MODE_TRADES) && OrderType()==OP_SELL && TimeCurrent()-OrderOpenTime() <= 100 && OrderSymbol()==Symbol() ) if( !OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 1000, White) ) Print("OrderClose failed, error: ", GetLastError()); } Simon Gniadkowski 2012.03.24 15:45 #32 ats: 是正确的吗?它将只关闭最后100分钟的订单 几乎,TimeCurrent() 给出了一个数据时间,代表最后一次打钩的服务器时间 . . . 注意:数据时间 类型(整数,代表从1970年1月1日午夜开始经过的秒数 )。 所以你需要检查一下 . . TimeCurrent()-OrderOpenTime() <= 100分钟 .. . . . 或(100*60)秒 NewinFx 2012.03.25 07:48 #33 非常非常感谢您的帮助! 交易愉快! NewinFx 2012.04.18 15:21 #34 你好! 我试图修改EA,但它不能正常工作。你知道哪里出了问题吗? 谢谢你。 extern double TPforBuys=1; extern double TPforSells=1; extern double TimeForEA=120; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { double TPbuy = TPforBuys / 10000; double TPB=OrderOpenPrice()+ TPbuy; // Close Buys if(Bid>TPB) { for(int a=OrdersTotal()-1;a>=0;a--) if( OrderSelect(a,SELECT_BY_POS, MODE_TRADES) && OrderType()==OP_BUY && TimeCurrent()-OrderOpenTime() <= (TimeForEA * 60) && OrderSymbol()==Symbol() ) if( !OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 1000, White) ) Print("OrderClose failed, error: ", GetLastError()); } double TPsell = TPforSells / 10000; double TPS=OrderOpenPrice()- TPsell; // Close Sells if(Ask<TPS) { for(int b=OrdersTotal()-1;b>=0;b--) if( OrderSelect(b,SELECT_BY_POS, MODE_TRADES) && OrderType()==OP_SELL && TimeCurrent()-OrderOpenTime() <= (TimeForEA * 60) && OrderSymbol()==Symbol() ) if( !OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 1000, White) ) Print("OrderClose failed, error: ", GetLastError()); } return(0); } onewithzachy 2012.04.18 15:40 #35 试着改成这样,看看这是否 "正常工作"...... TimeCurrent()- OrderOpenTime() >= (TimeForEA * 60) // time to close NewinFx 2012.04.18 15:47 #36 那是正确的!EA只关闭不超过2小时的订单!问题是,它没有正确关闭所有1点后的订单!但我不知道哪里出了问题。但我不知道哪里出错了! 谢谢你 onewithzachy 2012.04.18 15:58 #37 ats: 那是正确的!EA只关闭不超过2小时的订单!问题是,它没有正确关闭所有1点后的订单!但我不知道哪里出了问题。但我不知道哪里出错了! 谢谢你 所以它是按照你的要求工作的,我说的对吗?因为我不知道你说的 "正常工作 "是什么意思,而且我很懒,所以没有看4页的回复和代码。 所以,我不知道我为什么要给你这个答案 :) Simon Gniadkowski 2012.04.18 16:09 #38 onewithzachy: 所以实际上,我不知道我到底为什么给你这个答案 :) 很高兴能在互联网上看到诚实的变化 :-) NewinFx 2012.04.18 17:38 #39 onewithzachy: 所以它是按照你的要求工作的,我说的对吗?因为我不知道你说的 "正常工作 "是什么意思,而且我已经很懒了,所以没有看4页的回复和代码。 所以实际上,我不知道我为什么给你这个答案 :) 没问题!谢谢你! Simon Gniadkowski 2012.04.18 17:51 #40 当你这样做的时候 . . . double TPB=OrderOpenPrice()+ TPbuy; ..你使用的是哪个订单的开盘价?OrderOpenPrice() 注意:"订单必须首先由 OrderSelect() 函数选择 。" 123456 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是正确的吗?它将只关闭最后100分钟的订单
几乎,TimeCurrent() 给出了一个数据时间,代表最后一次打钩的服务器时间 . . .
注意:数据时间 类型(整数,代表从1970年1月1日午夜开始经过的秒数 )。
所以你需要检查一下 . .
100分钟 .. . . . 或(100*60)秒
非常非常感谢您的帮助!
交易愉快!
你好!
我试图修改EA,但它不能正常工作。你知道哪里出了问题吗?
谢谢你。
试着改成这样,看看这是否 "正常工作"......
那是正确的!EA只关闭不超过2小时的订单!问题是,它没有正确关闭所有1点后的订单!但我不知道哪里出了问题。但我不知道哪里出错了!
谢谢你
那是正确的!EA只关闭不超过2小时的订单!问题是,它没有正确关闭所有1点后的订单!但我不知道哪里出了问题。但我不知道哪里出错了!
谢谢你
所以它是按照你的要求工作的,我说的对吗?因为我不知道你说的 "正常工作 "是什么意思,而且我很懒,所以没有看4页的回复和代码。
所以,我不知道我为什么要给你这个答案 :)
所以实际上,我不知道我到底为什么给你这个答案 :)
所以它是按照你的要求工作的,我说的对吗?因为我不知道你说的 "正常工作 "是什么意思,而且我已经很懒了,所以没有看4页的回复和代码。
所以实际上,我不知道我为什么给你这个答案 :)
当你这样做的时候 . . .
..你使用的是哪个订单的开盘价?OrderOpenPrice() 注意:"订单必须首先由 OrderSelect() 函数选择 。"