Скачать MetaTrader 5

Погрешность!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Igor Knyazkov
1218
Igor Knyazkov  

Здравствуйте. Подскажите, пожалуйста, как можно в коде реализовать следующее:

Low[0]=Low[2]+-(плюс-минус)20 пунктов.

 Другими словами: как записать погрешность в определенное количество пунктов?

Спасибо. 

Vladimir Karputov
Модератор
56061
Vladimir Karputov  
Ermak1243:

Здравствуйте. Подскажите, пожалуйста, как можно в коде реализовать следующее:

 Другими словами: как записать погрешность в определенное количество пунктов?

Спасибо. 

"=" - это оператор присваивания. Поэтому будет или так:

Low[0]=Low[2]+20 пунктов

или так:

Low[0]=Low[2]-20 пунктов
Igor Knyazkov
1218
Igor Knyazkov  
barabashkakvn:

"=" - это оператор присваивания. Поэтому будет или так:

или так:

Ну, я это для примера так написал, чтоб понятно было, что я имею ввиду. А если не через оператор присваивания, то как можно это реализовать? И можно ли вообще?
Vladimir Karputov
Модератор
56061
Vladimir Karputov  
Ermak1243:
Ну, я это для примера так написал, чтоб понятно было, что я имею ввиду. А если не через оператор присваивания, то как можно это реализовать? И можно ли вообще?
Вы определитесь, что Вам нужно: отнимать или вычитать? Если сначала прибавить одно число, а потом отнять это число, то результат прибавления будет ноль. Математика  5 класс.
Igor Knyazkov
1218
Igor Knyazkov  
barabashkakvn:
Вы определитесь, что Вам нужно: отнимать или вычитать? Если сначала прибавить одно число, а потом отнять это число, то результат прибавления будет ноль. Математика  5 класс.

Я-то определился. Сложение и вычитание-это пятый класс. А вот погрешность-шестой.

 Я хочу записать следующее:

Есть уровень. И, если Лоу первой(сформировавшейся) свечи будет находится не РОВНО на этом уровне, а в диапазоне +20 пунктов вверх и -20 пунктов вниз от этого уровня(итого диапазон равен 40 пунктам), то, например, открываем сделку. 

Так как чтоб цена РОВНО от одной цены отбилась 3 и более раз-почти нереально.

Evgeniy Ledovskih
2458
Evgeniy Ledovskih  

Может такая ф-ция поможет.

//+------------------------------------------------------------------+
//| Возвращает:
//|  1 = Попадает в диапазон
//|  0 = Не попадает в диапазон
//| -1 = Ошибка
//+------------------------------------------------------------------+
int isPriceDiapazon(
                    double &PR[],         //Массив с ценами
                    const double price,   //Цена от которой берется диапазон
                    const double diapazon,//Диапазон в пунктах
                    const int count,      //Кол-во баров просмотра
                    const int bar=0       //Стартовый бар начала просмотра
                    )
  {
//---
   if(bar<0) return(-1);
   if(count<=0) return(-1);
   if(diapazon<=0) return(-1);
   if(price<=0) return(-1);
   if(ArraySize(PR)-1<count+bar) return(-1);
   ArraySetAsSeries(PR,true);
//---
   for(int b=bar;b<count && !IsStopped();b++) if(PR[b]>price+diapazon/2 || PR[b]<price-diapazon/2) return(0);
//---
   return(1);
  }
//+------------------------------------------------------------------+
Andrey F. Zelinsky
32257
Andrey F. Zelinsky  
Ermak1243:

Я-то определился. Сложение и вычитание-это пятый класс. А вот погрешность-шестой.

 Я хочу записать следующее:

Есть уровень (level). И, если Лоу первой(сформировавшейся) свечи (Low[1])будет находится не РОВНО на этом уровне, а в диапазоне +20 (delta) пунктов вверх и -20 пунктов вниз от этого уровня(итого диапазон равен 40 пунктам), то, например, открываем сделку. 

Так как чтоб цена РОВНО от одной цены отбилась 3 и более раз-почти нереально.

if(Low[1]+delta*_Point > level && level > Low[1]-delta*_Point) { ... }
Igor Knyazkov
1218
Igor Knyazkov  
abolk:

Я подозревал, что это как-то так записывается:) Я думаю можно это выражение еще попроще записать:

if(Low[1]+delta*_Point > level > Low[1]-delta*_Point) { ... }
Andrey F. Zelinsky
32257
Andrey F. Zelinsky  
Ermak1243:

Я подозревал, что это как-то так записывается:) Я думаю можно это выражение еще попроще записать:

так нельзя записать
Igor Knyazkov
1218
Igor Knyazkov  
abolk:
так нельзя записать
Компилятор не понимает такое выражение?
Andrey F. Zelinsky
32257
Andrey F. Zelinsky  
Ermak1243:
Компилятор не понимает такое выражение?
вы много размышляете -- пропустили через компилятор и так и эдак -- сразу всё поймёте.
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий