问吧! - 页 64

 
ryanklefas:
我认为normalizeDouble函数也会对你有用。 我也看到过使用MathFloor和MathCeiling函数来完成同样的事情的代码。

所以,你说的是,计算应该按照我在 "变量开始 "部分的编码方式进行,如下所示。

double LotSize = NormalizeDouble(Lot_Size_Ratio*((AccountBalance()/1000)), 3)。

那么也许我的问题出在其他地方,因为当我设置以下内容时。

extern bool LotSizeManager = True;

时,EA不执行任何交易。当我把它设置为假时,它将执行交易。我假设当这个值为真时,它不执行任何交易,因为计算有问题。

 
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

 
Michel:
double LotSize = NormalizeDouble(Lot_Size_Ratio*((AccountBalance()/1000)), 1); // 0: fullllots, 1: minilots, 2: microlots, 3: never used

所以你的意思是,这取决于我想要的手数是什么精度。因此,如果我想要微手的精度,例如0.75手,那么我就会使用2的值。

 
waaustin:
所以你的意思是,这取决于我想要的手数的精度是多少。所以,如果我想要微手的精度,比如0.75手,那么我会使用2的值。

是的,你得到了它!

但要确定微点(2位小数)对你的经纪人和你的账户类型来说是可以的。

我不太了解IBFX如何与迷你账户合作,即迷你账户上的微点是否也被称为迷你点,并且只有1位小数。也许一些使用IBFX的人可以在这里回答?

然而,最好的办法是询问你的经纪人。

 
Michel:
是的,你说对了!

但要确定微点(2位小数)对你的经纪人和你的账户类型来说是可以的。

我不太了解IBFX是如何使用迷你账户的,即迷你账户上的微点是否也被称为迷你点,并且只有1位小数。也许有使用IBFX的人可以在这里回答?

然而,最好的办法是询问你的经纪人。

非常感谢。LotSizing代码似乎工作正常。然而,我似乎在代码的某个地方有另一个错误,我无法找出它。

我在多个货币对上加载了EA,它只在一个货币对上进行交易。LotSizing代码工作正常。但是,它没有在任何其他货币对 上进行任何交易。然而,当我设置以下值时。

extern bool LotSizeManager = False;

EA就会在我所连接的每个货币对上进行交易。

 
waaustin:
非常感谢。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);

}

像往常一样,感谢您的帮助和时间。

詹姆斯

 
proverbs:
似乎目前的代码在几分钟后就忘记了它要找的东西,因为一旦价格脱离了进入的方式,就不会发生什么。

我不认为你会想要在EA中无限期地运行循环。 我以前从未尝试过,但我认为这不是一件好事。 如果你想让EA "记住 "它一直在做的事情,把你需要记住的任何数据存储为静态变量(在主函数 之外声明的变量)或MT4全局变量。

 
ryanklefas:
我不认为你会想在EA中无限期地运行循环。 我以前从未尝试过,但我认为这不是一件好事。 如果你想让EA "记住 "它一直在做的事情,把你需要记住的任何数据存储为静态变量(在主函数之外声明的变量)或MT4全局变量。

嘿!

把ea处理放在循环中是一个好方法,请看这个。

https://www.mql5.com/en/articles/1462

你只需要以正确的方式来做这件事

 

卡伦佐。

谢谢你的文章。看来我将要学习的东西比我要求的要多。

原因: