[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 577 1...570571572573574575576577578579580581582583584...631 新评论 [删除] 2012.12.06 08:31 #5761 lottamer:论坛成员你好。我决定为自己写一个EA。 我正在读一个关于mql4的教程,因为我做MT4交易。有趣的是,从本教程中下载的mqh文件在MetaEditor 5中(自动)打开(我也安装了Mt5)!这时,我就可以在MetaEditor 5中使用了。这是否意味着它们将不能与Mt4一起使用? 试着编译它,你会发现。 TarasBY 2012.12.06 08:45 #5762 rigonich: 这不是一个函数,而是一种比较非归一化数字的方法。它们不能相互比较,但用一个减去另一个的结果可以与零比较。而我的支票是这样的。 你说得很对,但你做的是 "你的方式"...而且它更有文采(毕竟)。//+------------------------------------------------------------------+ double ND(double nd){return(NormalizeDouble(nd,Digits));} //+------------------------------------------------------------------+ if (ND (price - OrderOpenPrice()) != 0.0 || ND (SL - OrderStopLoss()) != 0.0 || ND (TP - OrderTakeProfit()) != 0.0 || Expiration != OrderExpiration()) {OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE);} ...尽管我不同意所有的比较条件。你可以在这里 阅读有关条件。 elllfix 2012.12.06 08:57 #5763 rigonich: 试着编译一下,你就会发现。 是的...你只需要用4Editor打开这些mqh文件... [删除] 2012.12.06 09:03 #5764 Desead:需要使价格图表正常化,任何货币对都可以选择。我需要它作为一个指标。我试着用当前值除以前一个值--我得到的是1左右的某种震荡器。我想出了一个主意,我应该把图表从绝对值转换成相对值,即在这种情况下,我将能够看到报价的百分比变化。它已被实施。它已经更好了,而且实际上是我们所需要的。然而,我的最终愿望是在[0:1]范围内将报价规范化。顺便说一下,这是我需要的东西,但是是资产阶级的--我想要同样的俄语版本:http://people.revoledu.com/kardi/tutorial/Similarity/Normalization.html我已经厌倦了与之斗争。 我不能正常地删除所有待处理的订单,我只是不知道该怎么办。我甚至在循环中加入了FOR WHILE,被删除的订单仍然存在,但我仍然没有删除它们。我有许多待处理的订单要删除,即大约20个,可能是一些复杂的问题? 看来,删除订单的问题已经解决了。我使用一个单独的函数来计算 "必要的"(要删除的)订单的数量,即Total,调用这个函数和while的条件(Total>0),然后循环删除(int i=Total-1 ;i<=0l; i--),同样是f-种类的"必要的",当达到给定水平时退出while 的删除尝试。这样一来,所有的人都被删除了。 Alexey Oreshkin 2012.12.06 09:12 #5765 TarasBY:下面是一个删除订单的例子,包括待定的订单(我用这个订单 删除)。不是所有的挂单都出现在你的代码中(在选择过滤器中)。另一个错误的变体:检查挂单打开时收到的Magick(在你自己的代码中)。 谢谢你的答复。我不需要所有的挂单,只需要bylimit和selllimit,而且我只设置了它们,Magik在哪里都是一样的。如果我自己的努力不能解决这个问题,我必须研究你的脚本,否则我做不到,它就是不删除。我在想一件事。我只在一个地方设置了所有待处理机器人的删除--当我卸载机器人时,它将被放在deinit中。也许这部分有某种时间限制? 当我只删除几个订单时,一切都很好,但当我卸下整个网格时,那到底发生了什么,总是留下十几个订单,而且不能选择手动清理。 Alexey Oreshkin 2012.12.06 09:17 #5766 rigonich: 好哇,看来我已经解决了删除订单的问题。我在一个单独的函数中计算了 "必要的"(要删除的)订单的数量,调用这个函数,然后在while中设置一个条件(总数>0),然后循环删除for(int i=Total-1 ;i<=0l; i--),同样,计算"必要的 " 的函数,在达到指定水平时退出while 的删除尝试计数器。这样一来,一切都被删除了。 顺便说一句,这是一个很好的替代方案,让这段时间一直循环下去,直到世界末日,谢谢你,我现在就去试试。 elllfix 2012.12.06 09:19 #5767 你需要在一行中插入HAVE未平仓交易的条款(一个,没有任何主力),例如,平均线的交叉点。发现这个==============================================int start(){for(int i=0; i<OrdersTotal(); i++){如果((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true))PlaySound("alert.wav")。return(0);}}==============================================有一个开放的位置,但没有声音。你能告诉我什么是错的吗?或者说,写条件是多么容易。如果MA5穿过MA10,并且有一个开放的位置--关闭该位置。这似乎是需要无效的地方....。 [删除] 2012.12.06 09:19 #5768 lottamer: 是的...你只需要用4Editor打开这些mqh文件... 如果它们来自MQL4教程,它们将被4thEditor 打开。把它们放在includes文件夹里,或者把它们重命名为mq4,然后放在Expert文件夹里,如果是EA,就放在主文件夹里,或者分别放在scripts或 indicators文件夹里,然后打开 它们。 [删除] 2012.12.06 09:25 #5769 Desead: 顺便说一下,好的选择,让这个同时比赛它的周期到世界的尽头,直到它删除了订单,谢谢,我现在就试试。 在mt4中执行它需要2.5秒。 Alexey Oreshkin 2012.12.06 09:31 #5770 rigonich: 在mt 4中执行需要2.5秒。 该死的,这就是我的问题。 我想知道,如果我只需要在卸载机器人时删除整个网格,我可以如何绕过它......我在这里甚至想不出任何办法 :( 1...570571572573574575576577578579580581582583584...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
论坛成员你好。
我决定为自己写一个EA。 我正在读一个关于mql4的教程,因为我做MT4交易。有趣的是,从本教程中下载的mqh文件在MetaEditor 5中(自动)打开(我也安装了Mt5)!这时,我就可以在MetaEditor 5中使用了。这是否意味着它们将不能与Mt4一起使用?
试着编译它,你会发现。
这不是一个函数,而是一种比较非归一化数字的方法。它们不能相互比较,但用一个减去另一个的结果可以与零比较。
而我的支票是这样的。
你说得很对,但你做的是 "你的方式"...而且它更有文采(毕竟)。
...尽管我不同意所有的比较条件。你可以在这里 阅读有关条件。
试着编译一下,你就会发现。
是的...你只需要用4Editor打开这些mqh文件...
需要使价格图表正常化,任何货币对都可以选择。我需要它作为一个指标。我试着用当前值除以前一个值--我得到的是1左右的某种震荡器。我想出了一个主意,我应该把图表从绝对值转换成相对值,即在这种情况下,我将能够看到报价的百分比变化。它已被实施。它已经更好了,而且实际上是我们所需要的。然而,我的最终愿望是在[0:1]范围内将报价规范化。顺便说一下,这是我需要的东西,但是是资产阶级的--我想要同样的俄语版本:http://people.revoledu.com/kardi/tutorial/Similarity/Normalization.html
我已经厌倦了与之斗争。 我不能正常地删除所有待处理的订单,我只是不知道该怎么办。
我甚至在循环中加入了FOR WHILE,被删除的订单仍然存在,但我仍然没有删除它们。我有许多待处理的订单要删除,即大约20个,可能是一些复杂的问题?
看来,删除订单的问题已经解决了。我使用一个单独的函数来计算 "必要的"(要删除的)订单的数量,即Total,调用这个函数和while的条件(Total>0),然后循环删除(int i=Total-1 ;i<=0l; i--),同样是f-种类的"必要的",当达到给定水平时退出while 的删除尝试。这样一来,所有的人都被删除了。
下面是一个删除订单的例子,包括待定的订单(我用这个订单 删除)。
不是所有的挂单都出现在你的代码中(在选择过滤器中)。另一个错误的变体:检查挂单打开时收到的Magick(在你自己的代码中)。
谢谢你的答复。我不需要所有的挂单,只需要bylimit和selllimit,而且我只设置了它们,Magik在哪里都是一样的。如果我自己的努力不能解决这个问题,我必须研究你的脚本,否则我做不到,它就是不删除。
我在想一件事。我只在一个地方设置了所有待处理机器人的删除--当我卸载机器人时,它将被放在deinit中。也许这部分有某种时间限制? 当我只删除几个订单时,一切都很好,但当我卸下整个网格时,那到底发生了什么,总是留下十几个订单,而且不能选择手动清理。
好哇,看来我已经解决了删除订单的问题。我在一个单独的函数中计算了 "必要的"(要删除的)订单的数量,调用这个函数,然后在while中设置一个条件(总数>0),然后循环删除for(int i=Total-1 ;i<=0l; i--),同样,计算"必要的 " 的函数,在达到指定水平时退出while 的删除尝试计数器。这样一来,一切都被删除了。
你需要在一行中插入HAVE未平仓交易的条款(一个,没有任何主力),例如,平均线的交叉点。
发现这个
==============================================
int start()
{
for(int i=0; i<OrdersTotal(); i++)
{
如果((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true))
PlaySound("alert.wav")。
return(0);
}}
==============================================
有一个开放的位置,但没有声音。
你能告诉我什么是错的吗?
或者说,写条件是多么容易。
如果MA5穿过MA10,并且有一个开放的位置--关闭该位置。
这似乎是需要无效的地方....。
是的...你只需要用4Editor打开这些mqh文件...
如果它们来自MQL4教程,它们将被4thEditor 打开。把它们放在includes文件夹里,或者把它们重命名为mq4,然后放在Expert文件夹里,如果是EA,就放在主文件夹里,或者分别放在scripts或 indicators文件夹里,然后打开 它们。
顺便说一下,好的选择,让这个同时比赛它的周期到世界的尽头,直到它删除了订单,谢谢,我现在就试试。
在mt4中执行它需要2.5秒。
在mt 4中执行需要2.5秒。
该死的,这就是我的问题。 我想知道,如果我只需要在卸载机器人时删除整个网格,我可以如何绕过它......我在这里甚至想不出任何办法 :(