发现很难发送订单。 - 页 3 1234 新评论 Luciano Ola 2014.04.03 04:12 #21 好吧,看起来是CT贸易。 Luciano Ola 2014.04.03 04:18 #22 它不喜欢动态手数吗?当我使用固定手数的时候,它在ct交易中起作用。 Alain Verleyen 2014.04.03 05:38 #23 MetaNt: 它不喜欢动态手数吗?当我使用固定手数时,它在ct交易中起作用。CTrade 是OrderSend()的一个封装器。你写道,它在成交量à0.07甚至1的情况下不工作。你是如何定义的?批量=0.07? Luciano Ola 2014.04.03 14:36 #24 angevoyageur:CTrade是OrderSend()的一个封装器。你写道,它在成交量à0.07甚至1的情况下不工作。你是如何定义的?批量=0.07? 我不确定我写的Mqlrequest和Mqlresult是否正确,所以我用CTrade代替,我发现如果我使用固定的量,它就能工作,现在我发现我可以将固定的量乘以整数,但如果我试图用分数改变量,我就会得到错误,如无效的lotsize,修改的lot size的结果被打印出来,错误[无效的量]。 Luciano Ola 2014.04.03 15:01 #25 这是具有一定复杂性的小数,我将尝试归一化双数。 Luciano Ola 2014.04.03 15:03 #26 MetaNt: 这是有一定复杂性的小数,我将尝试归一化双数。 Normalize double为复杂的小数提供了一个修复方法,我将在我的动态批次上试试。 Luciano Ola 2014.04.03 15:03 #27 MetaNt: Normalize double为复杂的小数提供了一个修复方法,我将在我的动态批次上试试。固定的。看起来这是我在CT买卖之外的一些方程中的一个缩放因子。 这不是我在mql4中遇到的问题,所以我花了一些时间来定位它,如果mql4再次更新,我必须注意这个问题。对于其他有这个问题的人,在NormalizeDouble()函数 的数字部分使用2。 [删除] 2014.04.04 23:40 #28 你说007?你也许应该问问邦德先生;-) Pasi Hakamaki 2014.04.07 14:00 #29 我似乎在这里遇到了同样的问题。我已经确认手数符合SYMBOL_VOLUME_MIN、SYMBOL_VOLUME_MAX和SYMBOL_VOLUME_STEP 要求。 例如,我得到这样的结果。2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: instant sell 0.53 EURUSD at 1.36934 sl: 1.37434 tp: 1.35934 [无效量]在用这个符号和这些规格对EA进行回测时。这里是我用来发送订单的代码。int losses=1; int DecimalPoints=2; double Risk=0.03; double Inc=0.1; my_symbol=Symbol(); leverage=AccountInfoInteger(ACCOUNT_LEVERAGE); contract=SymbolInfoDouble(my_symbol,SYMBOL_TRADE_CONTRACT_SIZE); min_lot=SymbolInfoDouble(my_symbol,SYMBOL_VOLUME_MIN); max_lot=SymbolInfoDouble(my_symbol,SYMBOL_VOLUME_MAX); trade_size=equity*(Risk/100)*leverage; trade_size/=contract; trade_size+=losses*Inc; NormalizeDouble(trade_size,DecimalPoints); if(trade_size<min_lot) { trade_size=min_lot; } else if(trade_size>max_lot) { trade_size=max_lot; } trade.Sell(trade_size,my_symbol,price,0,price-tp,"Expert Sell");EDIT:当然,我可以用这个确切的手数手动下单交易。 Alain Verleyen 2014.04.07 16:05 #30 Candles:我似乎在这里遇到了同样的问题。我已经确认手数符合SYMBOL_VOLUME_MIN、SYMBOL_VOLUME_MAX和SYMBOL_VOLUME_STEP 要求。 例如,我得到这样的结果。2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: instant sell 0.53 EURUSD at 1.36934 sl: 1.37434 tp: 1.35934 [无效量]在用这个符号和这些规格对EA进行回测时。这里是我用来发送订单的代码。EDIT:当然,我可以用这个确切的手数手动下单交易。这一行是没有效果的。NormalizeDouble(trade_size,DecimalPoints);你必须将结果影响到一个变量,见NormalizeDouble 的文档。trade_size=NormalizeDouble(trade_size,DecimalPoints); 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
它不喜欢动态手数吗?当我使用固定手数时,它在ct交易中起作用。
CTrade 是OrderSend()的一个封装器。
你写道,它在成交量à0.07甚至1的情况下不工作。你是如何定义的?批量=0.07?
CTrade是OrderSend()的一个封装器。
你写道,它在成交量à0.07甚至1的情况下不工作。你是如何定义的?批量=0.07?
这是有一定复杂性的小数,我将尝试归一化双数。
Normalize double为复杂的小数提供了一个修复方法,我将在我的动态批次上试试。
固定的。
看起来这是我在CT买卖之外的一些方程中的一个缩放因子。 这不是我在mql4中遇到的问题,所以我花了一些时间来定位它,如果mql4再次更新,我必须注意这个问题。
对于其他有这个问题的人,在NormalizeDouble()函数 的数字部分使用2。
你说007?
你也许应该问问邦德先生;-)
我似乎在这里遇到了同样的问题。我已经确认手数符合SYMBOL_VOLUME_MIN、SYMBOL_VOLUME_MAX和SYMBOL_VOLUME_STEP 要求。
例如,我得到这样的结果。
2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: instant sell 0.53 EURUSD at 1.36934 sl: 1.37434 tp: 1.35934 [无效量]
在用这个符号和这些规格对EA进行回测时。
这里是我用来发送订单的代码。
EDIT:
当然,我可以用这个确切的手数手动下单交易。
我似乎在这里遇到了同样的问题。我已经确认手数符合SYMBOL_VOLUME_MIN、SYMBOL_VOLUME_MAX和SYMBOL_VOLUME_STEP 要求。
例如,我得到这样的结果。
2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: instant sell 0.53 EURUSD at 1.36934 sl: 1.37434 tp: 1.35934 [无效量]
在用这个符号和这些规格对EA进行回测时。
这里是我用来发送订单的代码。
EDIT:
当然,我可以用这个确切的手数手动下单交易。
这一行是没有效果的。
NormalizeDouble(trade_size,DecimalPoints);你必须将结果影响到一个变量,见NormalizeDouble 的文档。
trade_size=NormalizeDouble(trade_size,DecimalPoints);