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

 
fxsaber:

Спасибо, хотя я далеко не все тут понимаю.

В частности, где же собственно чтение из файла ?

И почему функции, описанные в документации, как работающие с csv-файлами, на самом деле с ними не работают ?

 
MakarFX:

В этом случае окно алерта не открывается.(

Неправда. Я совсем недавно барабашке задал вопрос..., так он используя своё служебное положение, забанил меня на неделю за этот вопрос. Вам тоже задать этот вопрос?

Ведь я чёрным по-русски написал "ps: Проверил я всё." А вам кто запрещает проверить перед такими заявлениями?

 
Yurixx:

Спасибо, хотя я далеко не все тут понимаю.

В частности, где же собственно чтение из файла ?

И почему функции, описанные в документации, как работающие с csv-файлами, на самом деле с ними не работают ?

На сколько мне известно работают, но возникают проблемы при перемещении указателя в файле.

 

Alexey Viktorov:

Ведь я чёрным по-русски написал "ps: Проверил я всё." А вам кто запрещает проверить перед такими заявлениями?

Вы Бог! Решение было таким легким, а Вы молчали.

Спасибо.

 
Alexey Viktorov:

На сколько мне известно работают, но возникают проблемы при перемещении указателя в файле.

Оказалось дело в другом - MQL5 значительно более строг, чем MQL4.

В функции FileOpen() параметр  delimiter должен быть типа short и при определении его значения нужно использовать только одинарные кавычки.

Кроме того, среди флагов функции обязательно должно присутствовать указание на тип файла FILE_ANSI или FILE_UNICODE.

В противном случае, как у меня, функция весь csv-файл будет загонять в одну скалярную переменную. 

 

Кто может ещё что-то сказать по этому вопросу https://www.mql5.com/ru/forum/160683/page1054#comment_14760155 . Судя по тому что я понял нельзя передавать локальные структуры в функцию они всегда видны по всей функции https://www.mql5.com/ru/forum/160683/page1060#comment_14768305 . Я хочу сделать что такое

int OnInit()
  {
     {
      struct MyPoint// локально объявил структуру внутри функции
        {
         int         x[5];
         int         y;
        };
      MyPoint qw1;
      EqualPointsP(qw1);// передал структуру в функцию EqualPointsP

     }
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason) {}

bool EqualPointsP(MyPoint & qw)
  {
   Print("EqualPointsP ");
   bool f = true;
   return f;
  }

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

 
Seric29:

Кто может ещё что-то сказать по этому вопросу https://www.mql5.com/ru/forum/160683/page1054#comment_14760155 . Судя по тому что я понял нельзя передавать локальные структуры в функцию они всегда видны по всей функции https://www.mql5.com/ru/forum/160683/page1060#comment_14768305 . Я хочу сделать что такое

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

Используйте стилизатор кода (Ctrl + <) - невозможно слёту определить куда и как ваши скобки расставлены - всё вкривь-вкось. По этой причине лично я не глядел. Попробовал, но глаза сказали - брось.., и бросил...

 
MakarFX:

Вы Бог! Решение было таким легким, а Вы молчали.

Спасибо.

Я не молчал, я высказывал то, что помню уже лет 10 как... но в какое-то время произошли изменения и мои знания устарели. Чтобы вас чему-то научить мне пришлось писать код и проверять при разных вариантах. А ведь всё это могли и должны были проверить вы.

Это на будущее. Удачи.

 
Artyom Trishkin:

Используйте стилизатор кода (Ctrl + <) - невозможно слёту определить куда и как ваши скобки расставлены - всё вкривь-вкось. По этой причине лично я не глядел. Попробовал, но глаза сказали - брось.., и бросил...

Ну тут в принципе нечего стилизировать, можно скопировать и вставить в МТ4, я в принципе так и пишу только более сжато. Ну поправил. Можно такие структуры передавать или нет?

 
Seric29:

Ну тут в принципе нечего стилизировать, можно скопировать и вставить в МТ4, я в принципе так и пишу только более сжато. Ну поправил. Можно такие структуры передавать или нет?

А проверить самому? Сложно? И зачем лишнего писать?

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   struct MyPoint// локально объявил структуру внутри функции
     {
      int         x[5];
      int         y;
     } qw1;

   EqualPointsP(qw1);// передал структуру в функцию EqualPointsP
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {}

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool EqualPointsP(MyPoint &qw)
  {
   Print("EqualPointsP ");
   return true;
  }

Я не проверял. Что вам мешает?

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