Если Вы хотите заказать советник или индикатор, то публикуйте в эту группу тех. задание. Если Ваш заказ не очень сложный, то велика вероятность, что Вам его смогут сделать даже бесплатно
Программистам MQL: подпишитесь на группу, чтобы получать уведомления о заказах.
Добрый день! Вопрос по индикатору. В задании расчета был пункт — «Если тренд то система учитывает положение текущей цены, к каком пику она ближе если к HIGH значит тренд бычий берутся во внимание только BUY. Если ближе к LOW только SELL.
Вот этот фрагмент кода правильно ли указан?
double lo=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,i+CountBars,i));
double hi=iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,i+CountBars,i));
double mi=(hi+lo)/2;
ВОТ ЭТА СТРОКА if(close[i]>mi && rsi<RSILevel)
Может правильно так double mi=(hi-lo)/2 чтобы найти середину между hi и low и далее указывать close выше или ниже к HIGH или LOW как в задании?
Редактирован: 17 января 2023, 14:42
double mi=(hi-lo)/2
так вы найдете разность экстремумов, и close всегда будет ближе к Low.
ВОТ В ЭТОЙ СТРОКЕ if(close[i]>mi && rsi<RSILevel) все верно, но вы можете поэкспериментировать.
Если цена на графике ближе к LOW 120 последних свечей и RSI выше 55 то продажа
Если цена на грифике ближе к HIGH 120 последних свечей и RSI ниже 55 то покупка.
ВОТ ЭТА СТРОКА if(close[i]>mi && rsi<RSILevel)
Может правильно так double mi=(hi-lo)/2 чтобы найти середину между hi и low и далее указывать close выше или ниже к HIGH или LOW как в задании?
вы если в коде разбираетесь, поменяйте знак и все.
У меня больше вопрос что нам дает
double lo=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,i+CountBars,i));
double hi=iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,i+CountBars,i));
ВОТ ЭТО double mi=(hi+lo)/2; почему складываем и делим на 2 мы же по идеи ищем середину тогда почему складываем????
Комментарии (12)
35 AM2 Сообщений: 16426 - Андрей
35 AM2 Сообщений: 16426 - Андрей
12 serqww Автор Сообщений: 63
Вот этот фрагмент кода правильно ли указан?
double lo=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,i+CountBars,i));
double hi=iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,i+CountBars,i));
double mi=(hi+lo)/2;
ВОТ ЭТА СТРОКА if(close[i]>mi && rsi<RSILevel)
Может правильно так double mi=(hi-lo)/2 чтобы найти середину между hi и low и далее указывать close выше или ниже к HIGH или LOW как в задании? Редактирован: 17 января 2023, 14:42
12 serqww Автор Сообщений: 63
так вы найдете разность экстремумов, и close всегда будет ближе к Low.
ВОТ В ЭТОЙ СТРОКЕ if(close[i]>mi && rsi<RSILevel) все верно, но вы можете поэкспериментировать.
14 verta81 Сообщений: 454
12 serqww Автор Сообщений: 63
Если цена на грифике ближе к HIGH 120 последних свечей и RSI ниже 55 то покупка.
14 verta81 Сообщений: 454
или стрелки наоборот в индикаторе
12 serqww Автор Сообщений: 63
вы если в коде разбираетесь, поменяйте знак и все.
35 AM2 Сообщений: 16426 - Андрей
double lo=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,i+CountBars,i));
double hi=iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,i+CountBars,i));
ВОТ ЭТО double mi=(hi+lo)/2; почему складываем и делим на 2 мы же по идеи ищем середину тогда почему складываем????
12 serqww Автор Сообщений: 63
Верно?
18 Boris54 Сообщений: 812 - ПенSионер
возьмите 2 цены и посчитайте. если бы вы посчитали, вопроса бы не было
35 AM2 Сообщений: 16426 - Андрей
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий