问吧! - 页 64 1...575859606162636465666768697071...182 新评论 William Austin 2007.06.17 01:13 #631 ryanklefas: 我认为normalizeDouble函数也会对你有用。 我也看到过使用MathFloor和MathCeiling函数来完成同样的事情的代码。 所以,你说的是,计算应该按照我在 "变量开始 "部分的编码方式进行,如下所示。 double LotSize = NormalizeDouble(Lot_Size_Ratio*((AccountBalance()/1000)), 3)。 那么也许我的问题出在其他地方,因为当我设置以下内容时。 extern bool LotSizeManager = True; 时,EA不执行任何交易。当我把它设置为假时,它将执行交易。我假设当这个值为真时,它不执行任何交易,因为计算有问题。 Michel 2007.06.17 06:01 #632 waaustin:double LotSize = NormalizeDouble(Lot_Size_Ratio*((AccountBalance()/1000)), 3); double LotSize = NormalizeDouble(Lot_Size_Ratio*((AccountBalance()/1000)), 1); // 0: fullllots, 1: minilots, 2: microlots, 3: never used William Austin 2007.06.17 15:34 #633 Michel: double LotSize = NormalizeDouble(Lot_Size_Ratio*((AccountBalance()/1000)), 1); // 0: fullllots, 1: minilots, 2: microlots, 3: never used 所以你的意思是,这取决于我想要的手数是什么精度。因此,如果我想要微手的精度,例如0.75手,那么我就会使用2的值。 Michel 2007.06.17 15:48 #634 waaustin: 所以你的意思是,这取决于我想要的手数的精度是多少。所以,如果我想要微手的精度,比如0.75手,那么我会使用2的值。 是的,你得到了它! 但要确定微点(2位小数)对你的经纪人和你的账户类型来说是可以的。 我不太了解IBFX如何与迷你账户合作,即迷你账户上的微点是否也被称为迷你点,并且只有1位小数。也许一些使用IBFX的人可以在这里回答? 然而,最好的办法是询问你的经纪人。 William Austin 2007.06.18 22:23 #635 Michel: 是的,你说对了!但要确定微点(2位小数)对你的经纪人和你的账户类型来说是可以的。 我不太了解IBFX是如何使用迷你账户的,即迷你账户上的微点是否也被称为迷你点,并且只有1位小数。也许有使用IBFX的人可以在这里回答? 然而,最好的办法是询问你的经纪人。 非常感谢。LotSizing代码似乎工作正常。然而,我似乎在代码的某个地方有另一个错误,我无法找出它。 我在多个货币对上加载了EA,它只在一个货币对上进行交易。LotSizing代码工作正常。但是,它没有在任何其他货币对 上进行任何交易。然而,当我设置以下值时。 extern bool LotSizeManager = False; EA就会在我所连接的每个货币对上进行交易。 William Austin 2007.06.19 13:35 #636 waaustin: 非常感谢。LotSizing代码似乎工作正常。然而,我似乎在代码的某个地方有另一个错误,我无法找出它。我在多个货币对上加载了EA,它只在一个货币对上进行交易。LotSizing代码工作正常。但是,它不会在任何其他货币对上进行交易。然而,当我设置以下值时。 extern bool LotSizeManager = False。 该EA为我所连接的每一个货币对进行交易。 不要紧。我知道问题出在哪里了!谢谢你的帮助。 proverbs 2007.06.20 07:56 #637 问题:在用户定义的时间,EA试图下一个挂单,但目前的价格已经接近,经纪人无法接受该订单。 问题是。我如何编写一个循环,每分钟检查1分钟的iOpen,直到它接受订单?只是不知道如何将每分钟的检查纳入其中,直到订单可以被输入。似乎目前的代码在几分钟后就忘记了它在寻找什么,因为一旦价格脱离了进入的方式,就不会发生什么。 我想部分内容如下。 double Open_Price_Every_Minute。 Open_Price_Every_Minute = iOpen(NULL,PERIOD_M1,0); Open_Price_Every_Minute = NormalizeDouble(Open_Price_Every_Minute, Digits)。 if (Allow_LimitOrder_for_Entry_A==false) { OrderSend(Symbol(), OP_BUYSTOP, Lots, LA, Slippage, LASL, LATP, "", Magic, 0, FireBrick); OrderSend(Symbol(), OP_SELLSTOP, Lots, SA, Slippage, SASL, SATP, "", Magic, 0, FireBrick); } 像往常一样,感谢您的帮助和时间。 詹姆斯 Ask! [存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. 多时间框架指标 ryanklefas 2007.06.20 08:33 #638 proverbs: 似乎目前的代码在几分钟后就忘记了它要找的东西,因为一旦价格脱离了进入的方式,就不会发生什么。 我不认为你会想要在EA中无限期地运行循环。 我以前从未尝试过,但我认为这不是一件好事。 如果你想让EA "记住 "它一直在做的事情,把你需要记住的任何数据存储为静态变量(在主函数 之外声明的变量)或MT4全局变量。 Kale 2007.06.20 10:13 #639 ryanklefas: 我不认为你会想在EA中无限期地运行循环。 我以前从未尝试过,但我认为这不是一件好事。 如果你想让EA "记住 "它一直在做的事情,把你需要记住的任何数据存储为静态变量(在主函数之外声明的变量)或MT4全局变量。 嘿! 把ea处理放在循环中是一个好方法,请看这个。 https://www.mql5.com/en/articles/1462 你只需要以正确的方式来做这件事 proverbs 2007.06.20 13:21 #640 卡伦佐。 谢谢你的文章。看来我将要学习的东西比我要求的要多。 1...575859606162636465666768697071...182 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我认为normalizeDouble函数也会对你有用。 我也看到过使用MathFloor和MathCeiling函数来完成同样的事情的代码。
所以,你说的是,计算应该按照我在 "变量开始 "部分的编码方式进行,如下所示。
double LotSize = NormalizeDouble(Lot_Size_Ratio*((AccountBalance()/1000)), 3)。
那么也许我的问题出在其他地方,因为当我设置以下内容时。
extern bool LotSizeManager = True;
时,EA不执行任何交易。当我把它设置为假时,它将执行交易。我假设当这个值为真时,它不执行任何交易,因为计算有问题。
double LotSize = NormalizeDouble(Lot_Size_Ratio*((AccountBalance()/1000)), 3);
double LotSize = NormalizeDouble(Lot_Size_Ratio*((AccountBalance()/1000)), 1); // 0: fullllots, 1: minilots, 2: microlots, 3: never used
double LotSize = NormalizeDouble(Lot_Size_Ratio*((AccountBalance()/1000)), 1); // 0: fullllots, 1: minilots, 2: microlots, 3: never used
所以你的意思是,这取决于我想要的手数是什么精度。因此,如果我想要微手的精度,例如0.75手,那么我就会使用2的值。
所以你的意思是,这取决于我想要的手数的精度是多少。所以,如果我想要微手的精度,比如0.75手,那么我会使用2的值。
是的,你得到了它!
但要确定微点(2位小数)对你的经纪人和你的账户类型来说是可以的。
我不太了解IBFX如何与迷你账户合作,即迷你账户上的微点是否也被称为迷你点,并且只有1位小数。也许一些使用IBFX的人可以在这里回答?
然而,最好的办法是询问你的经纪人。
是的,你说对了!
但要确定微点(2位小数)对你的经纪人和你的账户类型来说是可以的。
我不太了解IBFX是如何使用迷你账户的,即迷你账户上的微点是否也被称为迷你点,并且只有1位小数。也许有使用IBFX的人可以在这里回答?
然而,最好的办法是询问你的经纪人。非常感谢。LotSizing代码似乎工作正常。然而,我似乎在代码的某个地方有另一个错误,我无法找出它。
我在多个货币对上加载了EA,它只在一个货币对上进行交易。LotSizing代码工作正常。但是,它没有在任何其他货币对 上进行任何交易。然而,当我设置以下值时。
extern bool LotSizeManager = False;
EA就会在我所连接的每个货币对上进行交易。
非常感谢。LotSizing代码似乎工作正常。然而,我似乎在代码的某个地方有另一个错误,我无法找出它。
我在多个货币对上加载了EA,它只在一个货币对上进行交易。LotSizing代码工作正常。但是,它不会在任何其他货币对上进行交易。然而,当我设置以下值时。
extern bool LotSizeManager = False。
该EA为我所连接的每一个货币对进行交易。不要紧。我知道问题出在哪里了!谢谢你的帮助。
问题:在用户定义的时间,EA试图下一个挂单,但目前的价格已经接近,经纪人无法接受该订单。
问题是。我如何编写一个循环,每分钟检查1分钟的iOpen,直到它接受订单?只是不知道如何将每分钟的检查纳入其中,直到订单可以被输入。似乎目前的代码在几分钟后就忘记了它在寻找什么,因为一旦价格脱离了进入的方式,就不会发生什么。
我想部分内容如下。
double Open_Price_Every_Minute。
Open_Price_Every_Minute = iOpen(NULL,PERIOD_M1,0);
Open_Price_Every_Minute = NormalizeDouble(Open_Price_Every_Minute, Digits)。
if (Allow_LimitOrder_for_Entry_A==false)
{
OrderSend(Symbol(), OP_BUYSTOP, Lots, LA, Slippage, LASL, LATP, "", Magic, 0, FireBrick);
OrderSend(Symbol(), OP_SELLSTOP, Lots, SA, Slippage, SASL, SATP, "", Magic, 0, FireBrick);
}像往常一样,感谢您的帮助和时间。
詹姆斯
似乎目前的代码在几分钟后就忘记了它要找的东西,因为一旦价格脱离了进入的方式,就不会发生什么。
我不认为你会想要在EA中无限期地运行循环。 我以前从未尝试过,但我认为这不是一件好事。 如果你想让EA "记住 "它一直在做的事情,把你需要记住的任何数据存储为静态变量(在主函数 之外声明的变量)或MT4全局变量。
我不认为你会想在EA中无限期地运行循环。 我以前从未尝试过,但我认为这不是一件好事。 如果你想让EA "记住 "它一直在做的事情,把你需要记住的任何数据存储为静态变量(在主函数之外声明的变量)或MT4全局变量。
嘿!
把ea处理放在循环中是一个好方法,请看这个。
https://www.mql5.com/en/articles/1462
你只需要以正确的方式来做这件事
卡伦佐。
谢谢你的文章。看来我将要学习的东西比我要求的要多。