Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2280

 
Maxim Kuznetsov #:

Так нарисуйте в нём, у вас же Canvas, Resource https://www.mql5.com/ru/docs/standardlibrary/canvasgraphics/ccanvas :-)

Спасибо, получилось.
 

Такое неудобство возникло, пишу в файл и индикаторе, который вызывается советником. В терминале в чарте отрабатывает открытие и закрытие файла в индикаторе в ОнДеинит индикатора. А в тестере ОнДеинит индикатора по окончании теста не отрабатывает, у эксперта отрабатывает. Закрытие в окне теста этого индикатора тоже не помогает, только закрыть терминал и тогда файл становится свободным. 

Как то можно закрыть файл? к тому же он пишется по пути 

C:\Users\....\AppData\Roaming\MetaQuotes\Tester\.......FF075\Agent-127.0.0.1-3000\MQL5\Files

И как прописать путь, что бы писал в песочницу Тестер, а не в папки агентов тестирования, к тому же они пересоздаются при каждом тестировании и файлы уничтожаются.

#property indicator_chart_window
#property indicator_plots 0
#property indicator_buffers 1

int HandleFile ; // Файловый описатель
uint Qnt_Symb;                           // Количество записанных симв.
string File_Name="TestFileInd.csv";        // Имя файла
double BufferTest[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
  SetIndexBuffer(0,BufferTest);
//--- indicator buffers mapping
    HandleFile=FileOpen(File_Name,FILE_CSV|FILE_WRITE,";");//Открытие файла
   if(HandleFile==-1) // Неудача при открытии файла
     {
      Alert("Ошибка при открытии файла. ",File_Name,// Сообщение об ошибке
            "Возможно, файл занят другим приложением, handle",HandleFile);
      Alert("Код ошибки ",GetLastError());}
//---
   return(INIT_SUCCEEDED);
  }
  
  void OnDeinit(const int reason)
  {
//---

   FileClose(HandleFile);                  // Закрываем файл
   Print("Файл ",File_Name," закрыт.");// Сообщение

   
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

// Эксперт

int Handle;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+

int OnInit()
  {
//---
  Handle=iCustom(NULL,0,"TestIndFile");
    if(Handle==INVALID_HANDLE)
     {
      //--- сообщим о неудаче и выведем номер ошибки
      PrintFormat("Не удалось создать хэндл индикатора TestIndFile для пары %s/%s, код ошибки %d",
                  _Symbol,
                  EnumToString(_Period),
                  GetLastError());
//---
  }  
  return(INIT_SUCCEEDED);
  }
Файлы:
 
что то никто не хочет сказать правду)))

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам

Valeriy Yastremskiy, 2023.09.15 11:47

Просто вопрос возник при просмотре доков, сколько цветов можно прописать в этом типе рисования?
#property indicator_type1   DRAW_COLOR_CANDLES 
#property indicator_color1  clrLightSteelBlue,clrRed,clrBlue // в справке не нашел сколько? в примерах еще есть 8 цветов.

 
Valeriy Yastremskiy #:

Закрытие в окне теста этого индикатора тоже не помогает, только закрыть терминал и тогда файл становится свободным. 

Как то можно закрыть файл?

А может, просто открывать с FILE_SHARE_READ?

 
Valeriy Yastremskiy #:
что то никто не хочет сказать правду)))

https://www.mql5.com/ru/docs/customind/indicators_examples/draw_color_line

Цвета можно задавать директивой компилятора #property indicator_color1 через запятую. Количество цветов не может превышать 64.
Документация по MQL5: Пользовательские индикаторы / Стили индикаторов в примерах / DRAW_COLOR_LINE
Документация по MQL5: Пользовательские индикаторы / Стили индикаторов в примерах / DRAW_COLOR_LINE
  • www.mql5.com
DRAW_COLOR_LINE - Стили индикаторов в примерах - Пользовательские индикаторы - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Valeriy Yastremskiy #:

Такое неудобство возникло, пишу в файл и индикаторе, который вызывается советником. В терминале в чарте отрабатывает открытие и закрытие файла в индикаторе в ОнДеинит индикатора. А в тестере ОнДеинит индикатора по окончании теста не отрабатывает, у эксперта отрабатывает. Закрытие в окне теста этого индикатора тоже не помогает, только закрыть терминал и тогда файл становится свободным. 

Как то можно закрыть файл? к тому же он пишется по пути 

C:\Users\....\AppData\Roaming\MetaQuotes\Tester\.......FF075\Agent-127.0.0.1-3000\MQL5\Files

И как прописать путь, что бы писал в песочницу Тестер, а не в папки агентов тестирования, к тому же они пересоздаются при каждом тестировании и файлы уничтожаются.

Пишите в общую папку и читайте оттуда…

 

Добрый вечер. Подскажите пож. где можно найти настройку или может программу которая делает интерфейс МТ5 с большим полем для графика и маленькими значками вверху и полем цены сбоку. Приятно смотреть на такой интерфейс а где его взять не знаю

 
Alexey Viktorov #:

Пишите в общую папку и читайте оттуда…

Это второй вопрос) каммон папка поверх терминальных, тоже не удобно, надо в имя файла брокера прописывать, что бы различить) 
А как заставить отработать ондеинит индикатора) 
 
JRandomTrader #:

А может, просто открывать с FILE_SHARE_READ?

Ну это не совсем правильно. И открыть сторонней программой все равно не получится. Вопрос то как открытый по хендлу индикатор в тестере завершить штатно. 
 
trader6_1 #:

https://www.mql5.com/ru/docs/customind/indicators_examples/draw_color_line

Цвета можно задавать директивой компилятора #property indicator_color1 через запятую. Количество цветов не может превышать 64.
Спасибо. 
Причина обращения: