Возможно ли создать такой индикатор?

 

Индикатор анализирует историю показывает зоны на графике где советник уходил в плюс и где в минус

 С реальной историей более понятно , вопрос больше по бэктесту


Возможно ли создать индикатор по типу примера в приложенном скриншоте, по которому можно будет понять в какой период на графике конкретно советник уходил в просадку?

Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 (MQL5), среда разработки MetaEditor и инструменты тестирования стратегий. Любую информацию о разработке торговых стратегий на языке MQL5 можно найти на официальном сайте MQL5.community. На этом же сайте в разделе Code Base могут быть...
Файлы:
Screenshot_3.jpg  401 kb
 

Нарисовать такие звёздочки? Да можно.   Один из вариантов.

В советнике во время тестирования записывать в файл баланс (или уровень свободной маржи, по желанию), а так же дату изменения баланса:

//массив структур для хранения изменений баланса
struct Acc
   {
   datetime time;
   double balance;
   } acc[];
//последний элемент массива   
int fin=-1;
ENUM_TIMEFRAMES timeframe;

int OnInit()
   {
   timeframe=(ENUM_TIMEFRAMES)Period();
   return(INIT_SUCCEEDED);
   }

void OnTick()
   {
   //при изменении баланса записываем новые значения
   if(MQLInfoInteger(MQL_TESTER)==1 && (fin<0 || AccountInfoDouble(ACCOUNT_BALANCE)!=acc[fin].balance))
      {
      ArrayResize(acc,++fin+1);
      acc[fin].time=iTime(Symbol(),timeframe,0);
      acc[fin].balance=AccountInfoDouble(ACCOUNT_BALANCE);
      }
   //----ваш код
   }

void OnDeinit(const int reason)
   {
   if(MQLInfoInteger(MQL_TESTER)==1)
      {
      //записываем в файл массив с изменениями баланса
      string name="Balance-"+Symbol()+"-"+IntegerToString(timeframe)+".data";
      int handle=FileOpen(name,FILE_BIN|FILE_WRITE);
      if(handle!=INVALID_HANDLE)
         {
         //сначала записываем размер массива
         FileWriteInteger(handle,ArraySize(acc),INT_VALUE);
         //выгружаем данные из массива в файл
         FileWriteArray(handle,acc,0,WHOLE_ARRAY);
         FileClose(handle);
         }
      }
   }

Затем при запуске индикатора читать баланс из файла и рисовать линию согласно текущему времени:

//пока лень, устал
 
Aleksei Stepanenko:


Хаха со звёздочками уже справился ))

Спасибо, Алексей

 
YuriIsmailov:

Хаха со звёздочками уже справился ))

Спасибо, Алексей

можно написать, а можно в код базе поискать.
 
Renat Akhtyamov:
можно написать, а можно в код базе поискать.

Я сам не разработчик, я хочу понять ,что возможно ,что нет. 

Есть задачи, решить которые можно проще и лучше, чем по придуманному ТЗ.

 
YuriIsmailov:

Индикатор анализирует историю показывает зоны на графике где советник уходил в плюс и где в минус

 С реальной историей более понятно , вопрос больше по бэктесту


Возможно ли создать индикатор по типу примера в приложенном скриншоте, по которому можно будет понять в какой период на графике конкретно советник уходил в просадку?

да их тьма в кодобейзе и маркете.

это эквити свечами и в цвете