Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 788

 

Подскажите пожалуйста, как сделать чтобы вот эта конструкция

void OnStart()
  {
   int h=FileOpen("str.bin",FILE_READ|FILE_BIN);
   if(h==INVALID_HANDLE){
      Alert("Ошибка открытия файла");
      return;
   }
   int s=FileSize(h);
   string TXT=FileReadString(h,s);
   Print(TXT);
   FileClose(h);
  }

 в MT5 работала так же как и в МТ4, т.е. переменная ТХТ была читабельна, а не в виде квадратиков.

Похоже что то с кодировками, но как решить не в курсе.

 
Андрей:

Подскажите пожалуйста, как сделать чтобы вот эта конструкция

void OnStart()
  {
   int h=FileOpen("str.bin",FILE_READ|FILE_BIN);
   if(h==INVALID_HANDLE){
      Alert("Ошибка открытия файла");
      return;
   }
   int s=FileSize(h);
   string TXT=FileReadString(h,s);
   Print(TXT);
   FileClose(h);
  }

 в MT5 работала так же как и в МТ4, т.е. переменная ТХТ была читабельна, а не в виде квадратиков.

Похоже что то с кодировками, но как решить не в курсе.

Попробуйте явно указать кодировку. FILE_ANSI или unicode
 
Vladislav Andruschenko:
Попробуйте явно указать кодировку. FILE_ANSI или unicode
Если вместо FILE_BIN взять FILE_ANSI, то от всей строки останется лишь начальный, но читабельный фрагмент, а остального не будет, с unicode же получается  вообще пустая строка. Получается, что если использовать ANSI, то надо считывать построчно до разделителей, а потом сложить все участки дабы получить одну строку. Неужели нет ничего попроще, кроме конечно возврата на МТ4?
 

нет. Вы не вместоа , а вместе. FILE_ANSI

 int h=FileOpen("str.bin",FILE_READ|FILE_BIN|FILE_ANSI);
 
Vladislav Andruschenko:

нет. Вы не вместоа , а вместе. FILE_ANSI

Спасибо, некий прогресс в этом есть, но все же строка получается урезанной в несколько раз.
 

народ! подскажите пожалуйста можно ли вызывая програмно индикатор МА на график задавать ему цвет отрисовки?

так то параметры настройки цвета у индька есть,  а как их вызвать - не ясно ...

h__ = iMA(_Symbol,0,20,0,MODE_LWMA,PRICE_CLOSE);
ChartIndicatorAdd(0,0,h__);
 
elmucon:

народ! подскажите пожалуйста можно ли вызывая програмно индикатор МА на график задавать ему цвет отрисовки?

так то параметры настройки цвета у индька есть,  а как их вызвать - не ясно ...

Можно, но для этого нужно внести изменение в пользовательский индикатор : добавить во входной параметр цвет
в OnInit индикатора применит этот цвет
вызывать этот изменённый индикатор через iCustom

 
Vladimir Karputov:
Можно, но для этого нужно внести изменение в пользовательский индикатор : добавить во входной параметр цвет
в OnInit индикатора применит этот цвет
вызывать этот изменённый индикатор через iCustom


ну так то ясно - думал может проще путь есть ... Спасибо!

думаю разрабам не мешало бы добавить ещё пару параметров для хендла .... 

там даже в структурах не видел изменения цвета ... 

например так

h__ = iMA(_Symbol,0,20,0,MODE_LWMA,PRICE_CLOSE,DRAW_LINE,clrRed);
 
elmucon:

ну так то ясно - думал может проще путь есть ... Спасибо!

думаю разрабам не мешало бы добавить ещё пару параметров для хендла .... 

там даже в структурах не видел изменения цвета ... 

например так

Тогда уж так:

h__ = iMA(_Symbol,0,20,0,MODE_LWMA,PRICE_CLOSE);
ChartIndicatorAdd(0,0,h__,clrRed);
 
Vitaly Muzichenko:

Тогда уж так:

я не против - так тоже норамлёк ... 

Причина обращения: