Помощь в кодировании - страница 193

 

Всем привет!

дорого дня!!!

помогите добавить красную полоску в индикатор

полоска зелёная работает хорошо (медведь;// липа)

красная не работает(бык;//красная;)

заранее Спасибо.

индикатор:

bearbull.mq4

Файлы:
 

Привет Mrtools и Mladen

Я подтверждаю, что TSV Bullish & Bearish - это всего лишь гисто-версия активатора Ганна Хилоу, как вы видите на моей картинке...

Я никогда не пойму, почему некоторые люди любят давать эзотерическое и странное название другому индикатору, который уже существует (Gann Hilow activator - это уже странное и эзотерическое название...) ...

TSV Bullish & Bearish казался мне очень интересным, но вот так, это больше TSH Bullshit & Bearish

Хорошего дня, ребята, и спасибо за ответ.

Zilliq

mrtools:
Zilliq есть версия здесь https://www.forex-tsd.com/forum/debates-discussions/116-something-interesting-please-post-here/page299#comment_679505 с исходным кодом.
Файлы:
 

Младен,

Я попробовал так:

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) return;

static datetime Time0;

if (Time0 == Time[0]) return; // Одно оповещение на бар.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

line = ObjectGet(name, OBJPROP_PRICE1);

}

else if (ObjectType(name) == OBJ_TREND)

{

line = ObjectGetValueByShift(name,0);

}

else continue; // Линия не найдена

if ((High[0]>=(line-_distance) && (line+_distance)>=Low[0]))

{

Text = Symbol()+" M "+Period()+" touched S/R @ "+Close[0];

Alert(Text);

Time0 = Time[0]; // Больше никаких оповещений.

if (Notification) SendNotification(Text);

}

}

//----

Сейчас я не могу протестировать это, потому что нет котировок в реальном времени. Но мне кажется логичным использовать ObjectGetValueByShift() таким образом. Я ищу касания линии только в пределах текущего бара. Поэтому я использовал (name,0).

Но теперь я хотел спросить, действительно ли мне нужно делать различие между OBJ_HLINE и OBJ_TREND. Когда я использую ObjectGetValueByShift(name,0), то я также получаю значение горизонтальной линии или я ошибаюсь? Я не вижу логической разницы между ObjectGet(name, OBJPROP_PRICE1) и ObjectGetValueByShift(name,0), когда нужно только значение линии за текущий период.

Может быть, вы можете немного прояснить этот вопрос? Спасибо!!!

 
Marbo:
Младен,

Я попробовал сделать это следующим образом:

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) return;

static datetime Time0;

if (Time0 == Time[0]) return; // Одно оповещение на бар.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

line = ObjectGet(name, OBJPROP_PRICE1);

}

else if (ObjectType(name) == OBJ_TREND)

{

line = ObjectGetValueByShift(name,0);

}

else continue; // Линия не найдена

if ((High[0]>=(line-_distance) && (line+_distance)>=Low[0]))

{

Text = Symbol()+" M "+Period()+" touched S/R @ "+Close[0];

Alert(Text);

Time0 = Time[0]; // Больше никаких оповещений.

if (Notification) SendNotification(Text);

}

}

//----

Сейчас я не могу протестировать это, потому что нет котировок в реальном времени. Но мне кажется логичным использовать ObjectGetValueByShift() таким образом. Я ищу касания линии только в пределах текущего бара. Поэтому я использовал (name,0).

Но теперь я хотел спросить, действительно ли мне нужно делать различие между OBJ_HLINE и OBJ_TREND. Когда я использую ObjectGetValueByShift(name,0), то я также получаю значение горизонтальной линии или я ошибаюсь? Я не вижу логической разницы между ObjectGet(name, OBJPROP_PRICE1) и ObjectGetValueByShift(name,0), когда нужно только значение линии за текущий период.

Может быть, вы можете немного прояснить это? Спасибо!!!

Marbo

Вы должны сделать различие между горизонтальной линией и линией тренда просто потому, что линия тренда - объект другого типа, чем горизонтальная линия (для горизонтальной линии достаточно прочитать значение цены1 и все, в то время как для линии тренда цена1 совсем не обязательно должна быть такой же, как цена2, и эти цены могут быть совершенно другими, чем цены между ними).

 

Здравствуйте,

Кто-нибудь может помочь решить проблему с этим индикатором?

В визуальном тестере mt4 с включенным режимом Backtesting он работает нормально в режиме mtf (H1-H4 на графике M5)

, но на реальном графике - линии запаздывают.

Спасибо!

mtf_moving_average.mq4

Файлы:
 

Младен,

этот факт я понимаю. Я имею в виду это только для моего простого индикатора. Для меня не важно, откуда и куда идет линия тренда. Мне нужно только ее значение на текущем баре. Поэтому я спросил, могу ли я собрать все вместе и работать только с ObjectGetValueByShift() для обеих линий.

Но, тем не менее, как вы думаете, работает ли это так, как я сделал это в коде выше?

Спасибо!!!

 
Marbo:
Mladen,

этот факт я понимаю. Я имею в виду это только для моего простого индикатора. Для меня не важно, откуда и куда идет линия тренда. Мне нужно только ее значение на текущем баре. Поэтому я спросил, могу ли я собрать все вместе и работать только с ObjectGetValueByShift() для обеих линий.

Но, тем не менее, как вы думаете, работает ли это так, как я сделал это в коде выше?

Спасибо!!!

Marbo

Насколько я понимаю, это должно работать.

 
cain82:
Привет,

Кто-нибудь может помочь решить проблему с этим индикатором?

В визуальном тестере mt4 с включенным режимом Backtesting он работает нормально в режиме mtf (H1-H4 на графике M5)

, но на реальном графике - линии запаздывают.

Спасибо!

mtf_moving_average.mq4

Попробуйте вместо него использовать индикатор из этого сообщения: https: //www.mql5.com/en/forum/173574/page239

 
mladen:
Попробуйте использовать тот, что в этом посте: https: //www.mql5.com/en/forum/173574/page239

Спасибо за ответ!

Но ваш инди работает по-другому.

 
cain82:
Спасибо за ответ! Но ваш инди работает по-другому.

Да, потому что он работает правильно. Если бы все, что нужно исправить, было сделано в том, который вы выложили, они были бы абсолютно одинаковыми.

с уважением

Причина обращения: