2007年交易锦标赛! - 页 10

 
rsi:
你将如何进行多币种EA的预测试?

可以在EA中加入测试的可能性,例如,我是这样做的。

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int PeriodCounter=2,SymbolCounter=1,trendOnTF;
  string ComString;
  int tf;
//----
   if (IsTesting())
      {
      Print("Прошли проверку на IsTesting");
      for (int indexCount=TestingIndexPeriod;indexCount<=6;indexCount++)
         {
         if (isNewBar(TestingIndexSymbol,indexCount)) 
            {
            Print("Вызовем трейлинг");
            if (OrdersTotal()>0) CheckOrdersForTrailing();            
            trendOnTF=TrendByWPR(TestingIndexSymbol,indexCount);
            TrendOnSymbol[TestingIndexSymbol,indexCount]=trendOnTF;
            GatorTrend[TestingIndexSymbol,indexCount]=iCustom(GetSymbolString(TestingIndexSymbol),PeriodNumber(indexCount),"NRTR_GATOR",40,2,false,7,0);
            NRTR_Trend[TestingIndexSymbol,indexCount]=iCustom(GetSymbolString(TestingIndexSymbol),PeriodNumber(indexCount),"NRTR_GATOR",40,2,false,6,1);
            Complextrend[TestingIndexSymbol,indexCount]=(TrendOnSymbol[TestingIndexSymbol,indexCount]+GatorTrend[TestingIndexSymbol,indexCount]+NRTR_Trend[TestingIndexSymbol,indexCount])/3.0;
            ComString="";
            for (tf=indexCount;tf<7;tf++)
               {
               ComString=ComString+StringConcatenate("Period ",PeriodNumber(tf),"M  Complextrend=",Complextrend[TestingIndexSymbol,tf],"n");
            }
            Comment(ComString);   
            Print("Trend on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M=",trendOnTF);
            }
         }
      }
   else
      {
      for (SymbolCounter=1;SymbolCounter<13;SymbolCounter++)
         {
         for (PeriodCounter=2;PeriodCounter<=6;PeriodCounter++)
            {
            if (isNewBar(SymbolCounter,PeriodCounter))
               {
               if (OrdersTotal()>0) CheckOrdersForTrailing();            
               trendOnTF=TrendByWPR(SymbolCounter,PeriodCounter);
               TrendOnSymbol[SymbolCounter,PeriodCounter]=trendOnTF;
               GatorTrend[SymbolCounter,PeriodCounter]=iCustom(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"NRTR_GATOR",40,2,false,7,0);
               NRTR_Trend[SymbolCounter,PeriodCounter]=iCustom(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"NRTR_GATOR",40,2,false,6,1);
               Complextrend[SymbolCounter,PeriodCounter]=(TrendOnSymbol[SymbolCounter,PeriodCounter]+GatorTrend[SymbolCounter,PeriodCounter]+NRTR_Trend[SymbolCounter,PeriodCounter])/3.0;
               if (Symbol()==GetSymbolString(SymbolCounter))
                  {
                  ComString="";
                  for (tf=2;tf<7;tf++)
                     {
                     ComString=ComString+StringConcatenate("Period ",PeriodNumber(tf),"M  Z_trend=",TrendOnSymbol[SymbolCounter,tf],"  G_trend=",
                     GatorTrend[SymbolCounter,tf],"  N_trend=",NRTR_Trend[SymbolCounter,tf],"n");
                     }
                  Comment(ComString);   
               //Print("Trend on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M=",trendOnTF);
                  }
               } 
            }
         }
      }
   
   ArrayInitialize(TPvsSL,0.0);
   ArrayInitialize(BestTPvsSLSymbol,0);
   ArrayInitialize(BestTPvsSLPeriod,0);
   if (TrendExist())
      {
      if (OrdersTotal()<MaxOpenedOrders) TryOpenOrder();
      else TryCloseOrder();
      }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Rosh:
rsi 写道(a)。
以及如何对多币种专家进行预先测试?

你可以开始测试EA,例如,我是这样做的。

...
谢谢你的代码。我将尝试理解它,但1)如果有一个描述会很有用(我为无礼道歉),2)我认为它没有系统地解决这个问题。我的意思是,那么有必要在竞争条件中加入(也许是推荐)多币种EA的要求,将此代码添加到他们的程序中--这样组织者可以在锦标赛前对EA进行初步测试。对吗?
 
粗略地说--多货币专家顾问应该允许对每个符号和每个框架进行回溯测试,因为它是为其申报的。
如果进行回测--我们只在Symbol()和Period() 上工作。如果在线 - 我们在所有的符号上工作,包括在算法中。
 
Reshetov писал (а):
数学 写了(a)。

8.参赛费100美元:.... 而在这里,他们聚集了一群杂牌军,只是为了让参赛者能编出一两行代码。


从本质上讲,这不是一个冠军,而是类似于全区的体育赛事,主要条件是有人,无论如何,都要走到终点。
但来到了终点线。

这就是结果。
考虑到这是第一次举办锦标赛,这个结果是很正常的。
为此,现在正在讨论未来冠军赛的规则。

很明显,不是每个人都愿意支付参赛费,有些人可能无法支付。 也许,只要有一个杂牌军能打败超级大的程序员。因此,为什么要限制人们参加比赛的能力。
特别是由于规则可能会被更新,以考虑到上届锦标赛的所有或许多不足之处。
加上新的限制和要求。
所有的事情都到了这样的地步:一个具有盈利策略和正确的专家顾问。
资本管理,而不仅仅是积极的资本管理。
 
alexnau писал (а):

显然,不是每个人都愿意支付这笔费用,有些人将无法支付。 也许,只是也许,杂牌军中的一个人将击败超级大的程序员。因此,为什么要限制人们参加比赛的能力。
特别是由于规则可能会被更新,以考虑到上届锦标赛的所有或许多缺点。
加上新的限制和要求。
所有的事情都到了这样的地步:一个具有盈利策略和正确的专家顾问。
而不仅仅是积极的资本管理。

alexnau,你真的认为组织者在只收到一个ex4(这是允许的)的情况下,能够胜任解决盈利战略和适当的资本管理问题?如果EA在测试区域稍微失败了怎么办?那么它被拒绝了吗?

限制和要求必须是合理的,不容易被规避。 比方说,10个交易的最低限制很容易被规避。所以这是不合理的。

我认为,只有在检查是否符合2006年规则中已经描述的正式要求时,才需要对历史进行预先测试(见III.专家顾问方案)。

但从盈利能力和MM对历史的看法来看,专家顾问的充分性评估是一项枯燥的任务:你可以在专家顾问中塞进任何预先设计好的历史信号,并在isTesting() == true时将其交给测试者。ZigZag 信号是一个很好的例子:它们在历史上是完美的!它是一个很好的例子。顺便说一句,2006年的《锦标赛规则》中有一个神秘的点,阻碍了这种造假。

7.如果专家顾问在初步检查和锦标赛期间表现不同,将导致资格被取消。

先生们,2006年锦标赛的组织者们,是否有任何先例?如果没有,你如何定义这些差异?

因此,也许我们必须接受这样一个事实,即组织者将无法在接纳中介机构的阶段排除所有明显具有冒险精神的中介机构。但是,我们可以通过一种激进的方式来消除其中的大多数--例如,通过收取30美元的小额参赛费,只有当EA完成锦标赛并取得一些积极成果时才会返还。人群会变少,但EA的质量应该会大幅提高:用sashken或Zonker的EA还30美元有什么意义?

我提出这个要求清单。

- 参赛费30美元,只有在最后的结果是至少初始资本+30美元时才有回报。
- 锦标赛的最低保证金追缴率为70%;如果出现保证金追缴,你将被立即取消资格。
- 2006年锦标赛的所有正式要求(见III.专家顾问方案)。

交易条件。

- 初始资本 - 500美元(如果这个条件太严格,那就1000美元)。
- 最小手数为0.1,对最大手数、同时开仓的数量和规模没有限制(有挂单)。

不受限制的。

- 盈利的历史
- 关于历史的MM
- TP/SL
- 锦标赛内的交易数量
- 利润率/股本比率。
 
Mathemat:
- 参赛费30美元,只有在最终结果至少是初始资本+30美元的情况下才可以退还。
总的来说,我个人同意收取参赛费是一个好主意。几乎所有运动项目的比赛都存在报名费。在我个人看来,退款的想法已经有些争议了。
但它永远不会发生的主要原因是技术方面的问题。要求所有这些费用是如此的麻烦,它不会有任何回报。特别是如果你记得并不是所有的潜在参与者都住在BSSR的领土上,即分别接受信用卡的正常货币付款,不同的代用货币分别。还有用信用卡经营零售业务的许可......?而所有这些麻烦都在组织者的头上,而不是做他们知道如何做的事情。

所以为什么要花30美元买一个宗师。然后把它们中的两个,一个在上面,一个在下面。当有4万块钱的风险时,60块钱是很可笑的钱,而那个Zonker很接近胜利,非常接近。
 
好吧,我们可能不必偿还入场费,这不是太多的钱,但至少有一些激励措施,以创造一个体面的EA...

但通过信号来筛选专家是一项令人费解的工作。

如果作者至少有两台不同IP的电脑,禁止从一个IP进行多次注册是非常容易处理的。因此,如果他想从不同的IP发送两个或更多不同的 专家顾问,他可以在组织者没有注意到的情况下这样做。如果他至少上传两部作品作为领导人,而组织者想采访领导人,唯一真正的问题将出现。

说实话,我不认为这是不公平的:如果一个作者提出了两个不同的 EA,最后都是亚军,那就为作者点赞!另一点是,这不符合这种比赛的传统。我自己并不打算这样做 :)

关于 "镜像 "EA,如Zonker 的EuroBull或EuroBear。例如,你可以引入一个额外的检查,以检查信号的不自然高相关性的EA。不同的作者能独立创造出匹配的信号的专家顾问,这是非常值得怀疑的。所以,要么他们不是自己做的(他们在网上找到的),要么他们互相分享,要么就是只有一个作者。在第一种情况下,极有可能是不良的EA,而在第二和第三种情况下,则是犯规行为。

组织者可以要求提供这些用完全相同的ex4编译的EA的源代码,如果拒绝提供代码或用其他ex4编译的代码,则取消资格,不退还参赛费,并将IP列入锦标赛黑名单。如果发送的是 "正确 "的代码,而且它们的逻辑是一样的--除了一个人之外,其他的人都被取消了资格,以鹰击长空为基础。我怀疑这样的行动会影响到作者,因为他发送了一个合理而熟练的专家顾问。

P.S. 一般来说,为了稳妥起见,我们可以引入一个资格赛--比如说,一个月的时间。有预定结果的专家,根据资格审查结果,进入正赛。然后是主要的一轮--两三个月,由同一个顾问负责。是的,一些极端的候选人有可能会通过。但大多数明显的失败者--至少70%--将不会成功。
 
NRTR_GATOR指标 ?
 
Mathemat:
alexnau 写道(a)。

这一切都归结为一个事实,即一个具有盈利战略的顾问和适当的
关键是要有一个具有盈利策略的EA和适当的资本管理,而不仅仅是积极的资本管理。

alexnau,你真的认为组织者只收到ex4(这是允许的),就能胜任解决盈利战略和正确的资本管理问题吗?如果EA在测试区域稍微失败了怎么办?所以它被拒绝了?
数学我 已经表达了意见,专家顾问的质量应该在下届锦标赛上得到改善。
我认为组织者不应该根据以下情况 "对战略盈利能力和适当的资金管理做出明智的决定"。
对ex4的测试我不知道。