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

 
freakout:
http://www.forexmt4.com/mt_yahoo/Pattern_Hammer_Shooting_Star.mq4 - но в данном случае это возможно... Я знаю, что есть способ исправить это, потому что он работает в похожих индикаторах, но здесь что-то не так с кодом...

Из того, что я вижу, этот индикатор тоже показывает паттерны с задержкой не менее 1 бара. Чем больше вы переходите к более сложным паттернам (которые этот индикатор вообще не способен распознать), тем больше шансов, что задержка должна быть больше.

 
mladen:
Из того, что я вижу, этот индикатор тоже показывает паттерны с задержкой как минимум в 1 бар. Чем больше вы переходите к более сложным паттернам (которые этот индикатор вообще не способен распознать), тем больше вероятность того, что задержка тоже должна быть больше.

нет, он появляется сразу после закрытия свечи, если значение shift равно 1 когда shift=2 то у вас задержка в 1 бар Я проверял это несколько раз и единственная проблема в моем индикаторе в том, что когда я меняю shift=2 на shift=1 он сдвигает все на 1 свечу вправо - не влево, так что что-то не так...

 
freakout:
нет, он появляется сразу после закрытия свечи, если значение shift равно 1 если shift=2 то у вас задержка в 1 бар Я проверял это несколько раз и единственная проблема в моем индикаторе в том, что когда я меняю shift=2 на shift=1 он сдвигает все на 1 свечу вправо - не влево, так что что-то не так...

Я не знаю, о каком индикаторе вы сейчас говорите.

Если вы говорите о том, который по ссылке, то если вы посмотрите на эту часть кода :

shift1 = shift + 1;

shift2 = shift + 2;

shift3 = shift + 3;

shift4 = shift + 4;

Вы увидите, что (из-за этой части "+1" в первой строке) он всегда отстает как минимум на 1 бар. Попробуйте заменить 1,2,3 и 4 на 0,1,2 и 3 (кто знает, может сработает). Если вы найдете похожую часть кода в другой программе, попробуйте сделать то же самое и с ней.

 

Я нашел хороший индикатор Murrey Math, но эти линии над экраном немного мешают, и я хотел бы обрезать эти горизонтальные линии с помощью RAY. Я пытался добавить "ObjectSet(buff_str, OBJPROP_RAY, false);", но ничего не вышло.

Может быть, кто-нибудь сможет мне помочь?

Файлы:
 

Здравствуйте Mladen, спасибо за всю вашу помощь на этом форуме. Подскажите, пожалуйста, как заставить этот индикатор работать с советником, покупать, продавать и закрывать позиции при появлении стрелки. Я собираюсь использовать настройки индикатора в режиме MTF на определенном таймфрейме, который как оказалось не перерисовывается.

Заранее спасибо.

Файлы:
 

Младен, я не знаю, как разрешить эту ситуацию.

Помогите мне, пожалуйста, если у вас есть время.

Спасибо!

For example:

When Buffer = 3, Buffer = 2, Buffer = 1, Buffer = 1, Buffer = 1, Buffer = 1; "max" data is correct.

---------------------------------------------------------------------------------------

int Lines_Break = 3;

int j = i; while (Buffer [j + 1] == Buffer [j + 2]) j ++;

double max = Buffer [ArrayMaximum (Buffer, Lines_Break, j + 1)];

---------------------------------------------------------------------------------------

However, this time when the array becomes: Buffer = 3, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 1; "max" data is wrong.
 
Anyway:
Младен, я не знаю, как разрешить эту ситуацию.

Помогите мне, пожалуйста, если у вас есть время.

Спасибо!

For example:

When Buffer = 3, Buffer = 2, Buffer = 1, Buffer = 1, Buffer = 1, Buffer = 1; "max" data is correct.

---------------------------------------------------------------------------------------

int Lines_Break = 3;

int j = i; while (Buffer [j + 1] == Buffer [j + 2]) j ++;

double max = Buffer [ArrayMaximum (Buffer, Lines_Break, j + 1)];

---------------------------------------------------------------------------------------

However, this time when the array becomes: Buffer = 3, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 1; "max" data is wrong.

Вы тестируете только 3 элемента (элементы Lines_break) и ваша начальная позиция (j+1 выражение) должна быть i - нет необходимости изменять ее. Я предполагаю, что в данном случае вы работаете с буфером, а не с массивом).

 
mladen:
Вы тестируете только 3 элемента (элементы Lines_break) и ваша начальная позиция (j+1 выражение) должна быть i - нет необходимости изменять ее. Я предполагаю, что в данном случае вы работаете с буфером, а не с массивом)

Как перевести равный буфер в единицу?

Например: "Buffer = Buffer = Buffer = Buffer = Buffer".

 
Anyway:
Как перевести равный буфер в единицу? Например: "Buffer = Buffer = Buffer = Buffer = Buffer".

В любом случае

Как я вижу из вашего кода, вам это не нужно. Вы ищете максимальное значение. Есть ли n максимальных значений или только одно, не имеет значения. Важно, что максимальное значение определено.

 
mladen:
В любом случае, как я вижу из вашего кода, вам это не нужно. Вы ищете максимальное значение. Есть ли n максимальных значений или только одно, не имеет значения. Важно, что максимальное значение определено.

Ну, я попробую другой подход.

Спасибо

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