[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 40 1...333435363738394041424344454647...537 新评论 BBC 2011.01.30 15:29 #391 Noterday: 我在我的EA中插入了一个新的块来计算要开仓的手数。该想法如下。 1.如果是卖出头寸,止损设置为当天的最高点,如果是买入头寸,止损设置为当天的最低点。 2.当订单开仓的条件被触发时,这个用于计算手数的块开始被执行。计算出与当天最高点/最低点的距离,然后我从0.1开始循环查看手数,找到所需的手数(当止损被触发时为5%)。 但这样的句子出现在我的日记中。 2011.01.30 16:59:47 TestGenerator: 未匹配的数据错误(2011.01.13 14:45时超过了音量限制1107) 只要我关掉这个区块,一切都会好起来。我哪里错了?你能告诉我吗? 下面是代码本身。 测试员的信息不太可能与你的代码有关。 再三尝试,重新计算报价档案中的所有时间框架。 消息说,在14:45达到1107的交易量,这完全不可能,因为交易一直持续到24:00。 然而,这种误差是相当可忽略的。 Роман 2011.01.30 15:30 #392 Saltan:当试图编译一个include文件(*.mqh)时,出现错误'\end_of_program' - 没有定义函数。出了什么问题,如何解决?Extern double Lots = 0.0; extern int Percent = 0; extern int StopLoss = 100; extern int TakeProfit = 40; extern int TrailngStop = 100; int Level_New; int Level_Old; 它发生了,而且是正常的。例如,在我的Variables.mqh中--专家的外部和全局变量 被指定......当编译时,它写着'\end_of_program'--没有定义函数,类似于程序中没有结束,没有定义函数,但同时,在编译专家本身时,一切正常--0错误,0警告。(*.mqh) - 不要单独编译,在编译Expert Advisor本身时,编译器会把它所有的嵌套放在一起,它将决定是否有错误,没有错误等。:-))) 所以一切都很正常。尝试自行编译... P.S. 在编译其他嵌套文件时,编译器可能会写出某些全局变量未被定义...当然,如果你把它放在一个完全不同的内联中,它就不必被定义。请注意嵌套的顺序......。如果一个变量在一个inlude中定义并在另一个inlude中使用,第一个inlude必须放在第二个inlude之前,否则在编译过程中会出现错误--一些变量没有被定义,一般来说,所有的全局变量都在外层inlude中定义。或者,它们可以被定义在任何其他的,如果只有这一个使用这些变量。不知何故...它相当模糊,但应该是可以理解的。试试吧。 Alexander Mostovnek 2011.01.30 15:34 #393 DhP: 测试员的信息不太可能与你的代码有关。 再三尝试,重新计算报价档案中的所有时间框架。 消息说,交易量在14:45达到1107,这完全不可能,因为交易一直持续到24:00。 然而,这个误差是相当可忽略的。 好吧,当这个块被注释掉后,在测试器中一切正常。所以错误就在这块... Victor Nikolaev 2011.01.30 15:37 #394 100yan: 没问题...但你如何确定代码中TF的当前值? Period() 会有帮助 BBC 2011.01.30 15:38 #395 Sergey_Rogozin: 我从四面八方看了看STUDY书的封面,还是不明白什么......) 我在任何地方都看到这样的文字。 如果我想获得Price = OrderOpenPrice()以进一步处理和设置止损,下面的写法是否公平? 这对我来说是可行的,但这能接受吗? 你这句话和第一句话一样有效。 这样你就可以得到关于未结订单的任何信息。 但在打开确认时只需一次。 见https://docs.mql4.com/ru/trading/OrderSend BBC 2011.01.30 16:16 #396 Noterday: 好吧,当这个块被注释掉后,在测试器中一切正常。所以错误就在这块... double DistanceToHighDay = MathAbs(HighDay-Ask)*10000; double DistanceToLowDay = MathAbs(Bid-LowDay)*10000; 这很可能是由于你对当天数据的处理,与分钟的数据量不一致。 而测试者会警告你。 Alexander Mostovnek 2011.01.30 16:38 #397 HighDay和LowDay变量不仅在这个区块中使用,而且在程序的其他地方也使用,所以我认为它们与此无关。你认为该区块的算法是否正确? Alexander Mostovnek 2011.01.30 17:24 #398 有人能做得更好吗? 1.在当天的高点上放置一个卖出位置的止损。 2.然后我们计算从当前价格 到当天最高价的距离,以点为单位。 3.计算这个距离在0.1手的情况下将是多少美元,并计算它将是多少百分比的存款。如果它将小于5%,那么计算0.2手,以此类推,直到它超过5%。 然后这将是你需要的地段大小。 我的代码由于某种原因不能工作,....,尽管一切似乎都写得很正确。 Vigan 2011.01.30 17:33 #399 谁知道呢? 我如何以编程方式引用布林线,说--应用于 "前一个指标的数据"?我应该在applied_price字段中输入什么?谢谢 david2 2011.01.30 17:35 #400 大家好。问题:我怎样才能让CheckEvents发挥作用?事件文件(来自Komposter)在include目录下。在EventsExpert.mq4中有一个例子。 CheckEvents( MagicNumber ); if ( eventBuyClosed_SL > 0 ) Alert( Symbol(), ": Buy-позиция закрыта по СтопЛоссу!" ); 但我不需要阿利特。我需要在市场订单以止损价收盘时删除挂单。 CheckEvents( Magic==0 ); if (eventBuyClosed_SL > 0) ??????????? DELETE("Buy Stop"); 我应该用什么来代替 "警报"?如果这个功能适合目的。 1...333435363738394041424344454647...537 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我在我的EA中插入了一个新的块来计算要开仓的手数。该想法如下。
1.如果是卖出头寸,止损设置为当天的最高点,如果是买入头寸,止损设置为当天的最低点。
2.当订单开仓的条件被触发时,这个用于计算手数的块开始被执行。计算出与当天最高点/最低点的距离,然后我从0.1开始循环查看手数,找到所需的手数(当止损被触发时为5%)。
但这样的句子出现在我的日记中。
2011.01.30 16:59:47 TestGenerator: 未匹配的数据错误(2011.01.13 14:45时超过了音量限制1107)
只要我关掉这个区块,一切都会好起来。我哪里错了?你能告诉我吗?
下面是代码本身。
测试员的信息不太可能与你的代码有关。
再三尝试,重新计算报价档案中的所有时间框架。
消息说,在14:45达到1107的交易量,这完全不可能,因为交易一直持续到24:00。
然而,这种误差是相当可忽略的。
当试图编译一个include文件(*.mqh)时,出现错误'\end_of_program' - 没有定义函数。出了什么问题,如何解决?
Extern double Lots = 0.0;
extern int Percent = 0;
extern int StopLoss = 100;
extern int TakeProfit = 40;
extern int TrailngStop = 100;
int Level_New;
int Level_Old;
它发生了,而且是正常的。例如,在我的Variables.mqh中--专家的外部和全局变量 被指定......当编译时,它写着'\end_of_program'--没有定义函数,类似于程序中没有结束,没有定义函数,但同时,在编译专家本身时,一切正常--0错误,0警告。(*.mqh) - 不要单独编译,在编译Expert Advisor本身时,编译器会把它所有的嵌套放在一起,它将决定是否有错误,没有错误等。:-))) 所以一切都很正常。尝试自行编译...
P.S. 在编译其他嵌套文件时,编译器可能会写出某些全局变量未被定义...当然,如果你把它放在一个完全不同的内联中,它就不必被定义。请注意嵌套的顺序......。如果一个变量在一个inlude中定义并在另一个inlude中使用,第一个inlude必须放在第二个inlude之前,否则在编译过程中会出现错误--一些变量没有被定义,一般来说,所有的全局变量都在外层inlude中定义。或者,它们可以被定义在任何其他的,如果只有这一个使用这些变量。不知何故...它相当模糊,但应该是可以理解的。试试吧。
测试员的信息不太可能与你的代码有关。
再三尝试,重新计算报价档案中的所有时间框架。
消息说,交易量在14:45达到1107,这完全不可能,因为交易一直持续到24:00。
然而,这个误差是相当可忽略的。
没问题...但你如何确定代码中TF的当前值?
Period() 会有帮助
我从四面八方看了看STUDY书的封面,还是不明白什么......)
我在任何地方都看到这样的文字。
如果我想获得Price = OrderOpenPrice()以进一步处理和设置止损,下面的写法是否公平?
这对我来说是可行的,但这能接受吗?
你这句话和第一句话一样有效。
这样你就可以得到关于未结订单的任何信息。
但在打开确认时只需一次。
见https://docs.mql4.com/ru/trading/OrderSend
好吧,当这个块被注释掉后,在测试器中一切正常。所以错误就在这块...
这很可能是由于你对当天数据的处理,与分钟的数据量不一致。
而测试者会警告你。有人能做得更好吗?
1.在当天的高点上放置一个卖出位置的止损。
2.然后我们计算从当前价格 到当天最高价的距离,以点为单位。
3.计算这个距离在0.1手的情况下将是多少美元,并计算它将是多少百分比的存款。如果它将小于5%,那么计算0.2手,以此类推,直到它超过5%。
然后这将是你需要的地段大小。
我的代码由于某种原因不能工作,....,尽管一切似乎都写得很正确。
谁知道呢?
我如何以编程方式引用布林线,说--应用于 "前一个指标的数据"?我应该在applied_price字段中输入什么?谢谢
大家好。问题:我怎样才能让CheckEvents发挥作用?事件文件(来自Komposter)在include目录下。在EventsExpert.mq4中有一个例子。
但我不需要阿利特。我需要在市场订单以止损价收盘时删除挂单。
我应该用什么来代替 "警报"?如果这个功能适合目的。