Новая версия визуального тестера стратегий

 
Сегодня выпустили очередной 195 билд с визуальным тестером стратегий, который позволяет легко отлаживать своих экспертов. Это предварительная версия перед официальным 196 билдом.

Что исправлено и добавлено:

* показываются комментарии (функция Comment) во время тестов
* исправлено отображение стрелок активаций отложенных ордеров в тестере
* полностью переделаны графические стрелки с подсветкой фона - теперь легко различать сделки на графике
* также переделано отображение сделок из Account History на графиках, достаточно схватить любую сделку из истории счета и бросить ее на график. а если это проделать при нажатой клавише Shift, то перенесутся все сделки по указанному символу.

Скачать дистрибутив программы MetaTrader 4 можно по ссылке:
"торговый терминал MetaTrader 4" (3Mb)

Ниже представлен короткий Flash ролик, показывающий процесс тестирования с отображением всех сделок прямо на графике:
https://c.mql5.com/mql4/forum/2006/08/metatrader_visual_tester_presentation.swf (800kb)
 
Ринат здравствуйте

А что там слишно по поводу исправлния резултатов тестера по части SWAP пунктов? когда тестер неверные резултаты даёт из-за этих значеный?
 
Тестер в этой вариации допускает слишком много проскальзыаный и ошибок,таких ошибок на сегодняшный день не позволяют себе даже самые бессовестный и оголтелые кухонные брокера

Как можно понять отложенным леджит ордер,его цена 1.2045 на селл а его тестер берёт по цене 1.2038,тем более что это отложенный ордер,,или же случай,когда одна и таже цена по лоу встречается для ввода ордера в рынок встречается на расстоянии 5-7 минут 2 раза а тестер берёт со второго раза ордер.

А вообще то у тестера есть патологическая склонность к проскальзываниям,и что самое интересное-- проскальзывания не касаются только стопа- вот стопы( Ограниченые убытка) уж точно берутся,нигде не увидыл в свою сторону закрытого стопа--- Или просто Вы решили показать за счёт тестера в визуальном режиме,как бессовестно работают многие брокера?если это так,то вот в этой части вам точно удлаось это показать всем наглядно,за это можно вам поставыть 5 баллов с плюсом!!!

А вот всё таки хочется увидыть что просиходит когда будем торговать по заявленным ценам,а на счёт проскальзывания там решим с кем работать,слава богу пока что ещё есть такие славные бркоера как Интеграл-Банк(Киев),хоть их мало,но они есть ещё!
 
скажите пожалуйста с помощью какой программы Вы делаете видео флешки. Тоже необходимо сделать несколько таких флешек.
 
Со свопами на переоткрывающихся позициях все нормально - в терминале они давно уже работают. Приведите конкретный и детальный пример что не так, пожалуйста.

О проскальзываниях отработки ордеров - все зависит от режима тестирования (все тики, контрольные точки и тд) и детализации доступной истории. Приведите четкий и полный детализированный отчет.

К сожалению, большинство вопросов в наших форумах задают без детализации и в самом общем виде. Как будто вопросы не от программистов...

Просьба любой вопрос снабжать максимально детализированным отчетом и обязательными своими комментариями с указанием конкретного места, по которому есть вопрос. Но без крайностей, когда публикуется отчет с заявлением "смотрите!" и без каких-либо комментариев и указаний.
 
скажите пожалуйста с помощью какой программы Вы делаете видео флешки. Тоже необходимо сделать несколько таких флешек.

Camtasia Studio и SnagIT - http://www.techsmith.com
 
Похоже, что с проскальзываниями на отработке отложенных ордеров в этой версии тестера на самом деле перестарались - поправим сегодня.
 
Посмотрите пожалуйста, индикатор не корректно отображает уровни на визуальном тестировании, по сравнению с реальным графиком.
//+------------------------------------------------------------------+
//|                                                    Intra_Day.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, klot."
#property link      "klot@mail.ru"

#property indicator_chart_window
#property indicator_color1 Aqua
//---- indicator parameters
extern int Hour_Begin_Day=21;
//---- indicator buffers
int begin,end;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
 
//---- indicator short name
   IndicatorShortName("Intra_Day");
//---- initialization done
 ObjectCreate("Begin",OBJ_VLINE,0,0,0);
 ObjectCreate("Open",OBJ_TREND,0,0,0);
 ObjectSet("Open",OBJPROP_RAY,false); 
 ObjectCreate("End",OBJ_VLINE,0,0,0);
 ObjectCreate("High_asian",OBJ_TREND,0,0,0,0,0);
 ObjectSet("High_asian",OBJPROP_RAY,false); 
 ObjectCreate("Low_asian",OBJ_TREND,0,0,0,0,0);
 ObjectSet("Low_asian",OBJPROP_RAY,false); 
 
   return(0);
  }
  int deinit()
  {
//----
   ObjectDelete("Begin");
   ObjectDelete("Open");
   ObjectDelete("End");
   ObjectDelete("High_asian");
   ObjectDelete("Low_asian");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
{
   int    asia_b,t,h,i;
   datetime begin_time,end_time,asia_t;
   double curlow,curhigh;
     
       begin_time=iTime(NULL,PERIOD_D1,1)+(Hour_Begin_Day*3600);
       asia_t=iTime(NULL,PERIOD_D1,0)+(6*3600);
       end_time=iTime(NULL,PERIOD_D1,0)+(Hour_Begin_Day*3600);
       asia_b=iBarShift(NULL,0,asia_t);
       
       begin=iBarShift(NULL,0,begin_time);
       end=iBarShift(NULL,0,end_time);
     ObjectSet("Begin",OBJPROP_TIME1,begin_time);
     ObjectSet("Open",OBJPROP_TIME1,begin_time);
     ObjectSet("Open",OBJPROP_PRICE1,Open[begin]);
     ObjectSet("Open",OBJPROP_TIME2,Time[0]);
     ObjectSet("Open",OBJPROP_PRICE2,Open[begin]);
     ObjectSet("End",OBJPROP_TIME1,end_time);
     
      curlow=Low[Lowest(NULL,0,MODE_LOW,(begin-asia_b),asia_b)];
      curhigh=High[Highest(NULL,0,MODE_HIGH,(begin-asia_b),asia_b)];
      
      ObjectSet("High_asian",OBJPROP_TIME1,begin_time);
      ObjectSet("High_asian",OBJPROP_PRICE1,curhigh);
      ObjectSet("High_asian",OBJPROP_TIME2,Time[0]);
      ObjectSet("High_asian",OBJPROP_PRICE2,curhigh);
      
      ObjectSet("Low_asian",OBJPROP_TIME1,begin_time);
      ObjectSet("Low_asian",OBJPROP_PRICE1,curlow);
      ObjectSet("Low_asian",OBJPROP_TIME2,Time[0]);
      ObjectSet("Low_asian",OBJPROP_PRICE2,curlow);
      
    return(0);
}
//+------------------------------------------------------------------+
 
Похоже, что с проскальзываниями на отработке отложенных ордеров в этой версии тестера на самом деле перестарались - поправим сегодня.


Я знаю что перестаралысь и того знаю,что мои 212 000 прибылы за 2 года так и остаётся сниженными на 179 000 и впредидущей версии ив этой уже гораздо ниже стало из-за проскальзываный(не хочется называть полученную цифрц из-за этических соображеный)

А что касается примеров и доказательств,ка кне удивительно это--я хотел вставыть картинку здесь,но не получылось это сделать (может поможете узанать как вставыть со своего компа в сайт картинку7),я же уже учёл то,что вы недолвльны когда я гововрю не по фактам,вот и удмал факт тоже показать,но не получылось,хотя поверьте на слово мне,я не пристаю к вам от нечего делать,ей бгу!
 
А еще, при визуальном тестировании, не отображаются индикаторы, которые используют старший таймфрейм на младшем.
например:
//+------------------------------------------------------------------+ 
//|                                                    DT-Fatl.mq4 | 
//+------------------------------------------------------------------+ 
#property copyright "klot" 
#property link      "klot@mail.ru" 

#property indicator_chart_window 
#property indicator_buffers 1 
#property indicator_color1 Yellow 
//---- input parameters 
extern int GrossPeriod=60; 
//---- buffers 
double ExtMapBuffer1[]; 
datetime some_time;
//+------------------------------------------------------------------+ 
//| Custom indicator initialization function                         | 
//+------------------------------------------------------------------+ 
int init() 
  { 
//---- indicators 
   SetIndexStyle(0,DRAW_ARROW,EMPTY); 
   SetIndexArrow(0,159); 
   SetIndexBuffer(0,ExtMapBuffer1); 
   SetIndexEmptyValue(0,0.0); 
//---- 
   return(0); 
  } 
//+------------------------------------------------------------------+ 
//| Custor indicator deinitialization function                       | 
//+------------------------------------------------------------------+ 
int deinit() 
  { 
//---- 
    
//---- 
   return(0); 
  } 
//+------------------------------------------------------------------+ 
//| Custom indicator iteration function                              | 
//+------------------------------------------------------------------+ 
int start() 
  { 
   int    limit, bigshift; 
   int    counted_bars=IndicatorCounted(); 
//---- 
   if (counted_bars<0) return(-1); 
    
   if (counted_bars>0) counted_bars--; 
    
   limit=iBars(NULL,0)-counted_bars; 
    
   for (int i=0; i<limit; i++) 
   { 
         some_time=iTime(NULL,0,i);
         bigshift=iBarShift(NULL,GrossPeriod,some_time);
         ExtMapBuffer1[i]=iCustom(NULL,GrossPeriod,"FATL",100,0,bigshift); 
   } 
//---- 
   return(0); 
  } 
//+------------------------------------------------------------------+