THE 2007 TRADING CHAMPIONSHIP! - page 10

 
rsi:
How would you perform pre-testing of multi-currency EAs?

It is possible to include in an EA the possibility of testing, for example, I did it this way:

//+------------------------------------------------------------------+
//| 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 wrote (a):
And how will the pre-testing of multi-currency experts be carried out?

You can start testing EAs, for example, I did it this way:

...
Thank you for the code. I will try to understand it, but 1) it would be useful to have a description (I apologize for impudence), 2) I think it does not solve the question systematically. I mean, that then it is necessary to include in conditions of competition (maybe recommend it) for multicurrency EAs a requirement to add this code to their program - so organizers could conduct preliminary testing of the EA before the championship. Right?
 
Roughly speaking - a multi-currency Expert Advisor should allow a backtest on each symbol and each frame, for which it is declared.
If backtest - we work only on Symbol() and Period (). If online - we work on all symbols, included in the algorithm.
 
Reshetov писал (а):
Mathemat wrote (a):

8. Entry fee $100:.... And here they gathered a motley crowd, just so the participants could compile a line or two of code.


In essence it was not a championship, but something akin to a district-wide sporting event, where the main condition is that someone, no matter how, comes to the finish line,
but come to the finish line.

That's the results.
The result is quite normal, considering the fact that it was the first time the championships were held.
For this purpose, the rules of the future championship are being discussed now.

It is clear that not everyone is willing to pay the entry fee, and some may not be able to. Perhaps, just one of the motley crowd will beat the super-duper programmers. So why restrict the ability of people to participate in the contest.
Especially since the rules will probably be updated to take into account all, or many, of the shortcomings of the last championship
plus new restrictions and requirements.
Everything comes to the point where an Expert Advisor with a profitable strategy and correct
capital management, not just aggressive capital management.
 
alexnau писал (а):

It is clear that not everyone is willing to pay the fee, and some will not be able to. Perhaps, just maybe, one of the motley crowd will beat the super-duper programmers. So why limit people's ability to participate in the contest.
Especially since the rules will probably be updated to take into account all, or many, of the shortcomings of the last championship
plus new restrictions and requirements.
Everything is moving towards the point where an Expert Advisor with a profitable strategy and correct
and not just aggressive capital management.

alexnau, do you really think that the organisers, having received only one ex4 (this is allowed), will be able to competently solve the question of a profitable strategy and proper capital management? And what if the Expert Advisor slightly fails on the tested area? Then it is rejected?

Limitations and requirements must be reasonable and not easily circumvented. Let's say, the minimum limit of 10 trades is easily circumvented. So it is unreasonable.

Pre-testing on history, in my opinion, is only needed to check compliance with the formal requirements already described in the 2006 Rules (see III. Expert Advisors programmes).

But the assessment of an Expert Advisor's adequacy to profitability and MM on history is a stale task: you can cram in an Expert Advisor any historical signals prepared in advance and give them to a tester at isTesting() == true. TheZigZag signals are a good example: they are perfect on history! By the way, there is, by the way, one mysterious point in the Championship Rules 2006 that impedes such faking:

7. If the Expert Advisor behaves differently during the preliminary check and during the Championship, it will lead to disqualification.

Were there any precedents, gentlemen, organisers of the Championship 2006? If not, how do you define these differences?
.

So, perhaps, we have to accept the fact that the organizers will not be able to exclude all obviously adventurous EAs at the stage of admission of EAs. But we can remove the majority of them in a radical way - for example, by charging a small entry fee of $30 that is paid back only when the EA finishes the Championship with some positive results. The crowd will be smaller, but the quality of EAs should increase dramatically: what is the point of paying $30 back with an EA from sashken or Zonker?

I propose this list of requirements:

- Entry fee of $30, with a return only at the final result of at least initial capital + $30
- Minimum 70% Margin Call for the Championship; in case of a Margin Call, you will be immediately disqualified.
- All formal requirements of the 2006 Championship (see III. Expert Advisors Programs).

Trading conditions:

- initial capital - $500 (if this condition is too strict, then $1000)
- minimum lot size 0.1 and no limits on the maximum lot, number and size of simultaneously opened positions (with pending orders).

No Limitations on:

- profitability on the history
- MM on the history
- TP/SL
- Number of trades within the Championship
- Margin/Equity ratio.
 
Mathemat:
- Entry fee $30, refundable only on final result of at least initial capital + $30
In general, I personally agree that it would be a good idea to have entry fees. Entry fees exist in competitions in almost all sports. The idea of a refund already looks, again to me personally, somewhat controversial.
But the main reason it will never happen is the technical side of the issue. To ask for all those fees is such a hassle that it won't pay off in any way. Especially if you remember that not all potential participants live on the territory of the BSSR, i.e. accepting payments in normal money from credit cards separately, different surrogate money separately. And a permit to run a retail business with credit cards...? And all this hassle on the head of the organisers instead of doing what they know how to do.

So why pay $30 for a zoner. And then to put two of them, one up, one down. 60 bucks is ridiculous money when there's 40 grand at stake, and the zonker was close to winning, damn close.
 
Well, we may not have to pay back the entrance fee, which is not too much money, but at least some incentive to create a decent EA...

But culling experts by signals is a puzzling task.

Prohibiting multiple registrations from one IP is very easy to handle if the author has at least two computers with different IP. So, if he wants to send two or more different Expert Advisors from different IPs, he can do it without organizers noticing it. The only real problem will arise if he uploads at least two of his works as leaders and the organizers want to interview the leaders.

To be honest, I don't think it's unfair: if an author puts up two different EAs who end up being runners-up, kudos to the author! Another thing is that this doesn't conform to the very tradition of such contests. I don't intend to do so myself :)

Regarding "mirror" EAs, a la Zonker's EuroBull or EuroBear. You can, for example, introduce an additional check for EAs with unnaturally high correlation of signals. It is extremely doubtful that different authors could independently create identical Expert Advisors. So, either they did not make them themselves (they found them on the Internet), or they shared them with each other, or it is just one author. In the first case, it is highly likely to be a bad expert, and in the second and third it is unfair play.

The organizers, say, can demand the source code of these EAs compiled in exactly the same ex4 as sent to the organizers. In case of refusal to provide the code or code compiled in another ex4, - disqualification without refund of entry fee and putting IP in the Championships blacklist. If the "correct" codes are sent and their logic is the same - disqualification for all but one on an eagle-reckoning basis. I doubt that such actions will affect the authors, who sent one reasonable and proficient Expert Advisor.

P.S. In general, for solidity, we could introduce a qualifying round - say, for a month. Experts with predetermined result, according to qualification results, pass to the main round. And then the main round - for two or three months, with the same advisor. Yes, there is a probability that some extreme candidates will make it through. But most of the obvious losers - at least 70% - will not make it.
 
NRTR_GATOR Indicator ?
 
Mathemat:
alexnau wrote (a):

It's all coming down to the fact that an advisor with a profitable strategy built into it and proper
It's all about having an EA with a profitable strategy and proper capital management, not just aggressive capital management.

alexnau, do you really think that the organisers, having received only ex4 (this is allowed), will be able to competently solve the question of a profitable strategy and correct capital management? And what if the EA slightly fails on the tested area? So it is rejected?
Mathemat I' ve expressed the opinion that the quality of Expert Advisors should improve at the next Championship,
I don't think the Organizer should "make a wise decision about the strategy profitability and proper money management" based on
testing of ex4 I had no idea about.
Reason: