[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 376
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот я применил функцию MathAbs, Alert показывает - ноль и ноль, а хотелось бы - модуль разницы и индекс бара...
{
int mas1[30,2],mas2[30,2],mas3[30,2],ind_1;
{
for (int i=1;i<=count_bars;i++)
{
mas1[i, 0]=Close[i];
mas1[i, 1]=i;
mas2[i, 0]=Open[i];
mas2[i, 1]=i;
mas3[i, 0] = MathAbs(Close[i]-Open[i]);
mas3[i, 0] = i;
ArraySort(mas3);
mod_1=mas3[2, 0];
ind_1=mas3[2, 1];
Alert(mod_1," ",ind_1);
}
}
return(0);
}
привет всем
я новичок в mql4 пытаюсь написать советника эксперта по индикатору aligator
пока нечего дельного не получилось Увы
граждане профисионалы вас такие банальными просьбы,вопросы наверно зай..ли
но все же можно вас профессионалов попросить написать эксперта по индикатору aligator
стратегия пипсовая
позиций Buy и Sell закрвываются придостижний StopLoss и TakeProfit
сигнал на покупку при пересечений зеленой линей синей и красной снизу вверх открывает позицию на Buy
сигнал на продажу при пересечений зеленой линей красной и синеей сверху в низ открываем позицию на Sell
еще что бы советник больше одной сделки не открывал пока не закроет приведушию
StopLoss =10;
TakeProfit =10;
Magic =33;
SlipPage =5;
Lot =0.1;
Заранее спасибо
У вас массивы int, а Open и Close - double
Заменил, все равно нули. И еще - в моих двумерных массивах одно множество -типа double, а второе-то - int (индексы баров). Как привести их к одному типу на время выполнения вычислений, но чтобы при выводе результата опять вернуть к прежнему типу?
А чему у Вас равен count_bars?
А чему у Вас равен count_bars?
count_bars = 30;
Я тут подумал, и решил, что два массива - лишние, они и так программно заданы. Теперь будет проще думать. Как все же привести к одному типу?
{
double mas1[30,2],mod_1;
int ind_1;
{
for (int i=1;i<=30;i++)
{
mas1[i, 0] = MathAbs(Close[i]-Open[i]);
mas1[i, 1] = i;
ArraySort(mas1);
mod_1=mas1[2, 0];
ind_1=mas1[2, 1];
Alert(mod_1," ",ind_1);
}
}
return(0);
}
count_bars = 30;
Тогда замените
на
Тогда замените
на
Заменил. mod_1 выдает множество={1,3,5,7,9,...,29}, а ind_1 продолжает показывать ноль.
не показывает ноль
только код у вас какой-то непонятный
например, массив mas ещё не сформирован, а вы его уже сортируете
может по контексту ваших вопросо лучше так:
Заменил. mod_1 выдает множество={1,3,5,7,9,...,29}, а ind_1 продолжает показывать ноль.
Дааааа.... И почему я такой рассеянный?!
Оказывается, все просто - ArraySort(mas1,30,1,MODE_DESCEND). Всего лишь надо записать, все что положено.
не показывает ноль
только код у вас какой-то непонятный
например, массив mas ещё не сформирован, а вы его уже сортируете