Если Вы хотите заказать советник или индикатор, то публикуйте в эту группу тех. задание. Если Ваш заказ не очень сложный, то велика вероятность, что Вам его смогут сделать даже бесплатно
Программистам 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 мы же по идеи ищем середину тогда почему складываем????
[21:02]Erikson: Подскажите пожалуйста! Возможно ли по готовому файлу эксперта (файл ex4) восстановить исходник?
[09:07]Erikson: Не знаю кому написать, поэтому пишу сюда. Пришло сообщение в личку, но при переходе на страницу «Личные сообщения» на странице указано что нет доступа. Кто подскажет с чем это связано?
[16:48]optinskijj: Всех с наступающим Новым годом. вопрос -счёт можно добавить на свою страничку или уже отменили? пробовал и демо и реальный МТ4 -не зашло )
[12:49]Dmitriyya: Подскажите, смотрю советников в файлах, не понимаю что значит трал? Это трейлинг-стоп, но ведь вроде он не работает? Его значение должно быть меньше стопа, верно? Но при этом все советники просто выставляют стоп сразу и фиксируют его. Или я чего-то не понимаю?
Комментарии (12)
34 AM2 Сообщений: 15894 - Андрей
34 AM2 Сообщений: 15894 - Андрей
11 serqww Автор Сообщений: 39
Вот этот фрагмент кода правильно ли указан?
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
11 serqww Автор Сообщений: 39
так вы найдете разность экстремумов, и close всегда будет ближе к Low.
ВОТ В ЭТОЙ СТРОКЕ if(close[i]>mi && rsi<RSILevel) все верно, но вы можете поэкспериментировать.
13 verta81 Сообщений: 356
11 serqww Автор Сообщений: 39
Если цена на грифике ближе к HIGH 120 последних свечей и RSI ниже 55 то покупка.
13 verta81 Сообщений: 356
или стрелки наоборот в индикаторе
11 serqww Автор Сообщений: 39
вы если в коде разбираетесь, поменяйте знак и все.
34 AM2 Сообщений: 15894 - Андрей
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 мы же по идеи ищем середину тогда почему складываем????
11 serqww Автор Сообщений: 39
Верно?
17 Boris54 Сообщений: 761 - ПенSионер
возьмите 2 цены и посчитайте. если бы вы посчитали, вопроса бы не было
34 AM2 Сообщений: 15894 - Андрей
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий