Есть ли на данном сайте индикатор уровней поддержки и сопротивления для торгового дня, чтоб не был перерисовываемый. Была возможность выбора так же и для каких свеч его перерисовать(дейли, месяц, неделя). Отображались уровни за предыдущие дни/недели/месяцы. и еще чтобы просчитанные уровни считались верно! аллпивотпоинт делает неверный расчет, взяв калькулятор у меня получились другие цифры, которые подтвердил другой индикатор, но он перерисовывает(есть видимо баг, и он не отображает уровни за прошлые периоды/вычисления)
Уважаемые форумчане помогите найти ошибку в скрипте.
Суть проблемы в следующем есть 4 файла со значениями нужно открыть каждый файл записать всё в массив и рассчитать средние максимальные и минимальные значения и передать потом в другой массив.
Ошибка состоит в следующем при очередном вызове функции GetFileData();, ArrInsertInt(InsertArr, MathAbs(StrToInteger(value))); начинает туда дописывать значения а не писать их заново.
string FNLenUp;//имя файла для записи\чтения длин восходящего движенияstring FNSpeedUp;//имя файла для записи\чтения скорости восходящего движенияstring FNLenDown;//имя файла для записи\чтения длин восходящего движенияstring FNSpeedDown;//имя файла для записи\чтения скорости восходящего движения //----------------------------------------------------------------------------------------------------------//int SpeedArrUp[];//массив времени фиксации цен восходящегоint LengthArrUp[];//массив цен восходящегоint SpeedArrDown[];//массив времени фиксации цен нисходящегоint LengthArrDown[];//массив цен нисходящегоexterndouble percent = 0.005;//пунктыint init()
{
GetNameF();
GetFileData(FNLenUp,LengthArrUp);
GetFileData(FNSpeedUp,SpeedArrUp);
GetFileData(FNLenDown,LengthArrDown);
GetFileData(FNSpeedDown,SpeedArrDown);
}
int GetFileData (string FileName, int& RetArr[])
{
int Handle = 0;//файловый указательint i = 0;
int F_newFile = -1;//Флаг создания нового файла (1)-да (0)-нетint InsertArr[];//Массив для извлечения в него данных из файлаint ArrSize = -1;//Размер массиваint ArrMax = -1;//Максимальное значениеint ArrMin = -1;//Минимальное значениеint ArrAverage = -1;//Среднее значениеstring value = 0;
//---------------------------------------------------------------------////Print(ArrSize);//Смотрим существует ли файл//И меняем флаг что файл не создавался
F_newFile = 0;
//значит открываем его для чтения
Handle=FileOpen("lengthEURUSD0.0050Down.csv", FILE_READ);
if(Handle<1)
{
Print("Ошибка открытия файла для чтения.");
return(0);
}
FileSeek(Handle, 0, SEEK_SET);
while(FileIsEnding(Handle)==false)
{
value =FileReadString(Handle);
if(value!="")
{
//Записываем всё в массив из файла
ArrInsertInt(InsertArr, MathAbs(StrToInteger(value)));
}
if(FileIsEnding(Handle)==true)
{
break;
}
}
//Рассчитываем значения средние максимальные и т.д.
ArrSize = ArraySize(InsertArr);
Print(ArrSize);
//---------------------------------------------------------------------//
ArrMax = ArrayMaximum(InsertArr,ArrSize,0);
ArrMax = InsertArr[ArrMax];
//---------------------------------------------------------------------//
ArrMin = ArrayMinimum(InsertArr,ArrSize,0);
ArrMin = InsertArr[ArrMin];
//---------------------------------------------------------------------//
ArrAverage = 0;
for(i = 0; i<=ArrSize; i++)
{
ArrAverage = ArrAverage+InsertArr[i];
}
ArrAverage = ArrAverage/ArrSize;
//---------------------------------------------------------------------// FileClose(Handle);
//---------------------------------------------------------------------////Смотрим если все значения есть, тогда запихиваем всё в массив и передаём егоif(F_newFile != -1 && ArrSize != -1 && ArrMax != -1 && ArrMin != -1 && ArrAverage != -1)
{
ArrInsertInt(RetArr,F_newFile);
ArrInsertInt(RetArr,ArrSize);
ArrInsertInt(RetArr,ArrMax);
ArrInsertInt(RetArr,ArrMin);
ArrInsertInt(RetArr,ArrAverage);
ArrInsertInt(RetArr,Handle);
Print(RetArr[0],"|",RetArr[1],"|",RetArr[2],"|",RetArr[3],"|",RetArr[4],"|",RetArr[5]);
return (RetArr);
}
//---------------------------------------------------------------------////иначе передаем только файловый указатель
ArrInsertInt(RetArr,Handle);
ArrInsertInt(RetArr,F_newFile);
return (RetArr);
}
void GetNameF()
{string symbol;//инструмент которым будем торговать//создаём имя файла
symbol = Symbol();
//---------------------------------------------------------------------------------------------------------------------------//
FNLenUp = "length"+symbol+DoubleToStr(percent,4)+"up";
//--------------------------------------------------------//
FNSpeedUp = "speed"+symbol+DoubleToStr(percent,4)+"up";
//--------------------------------------------------------//
FNLenDown = "length"+symbol+DoubleToStr(percent,4)+"Down";
//--------------------------------------------------------//
FNSpeedDown = "speed"+symbol+DoubleToStr(percent,4)+"Down";
}
int ArrInsertInt(int& m[], int e, int p=-1) {
int j, k=ArraySize(m);
p=-1;
ArrayResize(m, k+1);
if (p>=0 && p<k) {
for (j=k; j>p; j--) m[j]=m[j-1];
m[p]=e;
} else m[k]=e;
return(k+1);
}
Уважаемые форумчане помогите найти ошибку в скрипте.
Суть проблемы в следующем есть 4 файла со значениями нужно открыть каждый файл записать всё в массив и рассчитать средние максимальные и минимальные значения и передать потом в другой массив.
Ошибка состоит в следующем при очередном вызове функции GetFileData();, ArrInsertInt(InsertArr, MathAbs(StrToInteger(value))); начинает туда дописывать значения а не писать их заново.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Pupersa, найди этот ордер и измени в нём параметр "стоплосс", ничё сложного.
если тебе не трудно можно по подробнее?
Давайте я дам вам гайку, а вы мне скажете почему машина не заводится... :)
С гайкой нужной - можно и сказать... :-)
Прилагаю файл... Заранее спасибо!
если тебе не трудно можно по подробнее?
Уважаемые форумчане помогите найти ошибку в скрипте.
Суть проблемы в следующем есть 4 файла со значениями нужно открыть каждый файл записать всё в массив и рассчитать средние максимальные и минимальные значения и передать потом в другой массив.
Ошибка состоит в следующем при очередном вызове функции GetFileData();, ArrInsertInt(InsertArr, MathAbs(StrToInteger(value))); начинает туда дописывать значения а не писать их заново.
вот скрипт и один из файлов
Уважаемые форумчане помогите найти ошибку в скрипте.
Суть проблемы в следующем есть 4 файла со значениями нужно открыть каждый файл записать всё в массив и рассчитать средние максимальные и минимальные значения и передать потом в другой массив.
Ошибка состоит в следующем при очередном вызове функции GetFileData();, ArrInsertInt(InsertArr, MathAbs(StrToInteger(value))); начинает туда дописывать значения а не писать их заново.
вот скрипт и один из файлов
файл почему то не прикрепляется. вот содержимое:
121
58
91
176
87
58
105
166
95
54
59
99
54
172
79
55
69
110
97
80
119
113
124
68
80
79
51
84
58
112
51
181
Пытаюсь сравнить значения SAR-параболика, текущего и предыдущего. Но не выходит, вот уже день мучаюсь. Почему этот код не работает? Вот код скрипта:
Этот вариант работает: