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

 
Здравствуйте. Как зафиксировать вертикальный масштаб что-бы график оставался в окне
 
Галочка "фиксировать масштаб" включает и вторую "max-min" и график убегает из рабочего окна.
 

Всем доброго времени суток. Я тестирую код на mql4 в режиме оптимизация .

extern int G;
double F;
void OnTick()
{
if (Hour()==G){OrderSend(Symbol(),OP_BUY,0.1,Ask, 3,Bid-150*Point,Bid+70*Point,"300",5);F=Bid;}
}

Это код исключительно для демонстрации моей проблемы, а не для торговли. После прогона во вкладке РЕЗУЛЬТАТЫ ОТИМИЗАЦИИ появится информация из которой я смогу узнать при каком значении часа какие результаты торговли были за тестируемый период. Например, я узнаю, что  при значении часа 0 было совершено 50 сделок , которые имели определенные значения  параметров. И эти параметры  отобразятся в заголовке вкладки РЕЗУЛЬТАТЫ ОТИМИЗАЦИИ( проход , прибыль, всего сделок, прибыльность, матожидание, просадка)
ВОПРОС а как мне узнать каким было значение переменно F в которую сохранялась цена каждого открытого ордера? Если бы я тестировал тот же самый код НЕ в режиме оптимизации, то значение F  я бы узнал при помощи функции Print() из созданного лог файла. Но при оптимизации лог файл с такой же детальной информацией не создается. Поэтому подскажите пожалуйста как мне узнать все значения F  при оптимизации в моем вышеописанном  случае. 

Значение цены в переменной F приведено исключительно для примера. На самом деле вопрос стоит шире - как узнать значение любой переменной , которое меняется при открытии каждого ордера.

Всем спасибо за помощь.

 
Сохранять что нужно в течение одного прогона в глобальный массив. При завершении прогона содержимое массива сохранить в файл с участием значения изменяемого параметра в имени файла.
 
Aleksei Stepanenko #:
Сохранять что нужно в течение одного прогона в глобальный массив. При завершении прогона содержимое массива сохранить в файл с участием значения изменяемого параметра в имени файла.

Спасибо за подсказку. А где почитать о том как содержимое массива сохранять в файл? Или если это возможно дайте пожалуйста пошаговую инструкцию как сохранить содержимое массива в файл для моего примера .
Спасибо.

 
ANDREY #:

Спасибо за подсказку. А где почитать о том как содержимое массива сохранять в файл? Или если это возможно дайте пожалуйста пошаговую инструкцию как сохранить содержимое массива в файл для моего примера .
Спасибо.

Про массивы есть хорошая статья. В ней много чего полезного найдёте.

С уважением, Владимир.

 
MrBrooklin #:

Про массивы есть хорошая статья. В ней много чего полезного найдёте.

С уважением, Владимир.

Спасибо Только я учусь программировать на mql4   А статья называется ОСНОВЫ ПРОГРАММИРОВАНИЯ ДЛЯ МQL5 . Или действия по сохранению массива в файл о котором писал Алексей Степаненко в mql4 и  mql5 одинаковые?

Вот я нашел в  mql5  функцию которая сохраняет массив в файл 

bool SaveArrayToFile(string FileName,string &Array[])

А в  mql4 я аналогичной функции не увидел ни в разделе ОПЕРАЦИИ С МАССИВАМИ ни в разделе ФАЙЛОВЫЕ ОПЕРАЦИИ

Спасибо

 

примерно так:

input int a=1;
double My[];


void OnTick()
   {
   if(условие)
      {
      int eFin=ArraySize(My);
      ArrayResize(My,eFin+1);
      My[eFin]=....;
      }
   }
   

double OnTester()
   {
   string eName="My_"+(string)a+".csv";
   if(FileIsExist(eName)) FileDelete(eName)); 
   int eHandle=FileOpen(eName,FILE_CSV|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ,";");
   if(eHandle!=INVALID_HANDLE)
      {
      int eFin=ArraySize(My)-1;
      for(int i=0; i<=eFin; i++)
         {
         FileWrite(eHandle,DoubleToString(My[i],Digits));
         }
      }
      FileClose(eHandle);
      }
   return(0);
   }
Есть функция, которая сохраняет весь массив в файл, но файл при её использовании получается бинарный, и понять его  содержимое невозможно. Поэтому вариант для Вас записывать построчно циклом из массива, как вверху или сверху, как правильно не понимаю.
 
Aleksei Stepanenko #:

примерно так:

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

Спасибо большое за очень  ценную для меня информацию. 

 
Пожалуйста.
Причина обращения: