• В разделе форекс имеются хорошие бесплатные торговые роботы для МТ4 терминала. Если вы готовы поддержать ресурс финансово ,то есть возможность приобрести любой робот в исходном коде.

Индикатор Medium

coder-ex

Пользователь
Индюк для демки как я понимаю и по этому на реальном счете он не запустится, на демке нормально все запускается
))) тезка, если нужно я тебе в ЛС чуть позже скину окончательный вариант индикатора, а коммерсанты пусть мучаются и гадают что будет дальше с индюком :)[DOUBLEPOST=1412503379][/DOUBLEPOST]
Никогда бы не подумал, что в тестере реал стоит.
Так разъясни, для чего на GBPJPY увеличивать чувствительность в 10 раз?
а смысл объяснять, это ведь коммерческая версия теперь :) могу лишь намекнуть - это не то, что ты думаешь.
 

erch

Пользователь
Вот к чему приводит это увеличение и зачем это надо?

2014-10-05_141648.jpg
[DOUBLEPOST=1412504345][/DOUBLEPOST]
коммерсанты пусть мучаются и гадают что будет дальше с индюком :)
Можно подумать, что твой тезка не коммерсант.[DOUBLEPOST=1412504696,1412504186][/DOUBLEPOST]
Можно подумать, что твой тезка не коммерсант.
А если точнее, то я сам не коммерсант, а не выложил то что ты просил именно по той причине,
чтобы коммерсанты им не воспользовались.[DOUBLEPOST=1412504746]
 

coder-ex

Пользователь
Исправлены все явные баги индикатора, данная версия работает только на Демо счетах. Срок лицензии до 06.11.2014 года.
При получении сообщения о недостаточности баров, необходимо подгрузить историю, либо уменьшить диапазон расчета.
 

Вложения

coder-ex

Пользователь
Добавлено изменение ТФ и исправлена ошибка при выводе буферов индикатора в файл для контроля...
 

Вложения

coder-ex

Пользователь
Т.к. работа логики индикатора восстановлена, то вывод в файл буферов выглядит соответствующе:
upload_2014-10-6_14-19-6.png

erch, обрати внимание на последний столбец, ты говорил о не соответствии значений в буферах. В последнем столбце выводится среднее значение от которого произошел и в дальнейшем идет тренд. Значения 2147483647 соответствуют перечислимому типу в MQL4 - пустое значение, в справке об этом есть информация. Остальные значения кроме столбца SIGNAL соответствуют координатам на чарте линий и стрелок, т.е. информация только для расположения графики. В столбце SIGNAL значения -1 down тренд, 1 up тренд.
Я же тебя поэтому и просил, предоставить код вывода буферов, ты отказался сославшись на коммерческую версию. Я бы тебе еще вчера на твои вопросы ответил, а так могу лишь констатировать - в твоем коде идет путаница с работой буферов и подсказки теперь я тебе дать не смогу - у тебя коммерческая версия :p хотя в чем может быть коммерческая версия в выводе информации, тем более убогом, не понимаю... я "форточки" как в Windows в чартах МТ4 не скрываю, хотя их еще ни где не применяют ...
 

Константин

Администратор
Добавлено изменение ТФ
По ТФ маленько кривовато отображение идет.
Возможна ли такая реализация, что к примеру ставим индикатор на М5, а влотильность и сигналы на вход брать с М15 и что бы отображение линии на М5 шло согласно графику М15 по свечам без их смещения
2014-10-06_18h26_24.png
сейчас если выставить чуствительность ноль, а ТФ М15 на графике М5, то он вот так рисует линии.
 

coder-ex

Пользователь
А у тебя есть еще идеи как его можно улучшить?
Я над этим не задумывался, т.к. была цель исправить код и привести его в порядок, остальное попутно было сделано ;) Сейчас на основе кода создаю метод в библиотеке SCL, что бы можно было использовать в торговых системах идею этого индикатора.[DOUBLEPOST=1412580947][/DOUBLEPOST]
По ТФ маленько кривовато отображение идет.
Возможна ли такая реализация, что к примеру ставим индикатор на М5, а влотильность и сигналы на вход брать с М15 и что бы отображение линии на М5 шло согласно графику М15 по свечам без их смещения сейчас если выставить чуствительность ноль, а ТФ М15 на графике М5, то он вот так рисует линии.
упс... малость ошибку допустил, сейчас исправлю...
 

Константин

Администратор
Еще когда к примеру ставишь на М1 график индикатор, а ТФ отображения ставишь 2 или 3 минуты, то начинает ругаться на недостаточность баров в истории
 

coder-ex

Пользователь
Еще когда к примеру ставишь на М1 график индикатор, а ТФ отображения ставишь 2 или 3 минуты, то начинает ругаться на недостаточность баров в истории
В общем выбор ТФ я убрал, т.к. для правильного вывода на чарт на чужом ТФ, нужно будет переписывать весь код по обработке буферов :) В SCL это будет уже доступно. И еще у тебя тезка ошибка в выборе самого ТФ - в МТ4 нет ТФ М2,М3 и т.д., есть М1,М5 и т.д., я по моему тебе уже писал на соседнем форуме об этом. Прочитай справку по терминалу. Все нестандартные ТФ доступны в офф режиме.
Кстати попробуй использовать для доставки сигналов E-Mail, мне уже доставляет :)
Вот такие сообщения о наличии сигнала приходят на E-Mail
upload_2014-10-6_15-48-16.png
 

Вложения

erch

Пользователь
erch, обрати внимание на последний столбец, ты говорил о не соответствии значений в буферах. В последнем столбце выводится среднее значение от которого произошел и в дальнейшем идет тренд. Значения 2147483647 соответствуют перечислимому типу в MQL4 - пустое значение, в справке об этом есть информация. Остальные значения кроме столбца SIGNAL соответствуют координатам на чарте линий и стрелок, т.е. информация только для расположения графики. В столбце SIGNAL значения -1 down тренд, 1 up тренд.
Все что ты здесь понаписал мне давным-давно известно. Так что можешь не строить из себя учителя.

Я же тебя поэтому и просил, предоставить код вывода буферов, ты отказался сославшись на коммерческую версию. Я бы тебе еще вчера на твои вопросы ответил, а так могу лишь констатировать - в твоем коде идет путаница с работой буферов и
У меня вопросов не было, я просто озвучил факт.
А насчет убогости вывода и "форточек", то эта убогость идет из хелпа и если бы ты туда заглянул, то вопрос о предоставлении кода у тебя бы отпал.
 

coder-ex

Пользователь
:)
Все что ты здесь понаписал мне давным-давно известно. Так что можешь не строить из себя учителя.
У меня вопросов не было, я просто озвучил факт.
А насчет убогости вывода и "форточек", то эта убогость идет из хелпа и если бы ты туда заглянул, то вопрос о предоставлении кода у тебя бы отпал.
Если ты считаешь, что я тебя чему то хочу учить, то ты не правильно меня понял:) Меня просто удивило то, что код, который не несет в себе ни какой ценности, ты решил сославшись на коммерческую тайну скрыть, а мне нужно было лишь глянуть, где возможна ошибка - в выводе у тебя или в неправильной отработке буферов. Конечно я сам все нашел, даже увидел где у тебя ошибки в коде. И специально для тебя сделал выкладку вывода буферов, что бы ты тоже смог исправить эту ошибку.
А кстати, о какой убогости какого хелпа ты говоришь?
Забыл еще уточнить, ты предоставлял вывод буферов

Объясни тогда, почему у тебя пятый буфер выводит вещественные значения, там должны присутствовать только два значения - -1 и 1. Это я к тому, что тебе якобы уже давно об этом известно :) а код не исправляешь и пытаешься задавать вопросы. Плюс к этому в твоем коде распределяется 8 буферов:D два из которых вперемежку используют значение одного и того же расчета, так не должно быть...
 

Константин

Администратор
А еще такой вопросик, для чего вторая линия в индикаторе
2014-10-06_20h45_25.png
 

coder-ex

Пользователь
А еще такой вопросик, для чего вторая линия в индикаторе
Посмотреть вложение 389
Эта линия обзывается Medium-Term Scalper, она участвует в расчете направления тренда. Вообще в индикаторе используется всего 7 буферов, из которых только 4 являются расчетными направления тренда, остальные используются для отрисовки графики на чартах.
 

erch

Пользователь
Объясни тогда, почему у тебя пятый буфер выводит вещественные значения, там должны присутствовать только два значения - -1 и 1
Это из-за вот этой простецкой ф-ии
Код:
string SignalMedInfo(int mod,int sens,int tf,int shift)
{
    double m;
    string n;
    m = iCustom(NULL,tf,"medium_new.ex4",sens,0,0,mod,shift);
    if(m == EMPTY_VALUE) n = "--"; else n = DoubleToStr(m,Digits);
    return(n);
}
Перебирая значения mod, определяющие номер буфера, получаем значения для вывода т.е. ни о какой мешанине
здесь речи и не может быть.
А кстати, о какой убогости какого хелпа ты говоришь?
Ну про убогость говорил ты, а я имел ввиду хелп МЕ, где покопавшись можно отыскать все как сделать
такую "форточку".
 

coder-ex

Пользователь
Это из-за вот этой простецкой ф-ии
Код:
string SignalMedInfo(int mod,int sens,int tf,int shift)
{
    double m;
    string n;
    m = iCustom(NULL,tf,"medium_new.ex4",sens,0,0,mod,shift);
    if(m == EMPTY_VALUE) n = "--"; else n = DoubleToStr(m,Digits);
    return(n);
}
Перебирая значения mod, определяющие номер буфера, получаем значения для вывода т.е. ни о какой мешанине
здесь речи и не может быть.
я там не правильный буфер указал, не 5, а 6-й :)
Суть в том, что всего один буфер использует только 2 значения -1 и 1, это 6-й буфер, у тебя в нем значения идут вещественные (цена), а EMPTY_VALUE в этом буфере не используется для вывода. В общем ошибка у тебя осталась, ее в коде видно.
Ну про убогость говорил ты, а я имел ввиду хелп МЕ, где покопавшись можно отыскать все как сделать
такую "форточку".
Я в хелпе МЕ такого не встречал, даже в хелпе по MQL4 и MQL5 про это не сказано ни слова. Если найдешь, поставлю ящик пива.
Мои "форточки" выполнены на моей библиотеке классов SCL, разработанной не MetaQuotes.
Вот так это выглядело некоторое время назад, теперь чуть изменилось, но суть осталась прежней
 

erch

Пользователь
я там не правильный буфер указал, не 5, а 6-й
Не подскажешь где:
Код:
SetIndexBuffer(1,dBufLine0);
   SetIndexBuffer(2,dBufLine1);
   SetIndexShift(1,iShift);
   SetIndexShift(2,iShift);
   SetIndexBuffer(3,dBufLine2);
   SetIndexBuffer(4,dBufLine3);
   SetIndexBuffer(5,dBufLine4);
   SetIndexBuffer(6,dBufLine5);
   SetIndexBuffer(7,dBufLine6);
   IndicatorShortName("Medium-Term Scalper");
   SetIndexLabel(0,"Medium-Term Scalper");
   SetIndexLabel(1,"UpTrend");
   SetIndexLabel(2,"DownTrend");
   SetIndexDrawBegin(0,iDrawBegin);
   SetIndexDrawBegin(1,iDrawBegin);
   SetIndexDrawBegin(2,iDrawBegin);
   SetIndexDrawBegin(3,iDrawBegin);
   SetIndexDrawBegin(4,iDrawBegin);
   SetIndexDrawBegin(6,iDrawBegin);
   SetIndexDrawBegin(7,iDrawBegin);
Я в хелпе МЕ такого не встречал, даже в хелпе по MQL4 и MQL5 про это не сказано ни слова.
Все дело в том, что подразумевать под "форточкой". Похоже ты увидел не то, что это есть на самом деле.
А это всего лишь OBJ_RECTANGLE_LABEL с кучкой OBJ_LABEL внутри.
 

coder-ex

Пользователь
Не подскажешь где:
Код:
SetIndexBuffer(1,dBufLine0);
   SetIndexBuffer(2,dBufLine1);
   SetIndexShift(1,iShift);
   SetIndexShift(2,iShift);
   SetIndexBuffer(3,dBufLine2);
   SetIndexBuffer(4,dBufLine3);
   SetIndexBuffer(5,dBufLine4);
   SetIndexBuffer(6,dBufLine5);
   SetIndexBuffer(7,dBufLine6);
   IndicatorShortName("Medium-Term Scalper");
   SetIndexLabel(0,"Medium-Term Scalper");
   SetIndexLabel(1,"UpTrend");
   SetIndexLabel(2,"DownTrend");
   SetIndexDrawBegin(0,iDrawBegin);
   SetIndexDrawBegin(1,iDrawBegin);
   SetIndexDrawBegin(2,iDrawBegin);
   SetIndexDrawBegin(3,iDrawBegin);
   SetIndexDrawBegin(4,iDrawBegin);
   SetIndexDrawBegin(6,iDrawBegin);
   SetIndexDrawBegin(7,iDrawBegin);
Но ведь все же на поверхности лежит :) да и написал я тебе уже про это ранее...
Все дело в том, что подразумевать под "форточкой". Похоже ты увидел не то, что это есть на самом деле.
А это всего лишь OBJ_RECTANGLE_LABEL с кучкой OBJ_LABEL внутри.
упс... ты сам то понял что написал, т.е. я писал библиотеку и не видел :) твои же слова о том, что про "форточки" написано в хелпе МЕ :()) , но все дело в том, что в хелпе МЕ про функции по работе с простейшими графическими объектами и по программированию нет тем, эти темы в хелпе MQL4. Да и "форточки" создавать без ООП как то хлопотно...
 

erch

Пользователь
но все дело в том, что в хелпе МЕ про функции по работе с простейшими графическими объектами и по программированию нет тем, эти темы в хелпе MQL4.
Согласен, ошибся. Короче, закончим диспут, оставаясь каждый при своем.[DOUBLEPOST=1412603211,1412601278][/DOUBLEPOST]Константин, а ты чего заблокировал обращение из сова к демо индюку. Появляется страшенная надпись - караул, грабят.
 
Сверху