[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 375 1...368369370371372373374375376377378379380381382...432 新评论 Viktar Dzemikhau 2013.06.01 10:37 #3741 Chiripaha:我不准备同意。- 因为从这样的立场出发,保持EA工作和计算资金和头寸都正确的逻辑就失去了。- 这就是一个。第二。- 如果我的EA正在睡觉,例如100毫秒,而另一个在同一时间开始工作,那么会发生什么,一旦这100毫秒过去,另一个将不得不停止工作......。并把它传回给中间的这个人,如此无限地进行下去......另一方面。我曾在EA中看到(并不罕见),当他们发送 "睡眠 "几分钟,并在每个执行块中多次发送。- 那么,如果所有其他的猫头鹰在这段时间都不工作,那也是有一定的问题。- 因此,这个问题是相当贴切的。我想了解这时的操作逻辑。但我没有在官方文件中看到详细的解释。但我已准备好同意。最初,当mql4出现的时候,没有人想过多币种,也没有人想过在一个终端上有成群的猫头鹰。所以有可能这是正常现象。Chiripaha: 但在两害之中,我会选择后者。在这种情况下,我就会把猫头鹰留下,我确信。如果你不这样做,那都是一样的:至少重新计算的正确性得到了保留,尽管它们的工作速度会减慢。使用几个信号更有意义,即对每个符号使用不同的信号。然后我们在数组中收集我们需要的信号,所有的东西都由一个EA进行交易。既然逻辑是一样的,为什么我们需要很多EA呢?Chiripaha: 这个问题并不像它看起来那样微不足道。- 事实是,我的实验表明,当 "允许EA交易 "的复选框被取消时,EA的工作并没有停止--所有的计算都是在每个tick上进行的。只是EA的交易不会被发送到服务器。但是,如果这些计算中充满了这些 "滑点"(不完全正确),那么如果有5-10个这样的EA,那么它们具体可以减缓当前正在交易的实际EA的执行。是的,一些程序员将控制权放在交易的权限上,在此基础上跳过猫头鹰的工作。但它没有更经常地进行。而如果代码是封闭的,我们根本无法了解该操作是否是制动的(以及到底是哪个猫头鹰)。- 现在我将在论坛搜索中探究这个话题。有些东西已经放慢了速度。 显然是的,这个"允许EA交易"的按钮只有在EA代码规定的情况下才会如期工作。 TarasBY 2013.06.01 10:55 #3742 Chiripaha:我不准备同意。- 因为从这样的立场出发,保持EA工作和计算资金和头寸都正确的逻辑就失去了。- 这是一个。第二。- 如果我的EA正在睡觉,例如100毫秒,而另一个在同一时间开始工作,那么会发生什么,一旦这100毫秒过去,另一个将不得不停止工作......。并把它传回给中间的这个人,如此无限地进行下去......另一方面。我曾在EA中看到(并不罕见),当他们发送 "睡眠 "几分钟,并在每个执行块中多次发送。- 那么,如果所有其他的猫头鹰在这段时间都不工作,那也是有一定的问题。- 因此,这个问题是相当贴切的。我想了解这时的操作逻辑。但我没有在官方文件中看到详细的解释。但在两害之中,我会选择后者。在这种情况下,我会直接留下我确定的猫头鹰。如果没有,那也一样:至少重新计算的正确性得到了保留,尽管他们的工作被放慢了。这个问题并不像它看起来那样微不足道。- 重点是,我的实验表明,如果不勾选 "允许EA交易 "的方框,那么EA的工作不会停止--所有的计算都是以同样的方式在每个tick上进行。只是EA的交易不会被发送到服务器。但是,如果这些计算中充满了这些 "滑点"(不完全正确),那么如果有5-10个这样的EA,那么它们具体可以减缓当前正在交易的实际EA的执行。是的,一些程序员将控制权放在交易的权限上,在此基础上跳过猫头鹰的工作。但它没有更经常地进行。而如果代码是封闭的,我们根本无法了解该操作是否是制动的(以及到底是哪个猫头鹰)。- 现在我将在论坛搜索中探究这个话题。有些东西已经放慢了速度。感谢阿尔勒 的问题,感谢他提醒我和更新我的信息。我没有足够的经验来理解关于这个问题的内容。我现在再做一次。 在不深入了解处理器代码处理的细节的情况下,让我们停留在常见的 "画面 "上:在Sleep() 期间,有一个暂停,以便进一步处理这个代码(所有其他的代码都在独立的并行线程中处理)。 Chiripaha 2013.06.01 11:07 #3743 TarasBY: 在不涉及处理器代码处理的细节的情况下,让我们在一个共同的 "图片 "上停下来:在Sleep()期间,这个代码的进一步处理会暂停(所有其他代码都在独立的并行线程中处理)。 好了,你去吧...而这是一个 "伏击"。如果我的理解正确的话。- 让我澄清一下...如果我没有理解错的话,伊戈尔,专家顾问根本不是按顺序处理的(就像我在实验中做的那样),而是平行处理的?而且,如果是这样的话,事实证明阿尔勒 是对的,如果每个信号都收到了合适的条件,就可以并行开出2笔交易? 这就是为什么它对我很重要--它将帮助我正确组织我的工作。当你不明白发生了什么以及如何发生的时候,你会犯一个大错误。 Mikhail Kozhemyako 2013.06.01 11:21 #3744 另外,一目了然,Sleep()在测试器中不起作用,甚至在文档中的某个地方也有写......EA的开始是在Start()函数中完成的,每一个tick的到来。如果你有一打EA,试着处理这些错误,它们应该会出现的。如果你向经纪公司做了很多请求,很可能会出现 "Flow is busy "这样的错误。关于复选框"允许EA进行交易"。是的,专家顾问工作,但只有交易被禁止,请看日志,它将说明一切。 alex 2013.06.01 11:48 #3745 你好,你能告诉我这个脚本是什么吗?//+------------------------------------------------------------------+ //| close.mq4 | //| Copyright © 2004, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2004, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property show_confirm //+------------------------------------------------------------------+ //| script "close first market order if it is first in the list" | //+------------------------------------------------------------------+ int start() { bool result; double price; int cmd,error; //---- if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) { cmd=OrderType(); //---- first order is buy or sell if(cmd==OP_BUY || cmd==OP_SELL) { while(true) { if(cmd==OP_BUY) price=Bid; else price=Ask; result=OrderClose(OrderTicket(),OrderLots(),price,3,CLR_NONE); if(result!=TRUE) { error=GetLastError(); Print("LastError = ",error); } else error=0; if(error==135) RefreshRates(); else break; } } } else Print( "Error when order select ", GetLastError()); //---- return(0); } //+------------------------------------------------------------------+ Vadim Zhunko 2013.06.01 11:50 #3746 alex12:你好,你能告诉我这个脚本是什么吗? 它说:"关闭第一个市场订单,如果它是列表中的第一个"。 Chiripaha 2013.06.01 11:53 #3747 alex12:嗨,你能告诉我这是什么样的剧本吗? 亚历克斯,这是它在这里说的。 script "close first market order if it is first in the list"一个脚本,如果第一个市场订单是列表中的第一个订单,则将其关闭。也就是说,按照我对代码逻辑的理解,第一个开仓的订单更有可能被关闭。例如,如果你有10个订单未完成,那么第1个订单将关闭。即首先被打开的那一个。 TarasBY 2013.06.01 12:07 #3748 Chiripaha:好了,你去吧...而这是一个 "伏击"。如果我的理解正确的话。- 让我把话说清楚...如果我没有理解错的话,伊戈尔,专家顾问不是按顺序处理的(就像我在实验中做的那样),而是平行处理的?如果是这样,那就意味着阿尔勒 是对的,如果每个信号都收到了正确的条件,那么两个交易就可以并行开仓? 为什么这对我很重要--这将有助于正确地组织工作。当你不明白发生了什么和如何发生的时候,你会犯很多错误。 。 谢尔盖,你从哪里得到 "所有的EA都是由终端按顺序处理的 "这样一个假设?- 在并行计算 的时代。;)我没有进行这样的实验(确定终端处理专家顾问代码的顺序)--我的答案是在逻辑层面。我只是简单地(不涉及终端操作的细节)在交易操作中安排(强制)连续处理智能交易系统。但最正确的答案是我自己的经验。诚然,在设置经验时,人们不应忘记正确考虑输入参数,以便正确处理获得的结果。:)P.S.我在某处读到(来自开发者),当前构建的MT4可以并行处理多达8个(如果我没记错的话)交易订单,尽管从 "我的观点 "来看,并不清楚什么是用户终端 - 它是由DC服务器("在电线的另一端")调节的。;) Dmitry Fedoseev 2013.06.01 12:18 #3749 Chiripaha: ...也就是说,按照我对代码逻辑的理解,第一个开仓的订单更有可能被关闭。例如,如果你有10个未结订单,那么1号订单将关闭。即,首先被打开的那一个。 是的,但前提是这第一个订单是市场订单。如果是挂单,就不会发生任何事情。 Chiripaha 2013.06.01 12:22 #3750 TarasBY:谢尔盖,你从哪里得到这样一个假设:"所有的EA都是由终端按顺序处理的"?- 在并行计算的时代。;)我没有做这样的实验(确定终端处理专家顾问代码的顺序)--我的答案是在逻辑层面上。我只是简单地(不涉及终端操作的细节)在交易操作中安排(强制)连续处理智能交易系统。但最正确的答案是我自己的经验。诚然,在设置经验时,人们不应忘记正确考虑输入参数,以便正确处理获得的结果。:)这就是问题的关键(对于实验参数的阶段性正确性)。这就是我问这些问题的原因,因为我对自己的能力没有把握,因此试图确定--如果这些结果出现分歧,也许我做错了什么。这更符合测试的意义--在这样的时候,一个看似写得很好的程序 会失败,你会意识到你必须去寻找某个地方。我是偶然得到这些 "试验品 "的。我也写过并行工作的程序--我现在放弃了这种方法,因为它没有提高效率(在其他项目中可能会实现)。结果是这样的,直到第一个程序不被处理--没有获得数据--第二个程序不会启动(或者更准确地说,会失败)。这个顺序取决于我把EA块放在哪个窗口(即以什么顺序)。- 因此,我们得出结论,窗口的顺序很重要,也就是说,专家顾问是按顺序处理的,而不是平行处理的。而这个顺序取决于终端列表中的窗口编号。这就是经验的本质。但是,同样,也许这是对我的结果的不正确解释。这就是为什么我现在坚持不懈地试图解决这个问题,而不仅仅是 "滑"。 1...368369370371372373374375376377378379380381382...432 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我不准备同意。- 因为从这样的立场出发,保持EA工作和计算资金和头寸都正确的逻辑就失去了。- 这就是一个。第二。- 如果我的EA正在睡觉,例如100毫秒,而另一个在同一时间开始工作,那么会发生什么,一旦这100毫秒过去,另一个将不得不停止工作......。并把它传回给中间的这个人,如此无限地进行下去......另一方面。我曾在EA中看到(并不罕见),当他们发送 "睡眠 "几分钟,并在每个执行块中多次发送。- 那么,如果所有其他的猫头鹰在这段时间都不工作,那也是有一定的问题。- 因此,这个问题是相当贴切的。我想了解这时的操作逻辑。但我没有在官方文件中看到详细的解释。
但我已准备好同意。最初,当mql4出现的时候,没有人想过多币种,也没有人想过在一个终端上有成群的猫头鹰。所以有可能这是正常现象。
但在两害之中,我会选择后者。在这种情况下,我就会把猫头鹰留下,我确信。如果你不这样做,那都是一样的:至少重新计算的正确性得到了保留,尽管它们的工作速度会减慢。
使用几个信号更有意义,即对每个符号使用不同的信号。然后我们在数组中收集我们需要的信号,所有的东西都由一个EA进行交易。既然逻辑是一样的,为什么我们需要很多EA呢?
这个问题并不像它看起来那样微不足道。- 事实是,我的实验表明,当 "允许EA交易 "的复选框被取消时,EA的工作并没有停止--所有的计算都是在每个tick上进行的。只是EA的交易不会被发送到服务器。但是,如果这些计算中充满了这些 "滑点"(不完全正确),那么如果有5-10个这样的EA,那么它们具体可以减缓当前正在交易的实际EA的执行。
是的,一些程序员将控制权放在交易的权限上,在此基础上跳过猫头鹰的工作。但它没有更经常地进行。而如果代码是封闭的,我们根本无法了解该操作是否是制动的(以及到底是哪个猫头鹰)。- 现在我将在论坛搜索中探究这个话题。有些东西已经放慢了速度。
我不准备同意。- 因为从这样的立场出发,保持EA工作和计算资金和头寸都正确的逻辑就失去了。- 这是一个。第二。- 如果我的EA正在睡觉,例如100毫秒,而另一个在同一时间开始工作,那么会发生什么,一旦这100毫秒过去,另一个将不得不停止工作......。并把它传回给中间的这个人,如此无限地进行下去......另一方面。我曾在EA中看到(并不罕见),当他们发送 "睡眠 "几分钟,并在每个执行块中多次发送。- 那么,如果所有其他的猫头鹰在这段时间都不工作,那也是有一定的问题。- 因此,这个问题是相当贴切的。我想了解这时的操作逻辑。但我没有在官方文件中看到详细的解释。
但在两害之中,我会选择后者。在这种情况下,我会直接留下我确定的猫头鹰。如果没有,那也一样:至少重新计算的正确性得到了保留,尽管他们的工作被放慢了。
这个问题并不像它看起来那样微不足道。- 重点是,我的实验表明,如果不勾选 "允许EA交易 "的方框,那么EA的工作不会停止--所有的计算都是以同样的方式在每个tick上进行。只是EA的交易不会被发送到服务器。但是,如果这些计算中充满了这些 "滑点"(不完全正确),那么如果有5-10个这样的EA,那么它们具体可以减缓当前正在交易的实际EA的执行。
是的,一些程序员将控制权放在交易的权限上,在此基础上跳过猫头鹰的工作。但它没有更经常地进行。而如果代码是封闭的,我们根本无法了解该操作是否是制动的(以及到底是哪个猫头鹰)。- 现在我将在论坛搜索中探究这个话题。有些东西已经放慢了速度。
感谢阿尔勒 的问题,感谢他提醒我和更新我的信息。我没有足够的经验来理解关于这个问题的内容。我现在再做一次。
在不涉及处理器代码处理的细节的情况下,让我们在一个共同的 "图片 "上停下来:在Sleep()期间,这个代码的进一步处理会暂停(所有其他代码都在独立的并行线程中处理)。
好了,你去吧...而这是一个 "伏击"。如果我的理解正确的话。- 让我澄清一下...
如果我没有理解错的话,伊戈尔,专家顾问根本不是按顺序处理的(就像我在实验中做的那样),而是平行处理的?而且,如果是这样的话,事实证明阿尔勒 是对的,如果每个信号都收到了合适的条件,就可以并行开出2笔交易?
这就是为什么它对我很重要--它将帮助我正确组织我的工作。当你不明白发生了什么以及如何发生的时候,你会犯一个大错误。另外,一目了然,Sleep()在测试器中不起作用,甚至在文档中的某个地方也有写......
EA的开始是在Start()函数中完成的,每一个tick的到来。如果你有一打EA,试着处理这些错误,它们应该会出现的。如果你向经纪公司做了很多请求,很可能会出现 "Flow is busy "这样的错误。
关于复选框"允许EA进行交易"。是的,专家顾问工作,但只有交易被禁止,请看日志,它将说明一切。
你好,你能告诉我这个脚本是什么吗?
你好,你能告诉我这个脚本是什么吗?
嗨,你能告诉我这是什么样的剧本吗?
亚历克斯,这是它在这里说的。
script "close first market order if it is first in the list"
一个脚本,如果第一个市场订单是列表中的第一个订单,则将其关闭。
也就是说,按照我对代码逻辑的理解,第一个开仓的订单更有可能被关闭。例如,如果你有10个订单未完成,那么第1个订单将关闭。即首先被打开的那一个。
好了,你去吧...而这是一个 "伏击"。如果我的理解正确的话。- 让我把话说清楚...
如果我没有理解错的话,伊戈尔,专家顾问不是按顺序处理的(就像我在实验中做的那样),而是平行处理的?如果是这样,那就意味着阿尔勒 是对的,如果每个信号都收到了正确的条件,那么两个交易就可以并行开仓?
为什么这对我很重要--这将有助于正确地组织工作。当你不明白发生了什么和如何发生的时候,你会犯很多错误。。
谢尔盖,你从哪里得到 "所有的EA都是由终端按顺序处理的 "这样一个假设?- 在并行计算 的时代。;)
我没有进行这样的实验(确定终端处理专家顾问代码的顺序)--我的答案是在逻辑层面。我只是简单地(不涉及终端操作的细节)在交易操作中安排(强制)连续处理智能交易系统。但最正确的答案是我自己的经验。诚然,在设置经验时,人们不应忘记正确考虑输入参数,以便正确处理获得的结果。:)
P.S.我在某处读到(来自开发者),当前构建的MT4可以并行处理多达8个(如果我没记错的话)交易订单,尽管从 "我的观点 "来看,并不清楚什么是用户终端 - 它是由DC服务器("在电线的另一端")调节的。;)
...
也就是说,按照我对代码逻辑的理解,第一个开仓的订单更有可能被关闭。例如,如果你有10个未结订单,那么1号订单将关闭。即,首先被打开的那一个。
是的,但前提是这第一个订单是市场订单。如果是挂单,就不会发生任何事情。
谢尔盖,你从哪里得到这样一个假设:"所有的EA都是由终端按顺序处理的"?- 在并行计算的时代。;)
我没有做这样的实验(确定终端处理专家顾问代码的顺序)--我的答案是在逻辑层面上。我只是简单地(不涉及终端操作的细节)在交易操作中安排(强制)连续处理智能交易系统。但最正确的答案是我自己的经验。诚然,在设置经验时,人们不应忘记正确考虑输入参数,以便正确处理获得的结果。:)
这就是问题的关键(对于实验参数的阶段性正确性)。这就是我问这些问题的原因,因为我对自己的能力没有把握,因此试图确定--如果这些结果出现分歧,也许我做错了什么。这更符合测试的意义--在这样的时候,一个看似写得很好的程序 会失败,你会意识到你必须去寻找某个地方。
我是偶然得到这些 "试验品 "的。我也写过并行工作的程序--我现在放弃了这种方法,因为它没有提高效率(在其他项目中可能会实现)。结果是这样的,直到第一个程序不被处理--没有获得数据--第二个程序不会启动(或者更准确地说,会失败)。这个顺序取决于我把EA块放在哪个窗口(即以什么顺序)。- 因此,我们得出结论,窗口的顺序很重要,也就是说,专家顾问是按顺序处理的,而不是平行处理的。而这个顺序取决于终端列表中的窗口编号。
这就是经验的本质。
但是,同样,也许这是对我的结果的不正确解释。这就是为什么我现在坚持不懈地试图解决这个问题,而不仅仅是 "滑"。