Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здраствуйте.
Недавно только начал изучать MQL, стараюсь написать советник...
Советник на основе индикатора sidus v.2, Нужно чтоб он откривал позицыю в указаном советником направлении только при рождении нового бара, тоисть на первому тику проверял есть ли сигнал на предидущем баре, и какой.Ордера - с фиксированым стопом и тейком. Файл индикатора прикрепляю...
У меня чтото никак не получается считать этот сигнал((
Помогите, иль хоть подскажите как это сделать...
Советник на индикаторе Sidus
мож это те поможет или поиск поможет!
или второе дыхание!
Спасибо vvavva. Ето конешно хорошо, но он в отличии от индикатора пропускает и делает много левых сигналов, а это уже не то чно нужно (
Подскажите кто нить, как можно запросить состояния буфера индикатора на предыдущем баре из советника? если он заполняет буфер так:
if (sigCurrent==1 && sigPrevious==2)
{
ExtMapBuffer4[i-1] = High[i-1]-5*Point;
//ExtMapBuffer3[i] = Ask;
entry=true;
entry_point=Ask;
}
else if (sigCurrent==2 && sigPrevious==1)
{
ExtMapBuffer3[i-1] = Low[i-1]-5*Point;
//ExtMapBuffer4[i] = Bid;
entry=true;
entry_point=Bid;
}
Советнику нужно совпадение условий, гдето таких:
double Up;
double Down;
int res;
Up=iCustom(NULL, 0,"sidus_v.2", 3, 1);
Down=iCustom(NULL,0,"sidus_v.2",2,1);
//---- sell conditions
if(Down==Low)
{
res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"",MAGICMA,0,Red);
return;
}
//---- buy conditions
if(Up==High)
{
res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",MAGICMA,0,Blue);
return;
}
Но это неверно!!
Подскажите плиз как поступить в таком случае...
Здраствуйте.
по- тихонько торгую, пользуюсь 4 индюками, линии подержки сопротивления, тренды, бла, бла, бла... на экране глаза сломал, помогите вставить в индюк звуковой сигнал по стрелкам (бай, сел) и теже стрелки в истории пунктирной линией (перересованные им же)
Здраствуйте.
Недавно только начал изучать MQL, стараюсь написать советник...
Советник на основе индикатора sidus v.2, Нужно чтоб он откривал позицыю в указаном советником направлении только при рождении нового бара, тоисть на первому тику проверял есть ли сигнал на предидущем баре, и какой.Ордера - с фиксированым стопом и тейком. Файл индикатора прикрепляю...
У меня чтото никак не получается считать этот сигнал((
Помогите, иль хоть подскажите как это сделать...
Привет, просто пробежала код глазами, прости я ламер жуткий, могу ошибаться, конечно же, но индикатор не перерисовывает ли? Просто давай попробуем логически подумать
считать с нулевого бара до всех баров в истории, счетчик увеличивать.
ну тут все ясно
макдак пшел
Если макдак больше нуля и RSI больше 50 то сиг у нас равен 1, а если меньше то 2-м
Пока все верно
так а вот тут я не поняла О_о, если одновременно выполняется условие, что макдак положительный и RSI больше 50 и макдак отрицательный и RSI меньше 50... так как ниже в коде прописано условие
то мы можем их приравнять...
да и воровать будующее-дурной тон
Нет так не пойдет, давай заменим на вот так, точнее полностью переделаем, логику то мы уже знаем:
А теперь смотри, печальная картинка выходит, сравни:
Хотя я могу конечно ошибаться и индикатор не перерисовывает, но тогда прости меня, и возможно тебе поможет использование цен открытия (особенно в РСИ), а не закрытия, для того, чтобы сигнал у тебя возникал ровно на том баре где и должен =(
Спасибо за заботу vtoroe_dyxanie ))) Индикатор писал конешно не я, по всем моим наблюдениям он показания свои не перерисовывает. Я его использую с первого тика следующего бара когда он уже закрепился. Поэтому мне и нужно на первом тике узнать в советнике что же было на предыдущем баре??? А почему же он будущее ворует?? Он же, вроде, на даном тике если такое совпадение есть sigCurrent присваивает единицу, и в конце переменной sigPrevious присваивает эту же sigCurrent:
sigPrevious=sigCurrent;
а потом на следующем тике если sigCurrent равно уже 2 и переменная sigPrevious естественно 1 заполняет буфер:
if (sigCurrent==1 && sigPrevious==2)
{
ExtMapBuffer4[i-1] = High[i-1]-5*Point;
//ExtMapBuffer3[i] = Ask;
entry=true;
entry_point=Ask;
}
А на щет этого:
ExtMapBuffer3[i-1]
я и сам до конца не понимаю...
Но работает вроде нормально, стрелки рисует на баре на котором появляется сигнал!
А вот убрал -1, появилось много сюрпризов(
Спасибо за заботу vtoroe_dyxanie ))) Индикатор писал конешно не я, по всем моим наблюдениям он показания свои не перерисовывает. Я его использую с первого тика следующего бара когда он уже закрепился. Поэтому мне и нужно на первом тике узнать в советнике что же было на предыдущем баре??? А почему же он будущее ворует?? Он же, вроде, на даном тике если такое совпадение есть sigCurrent присваивает единицу, и в конце переменной sigPrevious присваивает эту же sigCurrent:
sigPrevious=sigCurrent;
а потом на следующем тике если sigCurrent равно уже 2 и переменная sigPrevious естественно 1 заполняет буфер:
if (sigCurrent==1 && sigPrevious==2)
{
ExtMapBuffer4[i-1] = High[i-1]-5*Point;
//ExtMapBuffer3[i] = Ask;
entry=true;
entry_point=Ask;
}
А на щет этого:
ExtMapBuffer3[i-1]
я и сам до конца не понимаю...
Но работает вроде нормально, стрелки рисует на баре на котором появляется сигнал!
А вот убрал -1, появилось много сюрпризов(
Но есть в нем еще один побочный ефект. Иногда, при выполнении условий, он сигнал подает а стрелки не рисует. Но когда я его кидаю наново на график все стрелки стают на свое место. Может както можна сделать чтоби он толи "компилился" на графике наново, или обновлял наново свои бефера???
А почему же он будущее ворует?? Он же, вроде, на даном тике если такое совпадение есть sigCurrent присваивает единицу, и в конце переменной sigPrevious присваивает эту же sigCurrent:
sigPrevious=sigCurrent;
а потом на следующем тике если sigCurrent равно уже 2 и переменная sigPrevious естественно 1 заполняет буфер:
if (sigCurrent==1 && sigPrevious==2)
{
ExtMapBuffer4[i-1] = High[i-1]-5*Point;
//ExtMapBuffer3[i] = Ask;
entry=true;
entry_point=Ask;
}
Ваша правда, невнимательная я...
Насчет: " Я его использую с первого тика следующего бара когда он уже закрепился. Поэтому мне и нужно на первом тике узнать в советнике что же было на предыдущем баре??? " И правда интересно, а нельзя ли использовать
всезнающая справка говорит о том, что
интересно, а так можно записать (интересно самой стало)
for (i=0; i<limit;i++){
if (iCustom(NULL, 0,"sidus_v.2", 3, i+1)<0 && iCustom(NULL, 0,"sidus_v.2", 3, i)>0)
....
так как оооочень ВумныЕ форумчане врядли снизойдут до двух нубов, ушла повышать квалификацию самостоятельно, ибо может пригодиться.
Ваша правда, невнимательная я...
Насчет: " Я его использую с первого тика следующего бара когда он уже закрепился. Поэтому мне и нужно на первом тике узнать в советнике что же было на предыдущем баре??? " И правда интересно, а нельзя ли использовать
всезнающая справка говорит о том, что
интересно, а так можно записать (интересно самой стало)
for (i=0; i<limit;i++){
if (iCustom(NULL, 0,"sidus_v.2", 3, 1)<0 && iCustom(NULL, 0,"sidus_v.2", 3, 0)>0)
....
так как оооочень ВумныЕ форумчане врядли снизойдут до двух нубов, ушла повышать квалификацию самостоятельно, ибо может пригодиться.
Нет не получится =(
Блин, а как тогда решить этот вопрос? Ну раз вы ветку уже подняли: https://www.mql5.com/ru/forum/117268 будем следить =)
Нет не получится =(
Блин, а как тогда решить этот вопрос? Ну раз вы ветку уже подняли: 'Как из советника узнать направление' будем следить =)
можно за компанию в слежке поучавствовать!?)
Нет не получится =(
Блин, а как тогда решить этот вопрос? Ну раз вы ветку уже подняли: 'Как из советника узнать направление' будем следить =)
привет! помнишь я у тебя просил помощи? если не трудно можешь еще подсказать? то что ты тогда для меня сделала это то что я сейчас написал (я хотел так что бы индикатор показывал ближайшие крайние таймфреймы отображалтсь в одном окне!) это то????