为什么代码库中没有完整的EA? - 页 2

 

我对分享我的自定义指标 和EA有点担心,因为如果我这样做,每个人都开始使用它们,它们就不会再工作了......还有人同意吗?

我知道这听起来有点自私......但当我达到500万时,我将会分享;-)

 

并非如此。

外汇市场正是你想做市场上大多数玩家正在做的事情的地方。在很长一段时间里,我不明白这一点,想在没有必要的地方发明温水。结果,我需要一个朋友向我指出--为什么要逆风而行?

事实证明,如果你确定外汇市场上的每个人都会做你正在做的事情,你就会想做那件事,因为市场肯定会朝你的方向发展。(tl;dr如果世界上每个人都做多,你就想做多:)反之亦然)。

然而。我不认为OP邀请我们公开我们的工作指标和EA,我们(确实)已经投入了我们的时间和金钱来创建。他的意思是,文档、书籍和文章部分不够彻底,没有解释一个MQL4程序员 应该知道的所有事情。为了改善这一点,OP建议我们分享我们的基本代码片段--我们处理订单、断开连接、字符串操作、数字处理的方式....。基本的东西,我们每个人都会为自己编码。

在第一页,WHRoeders发布了他的基本文件。这很了不起。请看一下它。它基本上使我没有必要张贴或分享任何东西:)那里的东西比我们大多数人需要的都多。

 
mbirrell:

我对分享我的自定义指标和EA有点担心,因为如果我这样做,每个人都开始使用它们,它们就不会再工作了......还有人同意吗?

我知道这听起来有点自私......但当我达到500万时,我将会分享;-)


这就是为什么你要写出交易逻辑或提供平均系统。完整的EA并不是要给人们提供会赚钱的EA。有利可图的EA会突然变得无利可图,反之亦然。在为大众开发EA时,我通常会有很大的动力,而不是为自己。唯一能让我更有动力的心态是当我在编写EA时得到报酬。然而,除非我能够编写一个标准的EA,否则我不会轻易向人们收取编码费用。

当我试图为代码库贡献一些东西时,我遇到的问题是使程序足够通用。比如4位数与5位数的经纪人。不要假设我是他们唯一使用的EA等等。尽管我还没有在自己的EA中实施所有的标准,但我不能因为意识到了这些问题而善意地忽略了明显的问题。

 
好吧,这里有一段代码,对我来说非常好用。它显示移动平均线的平均真实范围--就像普通的ATR指标一样,它可以检测到突然的变化,也可以检测到趋势线 是否有趋势....。只要用这个编辑ATR代码中计算ATR的部分。 同时把这个放在AtrPeriod下面:externint MA_AtrPeriod=20
i=Bars-counted_bars-1;
   while(i>=0)
     {
      double high=iMA(NULL,0,MA_AtrPeriod,8,MODE_SMMA,High,i);
      double low =iMA(NULL,0,MA_AtrPeriod,8,MODE_SMMA,Low,i);
      if(i==Bars-1) TempBuffer[i]=high-low;
      else
        {
         double prevclose=iMA(NULL,0,MA_AtrPeriod,8,MODE_SMMA,Close,i);
         TempBuffer[i]=MathMax(high,prevclose)-MathMin(low,prevclose);
        }
      i--;
     }
 
forexCoder:

并非如此。

外汇市场正是你想做市场上大多数玩家正在做的事情的地方。在很长一段时间里,我不明白这一点,想在没有必要的地方发明温水。结果,我需要一个朋友向我指出--为什么要逆风而行?

事实证明,如果你确定外汇市场上的每个人都会做你正在做的事情,你就会想做那件事,因为市场肯定会朝你的方向发展。(tl;dr如果世界上每个人都做多,你就想做多:)反之亦然)。

然而。我不认为OP邀请我们公开我们的工作指标和EA,我们(确实)已经投入了我们的时间和金钱来创建。他的意思是,文档、书籍和文章部分不够彻底,没有解释一个MQL4程序员应该知道的所有事情。为了改善这一点,OP建议我们分享我们的基本代码片段--我们处理订单、断开连接、字符串操作、数字处理的方式....。基本的东西,我们每个人都会为自己编码。

在第一页,WHRoeders发布了他的基本文件。这很了不起。请看一下它。它基本上使我没有必要张贴或分享任何东西:)那里的东西比我们大多数人需要的都多。


有些人坚持认为,在零售外汇中,你是在一个封闭的市场中,只由那些在零售外汇中交易的人组成,每一个多头头寸都必须有一个对立的空头,所以如果每个人都以同样的方式进行交易,你的订单 就不会得到满足,因为没有人采取对立的头寸,或者更有可能的是,如果大多数人以同样的方式进行交易,你会得到大量的重新报价。

 

> 有些人坚持认为,在零售外汇中,你是在一个封闭的市场中,只有那些在零售外汇中交易的人组成。

这在 "交易台 "经纪人身上可能是真的,在那里经纪人形成了自己的 "内部市场",并且总是与零售业者对立。
然而,我不知道有哪个主流经纪人仍然是 "交易台"?

不,我们不会在这里指名道姓,所以我们不要开始讨论个别经纪商,只是要注意你的经纪商是否是 "交易台"!

-BB-

 
SDC:


有些人坚持认为,在零售外汇中,你是在一个封闭的市场中,只有那些在零售外汇中交易的人,每一个多头头寸都必须有一个对立的空头,所以如果每个人都以同样的方式交易,你的订单就不会得到满足,因为没有人采取对立的位置,或者更可能的是,如果大多数人以同样的方式交易,你会得到大量的重新报价。


我读懂了它。这就像外汇中的牛顿镇定法。

但这也意味着,如果所有的人都想走一条路,这个任务是不可能的,但对它的需求(所有这些人都想做多或做空)将创造出该商品的无限价格(做多)或零价格(做空)。无论哪种情况,都会造成市场崩溃,这是我们不希望看到的,但我把这个边缘的例子作为我理论的基础,即我总是想做大多数玩家(交易量,而不是人数)想做的事。

 
WHRoeder:
这里是我的,除去实际的交易逻辑。
嗨,威廉,希望你不要介意,我今天看了你的代码,有一个问题。

如果我没有理解错的话,你不仅对放置EA的图表(chart.at.risk),而且对放置在所有图表上的所有订单(equity.at.risk)跟踪风险资产(ModifyStops())?在计算股权时,你使用了一个叫做perLotPerPoint的变量,这个变量来自一个PointValuePerLot()函数,看这个函数,它只对当前的图表符号起作用。......所以我有点困惑,equity.at.risk 怎么可能是正确的?
 

接得好。显然,PointValuePerLot()对其他货币对来说是不对的,计算也不可能正确。

这个想法是为了避免在开立多笔交易(即网格交易)时追加保证金。计算结果用于LotSize()和AccountFreeMarginCheck()中。

这扩展到同一货币对/其他时间框架,然后扩展到其他可能的货币对。

传递符号修复了函数,变量不再是常数,所以必须在循环内。

 
太好了,谢谢你的确认。