[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 281

 
DDFedor >>:

не... тормозов - не надь... сам за время изучения не помню, чтобы сталкивался, вот и спросил... через циклы, "слипы", и задержки - не решение... Thanks!

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

 
granit77 писал(а) >>
Мигающий текст.

здОрово! Thanks!

 

Не покажет ли кто пример кода чтения из файла *.csv в массив 1D/2D на MQL5?

С записью проблем не было.

Спасибо.

зы Замечательно будет, если пример будет с классами.

 
joo >>:

Не покажет ли кто пример кода чтения из файла *.csv в массив 1D/2D на MQL5?...

зы Замечательно будет, если пример будет с классами.

Ну и "новички" пошли :)) Пора делать отдельную ветку для "среднего класса".

 
Да блин, уже крышу срывает. :) -издержки работы с бета продуктами. До этого с массивами мучился. Обновился - заработало...
 

Для MQL4:

void start()
{
double m[]={1.1,2.2,3.3,4.4,5.5,6.6};//Массив источник
double m_[6]; //Массив приемник

ArrayInitialize(m_,0);

string str;
int handle;
//=======Запись в массив============
handle=FileOpen("p.csv", FILE_CSV|FILE_WRITE,";");
//Цикл записи строчек в файл
for(int i=0; i<6; i++)
{
str=DoubleToStr(m [i], 8);
FileWrite (handle,str);
}
FileClose(handle);
//==================================

//========Чтение из файла===========
FileOpen("p.csv",FILE_CSV|FILE_READ,";");
int cnt;
while(FileIsEnding(handle)!=true)
{
m_[cnt]=StrToDouble(FileReadString(handle));
cnt++;
}
FileClose(handle);
//==================================

//Посмотрим, что там записалось в массив?
for(i=0;i<6;i++)
{
Alert(m_[i]);
}
}

А для MQL5, оказывается, надо так:

void OnStart()
{
double m[]={1.1,2.2,3.3,4.4,5.5,6.6};//Массив источник
double m_[6]; //Массив приемник

ArrayInitialize(m_,0);

string str;
int handle;
//=======Запись в массив============
handle=FileOpen("p.csv",FILE_CSV|FILE_WRITE,";");
//Цикл записи строчек в файл
for(int i=0;i<6;i++)
{
str=DoubleToString(m[i],8);
FileWrite(handle,str);
}
FileClose(handle);
//==================================

//========Чтение из файла===========
FileOpen("p.csv",FILE_CSV|FILE_READ,";");
for(int i=0;i<6;i++)
{
m_[i]=StringToDouble(FileReadString(handle));
}
FileClose(handle);
//==================================

//Посмотрим, что там записалось в массив?
for(int i=0;i<6;i++)
{
Alert(m_[i]);
}
}

Внимание, вопрос:"Почему?"

 

Можна реализовать такой алгоритм?
1. Что бы советник заглядывал на другой тайм-фрейм и использовать, например, скользящее среднее для фильтрацыи ложных сигналов?
2. Что бы советник поттягивал стоп-лосс, только не на уровень безубыточности, а например: если стоп изначально был выставлен 50 пунктов, а при достижении прибыли 30 пунктов, поттянуть стоп-лосс на 20 п.

 Заранее спасибо!

 
Как упростить шаблон из статьи "Опираясь на силу шаблонов", удалив SL, TP, отложенные ордера и их модификацию. А то невозможно эксперементировать.
 
shap писал(а) >>
Как упростить шаблон из статьи "Опираясь на силу шаблонов", удалив SL, TP, отложенные ордера и их модификацию. А то невозможно эксперементировать.

Для корректного шаблона их присутсвие (SL, TP) не помеха. Да и модификация обычно не мешает. Можно просто отключать. Точнее не вызывать эту функцию