28 !!! currency pairs, 1 expert. Another grail, but this one I think no one has ever shown. + DEMO ACCOUNT - page 5

 

Yeah... You should at least take a ruler when you draw with a felt-tip pen, granit77!

Your hands are shaking, it's disgusting to watch.

 
granit77:
Valmars:

Sorry for the bluntness, dear developers, but you can't bury the age-old dream of a trader - Dream of the Grail, either in build 207 or in build 2007. Following advice from Valmars - Conys, I downloaded and installed build 207 dated July 25th. I ran my Grail for the period from 1st January 2007 until today.

Anticipating future questions, I am pasting all essential testing data: M1 timeframe, EURUSD symbol, history from Alpari without any editing, automatically loaded by the terminal, constant lot=1, one open order, "All ticks" pattern. EURUSD high timeframe data is used, the Expert Advisor does not use any other symbols. No optimisation, no fitting, profitability is the same at any period of history, I think it will be the same at any other broker. Net profit is $106293. Number of deals (1-4 per day, 328 during half a year) and expected payoff (32 pips) does not allow classifying the Expert Advisor as a Pipsier one. Profitable trades (% of all trades) 92.07%. I haven't used MM - it's billions, while my wife is nagging that I clutter up the whole house.

Try to find fault with the correctness of testing.

It seemed as if it was time to price out the island, but there's no way.... The strategy inherent in the EA initially involves peeking into the future (into the final data of a yet to be closed bar of a senior TF). And don't compose my brain (excuse the pun) that on my own pair, without involving other symbols, peeping in the tester is impossible. I can't explain the results obtained by anything else.

What do you think, Valmars? What build to try next?

P.S. Please don't bother real traders. On demo, the Expert Advisor looks no better than other "grails".


Well, what can I say? Well, congratulations. You've disproved the developers. The only thing outside the realm of normal testing is simulation quality, 25% on all ticks. And it should be 90%, or at least 89 and a penny. I am sorry, one has to go to the john with such a testing (or quotes) but not on the forum. The terminal can automatically pump up only a little more than 32000 last bars, while you have as many as 165936. It doesn't refute your achievements at all, just that the evidence needs to be stronger. Demonstrate better using the quotes of History Centra, especially because your Expert Advisor is not a scalping one.
 
Valmars:
Yurixx:

2. The spread between High and Low is the largest on the daily chart. For an Expert Advisor looking into the future - that's a lot of room. But you claim that your Expert Advisor analyses ticks. So it should not care which timeframe it uses. So put it on M1. I think you will immediately stop worrying about zeros in the report.

2. After the latest update of the tester looking into the future is basically impossible, at least according to the developers, and so far no one has proven otherwise. The only solution is to integrate the history model in the Expert Advisor itself.

Why are you guys so upset? Because of this statementValmars or what? He said he didn't think about it, but he didn't think about it. Maybe he's just a young man with delusions. Can you forbid it?

And in general it's ridiculous to expect the developers that they will spend time and effort to the fact that in the tester was impossible (much less "in principle") to fake beautiful results. Why would they do that?

Whoever wants to get a real, close to the real evaluation of his EA, will try to use the tester for its intended purpose, adequately. And he will write his expert correctly, honestly, without any tricks. But he, who seeks to deceive (it does not matter - himself or a potential buyer), he will always find a way. As you know any product, any technology, any discovery can be used for good and for ill. And it does not depend on the author, but on the one in whose hands it has got.

So MQ is absolutely right to further develop MT, not to prevent a useless (or "too" clever) user from pinching himself or someone else's finger with the tester.

PS By the way conys could have posted a cooler picture. For example this one

But about it he was too shy to admit that it's a "look into the future".

 
Well, what can I say? Well, congratulations. You've disproved the developers. The only thing outside the realm of normal testing is simulation quality, 25% on all ticks. And it should be 90%, or at least 89 and a penny. I am sorry, one has to go to the john with such a testing (or quotes) but not on the forum. The terminal can automatically pump up only a little more than 32000 last bars, while you have as many as 165936. It doesn't refute your achievements at all, just that the evidence needs to be stronger. Demonstrate better using the quotes of History Centra, especially because your Expert Advisor is not a scalping one. <br / translate="no">.
My apologies, I completely forgot that there is no higher than 25% on 1M timeframe. It would be interesting to look at the code looking into the future, especially as it is not applicable in practice.
 
Where do you get this strange misconception, Valmars? It might be 90 on the minutes. But that's the maximum.

P.S. Right, sorry. On any TF, larger than a minute, but with the initial smallest material "minute", just 90%. ...
 
granit77:
Valmars:
Have you updated the terminal recently? I advise you to download the latest version and run this example. And please post the chart you get here. Let's see how you managed to look into the future!

Excuse me for being blunt, dear developers, but you cannot bury the age-old dream of a trader - the Dream of the Grail, even in the 207th build or in 2007. Following advice from Valmars - Conys, I downloaded and installed build 207 dated July 25th. I ran my Grail for the period from 1st January 2007 until today.

Anticipating future questions, I am pasting all essential testing data: M1 timeframe, EURUSD symbol, history from Alpari without any editing, automatically loaded by the terminal, constant lot=1, one open order, "All ticks" pattern. EURUSD high timeframe data is used, the Expert Advisor does not use any other symbols. No optimisation, no fitting, profitability is the same at any period of history, I think it will be the same at any other broker. Net profit is $106293. Number of deals(1-4 per day, 328 during half a year) and expected payoff(32 pips) does not allow classifying the Expert Advisor as a Pipsier one. Profitable trades (% of all trades) 92.07%. I haven't used MM - it would be billions, since there is practically no drawdown, while my wife is nagging that I clutter up the house anyway.

Try to complain about the correctness of testing.

It would seem that it's time to price out the island, but there's no way.... The strategy inherent in the EA, it seems to me, inherently involves peeking into the future (into the final data of the yet to be closed bar of the older TF). And don't compose my brain (pardon the pun) that on my own pair, without involving other symbols, peeping in the tester is impossible. I can't explain the results obtained by anything else.

What do you think, Valmars? What build to try next?

P.S. Please don't bother real traders. On demo, the Expert Advisor looks no better than other "grails".


Here is a simple Expert Advisor that checks for a mismatch between the current Bid and Close of all higher timeframes. As soon as such a discrepancy of 1 point or more is detected, the time value and, the current Bid and Close of the timeframe which did not match will be displayed immediately:

//+------------------------------------------------------------------+
//|                                             CheckBigTF_Close.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net/ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net/ru/"
 
int myPeriodNumber; 
 
//+------------------------------------------------------------------+
//|  возвращает период в минутах                                     |
//+------------------------------------------------------------------+
int GetPeriod(int Number)
   {
   int res;
//----
   switch(Number)
      {
      case 0: res=PERIOD_M1; break;
      case 1: res=PERIOD_M5; break;
      case 2: res=PERIOD_M15; break;
      case 3: res=PERIOD_M30; break;
      case 4: res=PERIOD_H1; break;
      case 5: res=PERIOD_H4; break;
      case 6: res=PERIOD_D1; break;
      case 7: res=PERIOD_W1; break;
      case 8: res=PERIOD_MN1; break;
      default: res=Period();
      }
//----
   return(res);   
   } 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
  for (int i=0;i<9;i++)
   {
   if (GetPeriod(i)==Period()) break;
   }
  myPeriodNumber=i;
  Print("Родной период тестирования ",GetPeriod(myPeriodNumber)," минут");
//----
   return(0);
  }
 
//+------------------------------------------------------------------+
//| right comparison of 2 doubles                                    |
//+------------------------------------------------------------------+
bool CompareDoubles(double number1,double number2, int Dig,double accuracy)
  {
   if(NormalizeDouble(MathAbs(number1-number2),Dig)>=accuracy) return(true);
   else return(false);
  }
 
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  string Str;
  
  double myClose=Bid;
  for (int i=myPeriodNumber; i<9; i++)
   {
   if (CompareDoubles(myClose,iClose(NULL,GetPeriod(i),0) ,Digits,Point))
      {
      Str = TimeToStr(TimeCurrent()) + ", myClose = " + DoubleToStr(myClose, Digits)+"  Close("+GetPeriod(i)+")="+iClose(NULL,GetPeriod(i),0);
      Print(Str);
      
      }
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+

I ran their History Center quotes on EURUSD M1 Every Ticks from 1999 to 30 July 2007 and not a single message came out. What kind of peek into the future are you referring to?
 
Valmars:
Well, what can I say? Well, congratulations. You've disproved the developers. The only thing outside the realm of normal testing is simulation quality, 25% on all ticks. And it should be 90%, or at least 89 and a penny. I am sorry, one has to go to the john with such a testing (or quotes) but not on the forum. The terminal can automatically pump up only a little more than 32000 last bars, while you have as many as 165936. It doesn't refute your achievements at all, just that the evidence needs to be stronger. Demonstrate it better using the quotes of History Centra, especially because your Expert Advisor is not a scalping one.


Of course, everyone can offend a dummy, but then let the pros show me a test on the minutes with higher quality modeling. Where to get data from the lower TF if below there are only generated ticks? It seems to me that 25% on M1 is a theoretical limit. And, concerning the number of pumped bars we, dummies, do not understand such details. My terminal has been in action since December 2006. "Max bars in history: 10000000" is in the settings, what else do I need to be happy?

I think traders do not need to prove anything additionally, the developers have proved that the tester keeps on generating grails. Maybe it will be useful for them when developing MT5. For me the main result is that in the existing tester it is possible to peep the higher TF within one symbol. Earlier I met claims (including developers) that, due to peculiarities of the tester, it is possible only from currency pairs other than the one being tested. This led to an annoying waste of time and effort for a doomed development. Now everything is clear: I was born a beggar and will die a beggar.

 
Rosh:

I ran their History Center quotes on EURUSD M1 Every Ticks from 1999 to 30 July 2007 and not a single message came out. What kind of peek into the future are you referring to?



Sorry Valmars and Rosh, missed your posts while writing mine.
2 Rosh
It's difficult to explain, because I'm a real dummie, I write code "howling and moving my lips", while I "programmed" before MQL only once on the Minsk-22, punching machine codes on punched cards to get good grades.
Naturally, I have no reason to doubt your results, but this is the first, "frontal" level of testing. The very fact that there is an Expert Advisor that uses only the major TF of the symbol under test and shows 92% of profitable deals on history under the strictest testing conditions and that it lost its profit on a demo in the same period of the same broker, at the same quotes, proves incorrectness of testing with using major TF. And it does exist, "by my mum".
Maybe, current Bid and Close of higher timeframes coincide, but indicators using these TFs lie, I do not know, I am incompetent. But, "something is wrong in the conservatory".
If this mishap is of interest for developers, my mailbox = my nickname on Yandex. I don't want to publish the code here, it's a workable Expert Advisor, the grail was made by accident.
 
granit77, try putting what Rosh did into the EA and show the results when testing. At any rate, the question of what the tester sees and what it doesn't will be resolved.
 

Killing a dream at the grail...

Having taken the code of respected Rosh and ran it, we basically got the right result and seem to have calmed down, but let's move on....

//+------------------------------------------------------------------+
//|                                              CheckBigTF_High.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net/ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net/ru/"
 
int myPeriodNumber; 
 
//+------------------------------------------------------------------+
//|  возвращает период в минутах                                     |
//+------------------------------------------------------------------+
int GetPeriod(int Number)
   {
   int res;
//----
   switch(Number)
      {
      case 0: res=PERIOD_M1; break;
      case 1: res=PERIOD_M5; break;
      case 2: res=PERIOD_M15; break;
      case 3: res=PERIOD_M30; break;
      case 4: res=PERIOD_H1; break;
      case 5: res=PERIOD_H4; break;
      case 6: res=PERIOD_D1; break;
      case 7: res=PERIOD_W1; break;
      case 8: res=PERIOD_MN1; break;
      default: res=Period();
      }
//----
   return(res);   
   } 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
  for (int i=0;i<9;i++)
   {
   if (GetPeriod(i)==Period()) break;
   }
  myPeriodNumber=i;
  Print("Родной период тестирования ",GetPeriod(myPeriodNumber)," минут");
//----
   return(0);
  }
 
//+------------------------------------------------------------------+
//| right comparison of 2 doubles                                    |
//+------------------------------------------------------------------+
bool CompareDoubles(double number1,double number2, int Dig,double accuracy)
  {
   if(NormalizeDouble(MathAbs(number1-number2),Dig)>=accuracy) return(true);
   else return(false);
  }
 
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  string Str;
  
  double myClose=Bid;
  for (int i=myPeriodNumber; i<9; i++)
   {
   if (CompareDoubles(myClose,iHigh(NULL,GetPeriod(i),0),Digits,Point))
      {
      Str = TimeToStr(TimeCurrent()) + ", myHigh = " + DoubleToStr(myClose, Digits)+"  High("+GetPeriod(i)+")="+iHigh(NULL,GetPeriod(i),0);
      Print(Str);
      
      }
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+

If the tester has generated ticks from the quotes history, then bid == Close of all timeframes, which is logical. But if the indicators use High or Low or all of them together, and the EA trades taking them into account, then we have a clear peek into the future. The code above proves this fact.

Well, I personally know this fact and I do not try to apply it to real EAs, but excuse me, the Championship is coming soon and many EAs are probably using High and Low of older timeframes. It even turns out that after your code review or testing of an EA it gets to the Championship and the participant automatically joins the queue of "sinkers". Not only that, but he also gains fame as a failed programmer.

You need to fix it!