Скачать MetaTrader 5

Индикаторы: BarPoints

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Размести программу в Маркете - это 7 миллионов потенциальных клиентов
MetaQuotes Software Corp.
Модератор
181226
MetaQuotes Software Corp. 2010.04.26 08:29 

BarPoints:

BarPoints

Author: excelf

LeMan
500
LeMan 2010.04.26 10:34  
Это Вы так стопы выставляете?
dektec
7
dektec 2010.04.26 15:01  

Попытка создать Supertrend заново не удалась.

Иван Корнилов
544
Иван Корнилов 2010.04.26 15:07  
dektec:

Попытка создать Supertrend заново не удалась.


Supertrend тут не причем, совсем другие алгоритмы
Иван Корнилов
544
Иван Корнилов 2010.04.26 15:08  
leman:
Это Вы так стопы выставляете?
Для стопов думаю не плохо подойдет.
MQL4 Comments
16319
MQL4 Comments 2010.04.26 15:20  
excelf:
leman:
Это Вы так стопы выставляете?
Для стопов думаю не плохо подойдет


Тогда показания индикатора надо отдельно . ну типа 1,3253
MQL4 Comments
16319
MQL4 Comments 2010.04.26 18:59  
Перерисовывает?
Петр
6085
Петр 2010.04.26 19:45  
У вас будет различаться реальная работа и прогон на истории при пересчете из-за этого фрагмента:
        if(Close[i] > High[i + 1] + N) {
            Trand[i] = 1;
        }
        
        if(Close[i] < Low[i + 1] - N) {
            Trand[i] = -1;
        
Дело в том, что Close[0] в реал-тайм может пробить уровень предыдущего High (Low) с отступом, а потом уйти и завершить бар ниже (выше) его. Но переключение тренда произойдет. А на истории Close так и будет Close ниже (выше) High (Low) и никакого преключения тренда в 1 (-1) при пересчете (подключении индикатора, докачке истории) НЕ произодет.
Для того, чтобы избежать этой проблемы достаточно
или вместо Close использовать High (Low),
или сдвинуть все на бар в историю, т.е.:
        if(Close[i+1] > High[i + 2] + N) {
            Trand[i] = 1;
        }
        
        if(Close[i+1] < Low[i + 2] - N) {
            Trand[i] = -1;
        
Можно оставить два варианта - на выбор.
Да, а N удобнее, наверное, задавать в пунктах. И переводить в цены в init(). Но это - дело вкуса.

Удачи.
LeMan
500
LeMan 2010.04.26 22:16  
А этот код не даст использовать индикатор в качестве стопа, так как он его будет передвигать на нулевом баре в противоположную тренду сторону
        if(Trand[i] == 1) {
            DownPoints[i] = Low[i] - shift;
            UpPoints[i] = EMPTY_VALUE;
        } else if(Trand[i] == -1) {
            UpPoints[i] = High[i] + shift;
            DownPoints[i] = EMPTY_VALUE;
        } else {
            UpPoints[i] = EMPTY_VALUE;
            DownPoints[i] = EMPTY_VALUE;
        }
Иван Корнилов
544
Иван Корнилов 2010.04.26 22:49  
leman:
А этот код не даст использовать индикатор в качестве стопа, так как он его будет передвигать на нулевом баре в противоположную тренду сторону
        if(Trand[i] == 1) {
            DownPoints[i] = Low[i] - shift;
            UpPoints[i] = EMPTY_VALUE;
        } else if(Trand[i] == -1) {
            UpPoints[i] = High[i] + shift;
            DownPoints[i] = EMPTY_VALUE;
        } else {
            UpPoints[i] = EMPTY_VALUE;
            DownPoints[i] = EMPTY_VALUE;
        }


А это такой стоп хитрый, который коррекции пропускает и потому о5 идет за трендом
LeMan
500
LeMan 2010.04.26 22:58  
excelf:

А это такой стоп хитрый, который коррекции пропускает и потому о5 идет за трендом

А не разумней закрыться, а потом по новой войти?
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий