[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 386

 
Integer:

他不会明白的)))。我已经解决了这个问题,大约是这种风格。有一个了解任务本质的人是很好的。只有我仍然有一个队列,按照哪个顺序开始执行任务,又按照哪个顺序进一步循环执行。

那么,与其说exp exps本身是用一个索引来定义的,那么队列将由第一次运行的时间。
 
Zhunko:

MACD显示了随着时间推移以点为单位的速度。如果你说的变化速度是指加速度,你应该取MACD的导数。

得到了有趣的结果。我目前正在写一个关于这个主题的专家。


胡说八道!因此,你必须采取导数来知道加速度而不是速度,你必须采取macd来知道速度,但为什么不是某个东西的导数?
 
FAQ:

那么,与其说是句柄,不如说是用索引来定义扩展本身,那么队列将按第一次运行的时间。


是的,不使用手柄。
 
Zhunko:

MACD显示了随着时间推移以点为单位的速度。如果你说的变化速度是指加速度,你应该取MACD的导数。

相当有趣的结果出来了。我现在正在写这个主题的专家。


这是正确的做法吗?

for(int i=0; i<limit; i++) velocity[i]=(Close[i]-Close[i+1])/Point;
for(i=0; i<limit; i++) acceleration[i]=velocity[i]-velocity[i+1];

我不是很擅长,所以如果不正确,请原谅我。它显示了以每分钟点数为单位的速度和以每分钟点数为单位的加速度。还是我错了?

哦,我忘了解释。因为Δt=1,所以我没有除以1,我认为这很清楚。

 

这个人...

我想阿尔勒已经整理出了问题的答案,因为我还不能马上掌握解决方案的要领。但那是因为我是个初学者,我需要更多时间先学习理论,然后再尝试实践。但我会努力掌握它。

Zhunko:

谢尔盖,你有什么问题没有解决?如果这样。

Chiripaha:

也就是说,在回答Arles的 问题时,如果一个专家顾问注册了订单并 "打了个盹",此时此刻,另一个EA还没有越过分配资金的界限(让我们假设80%的存款--两个EA都会有这个规模),并将下订单(在市场上进入交易)。而当第1个恢复工作时(而且资金管理终端已经在前一天计算过了),它也能开出超过专家顾问设定的限额的交易?

如果这个系统(假设)被多个EA所乘,那么可能会有一个风险管理将在一个关键系统中?

我对这个多线程的理解正确吗?- 如果是这样,从财务角度来看,这肯定是一个烂摊子。但是,由于这种情况在小账户中发生的概率很低,所以这只是假设性的。而在较大的账户上,他们可能会自己写一些东西。但是,事实证明,这仍然是真的?

而我有一个问题--这是一个官方的立场,还是像我一样只是猜测和实验?

然后是第378页上的代码。又来了。

如果延迟是 "模拟工作",则插入对存款或其他资源的参考。

你可以把这个同步块变成一个函数,并把它放在一个库中。将有一个从任何专家顾问处获得存款的同步功能。


对了,我说的未解决的问题正是指这个问题清单。

你已经找到了一个解决方案--这非常好,我理解你的立场并接受它。但是!--正如我在有问题的帖子后的下一篇文章中写的那样--你提出了以下解决方案,当你可以创建一个程序时,这些问题将由该程序的作者(程序员)来解决。而这是好事。但这是下一个步骤。你在讨论中详细剖析了这一步骤,也非常有利于理解,对于像我这样没有经验的初学者更是如此。而事实上,你现在已经提供了如何解决这个问题的实际例子。- 很好。也就是说,你因此为这个问题提供了一个解决方案(间接证实了它的存在和解决的必要性)。但是!

毕竟,当Arles在问的时候,他并不是指可以以这种方式纠正的机器人,而是指当他或成千上万的其他交易者使用这些问题没有减少的EA时,而是为一个货币对的简单应用而设计的,他们没有考虑到在其他图表上会有很多其他的EA(甚至是这个相同的机器人)。在这种情况下,它可能会导致任务解决顺序的混乱(有巨大的信息流,例如在新闻发布 期间,世界各地都有大量的交易)。由于并行和多线程是一致性的反面,因此,这种一致性将被打破(没有特殊的解决方案)。但是!再次...临时性的解决方案无非是回归到一致性。由于队列,即这里已经提到的术语,不过是一个序列。

因此问题是--是否有必要创建一个多线程,然后把它放回队列中?- 但这是另一个话题。我也进一步考虑了原来的问题。你和你有一点不同--你已经在尝试提供解决方案的变体,而我只能达到问题的表述,因为这是一个初学者的局限。

我将复制你建议的解决方案,并尝试将其拆开,详细地掌握它。但我不确定我是否能迅速做到这一点。但到目前为止,坦率地说,我尽可能地简化解题的算法。而且,只有在没有其他解决方案的情况下才使用复杂的解决方案(包括非软件方法--毕竟,问题的解决可以超越计算机程序)。

====================================

也就是说,换句话说。- 如果没有你建议的解决方案,那么,当使用大量这样的EA时,可能会出现你问的关于风险管理的问题中描述的情况?

Chiripaha:

...如果一个EA计算了订单并有一段时间 "打盹",此刻另一个EA还没有越过分配资金的界限(例如,存款的80%--在两个EA中都是这个规模)并下了订单(在市场上进入交易)。而当第1位恢复工作时(而且资金管理终端已经在前一天计算过了),他/她也会开出超过专家顾问所设定的限额的交易?

如果这个系统(假设)被几个专家顾问所乘,那么可能会有一个风险管理将在一个关键系统中?

让我再解释一下。我不确定这是否是一个危急情况。所以我现在正在考虑这个问题。由于解决问题的速度很高,而且计算机中的解决方案可能会 "飞过 "计算机的宽比特率通道。- 但也许我错了,因为根据阿尔勒的说法--他每轮只得到2个订单。所以有一个问题。

 
gyfto:

哦,我忘记澄清了。因为Δt=1,所以我没有除以1,我认为这很清楚。
这个三角洲是否永远是一个? 或者它可以是可变的?如果它不是一个常量参数,最好把它(参数)放在公式中。
 
Integer:

这是一个原子访问单元,没有同步性。以这种方式只调用存款是没有意义的。调用任何一个存款参数函数本身就会是原子性的,不需要任何调整。如果你以原子方式进行,专家顾问的所有工作。这就是你解决问题的方式--你认为你已经做了一些事情,但事实上这只是一个幻觉。

以为你在一夜之间终于明白了我所说的重点......:-( 可悲的是,它并没有。

有两种方法可以对这项任务进行编程。一个棘手的,像你的,和一个简单的,像我的。如果你个人需要用你的线程来排队专家,那么在一个专家(线程)中做所有的事情会更容易,而不需要同步它们。

目前的任务是同步访问一个资源。我的代码已经足够了。同时,专家顾问独立地、平行地工作。

整数

胡说八道!所以你必须用导数来知道加速度而不是速度,你必须用麦克德来知道速度,但为什么不是某物的导数呢?
我不明白这个问题。
 
Zhunko:

以为你在一夜之间终于明白了我说的话的意思......:-( 可悲的是,它并没有。

有两种方法可以对这项任务进行编程。一个精致的,像你的,和一个简单的,像我的。如果你个人需要用你的线程来排队专家,那么在一个专家(线程)中做所有的事情会更容易,而不需要同步它们。

目前的任务是同步访问一个资源。我的代码已经足够了。同时,专家顾问独立地、平行地工作。

我不明白这个问题。


顺子,你是d-i-B*&%#o^i=d。你怎么能如此愚蠢?你甚至没有大脑来理解这个问题。跟你说也没用,你根本不明白。但你所采取的立场......就像你知道并理解一切,但你不知道也不理解任何东西,在一个nubo-lamer幼儿园的水平上进行编码。而你对一切的理解都在同一水平上。但你的自我...

顺子,他们甚至向你解释,而你在这种情况下也不明白,这就像大脑瘫痪。

 
Zhunko:

我不明白这个问题。


这说明了一切!
 
Chiripaha:
这个三角洲是否永远是一个? 或者它可以是可变的?如果它不是一个常量参数,最好把它(参数)放在公式中。


是的,它将永远是一个,因为
Time[i] - Time[i+1] = const = 1
这是另一回事,如果我们用tick而不是M1 TF工作,那么是的--从bin到bin的Δt将是可变的。
竺可桢

我不明白这个问题。

我想我明白了。MACD是两条平均线的delta,所以比率将是平均的,不是真实的。毕竟 ,人们可以把这项任务看作是将国际单位制引入技术分析的尝试,使之系统化并使之更容易理解。