трендовая линия или как определить цену

 

Народ подскажите как определить цену пробития трендовой линии (программно) ...или дайте ссылку где можно почитать

пробитие

например я определил 2 неких максимума построил линию...и как узнать пробита ли она?!

 
DanLett:

Народ подскажите как определить цену пробития трендовой линии (программно) ...или дайте ссылку где можно почитать

например я определил 2 неких максимума построил линию...и как узнать пробита ли она?!


формулу прямой на плоскости смотрите. можно в справочнике Выгодского.

 
DanLett:

Народ подскажите как определить цену пробития трендовой линии (программно) ...или дайте ссылку где можно почитать

например я определил 2 неких максимума построил линию...и как узнать пробита ли она?!

double price=NormalizeDouble(ObjectGetValueByShift("ИмяВащейЛинии", 0),Digits); - значение Вашей линии на баре 0.

Ну и самый простецкий способ определить момент пробития на нулевом баре: if(High[0]>price && High[1]<=price) {линия пробита вверх}, if(Low[0]<price && Low[1]>=price) {линия пробита вниз}

 
благодарю!! заработало)
 
DanLett:
благодарю!! заработало)

это не полноценное решение. в будущее не смотрит
 
sergeev:

это не полноценное решение. в будущее не смотрит

Ну как не смотрит. Вот тестовый код

int init() {
 for(int i=2; i>=-10; i=i-2){ 
  double price=ObjectGetValueByShift("TrendLine 42991", i);
  Print("Bar #",i," Значение Trendline=",DoubleToStr(price,8));
 }
 return(0);
}
int deinit() {}
int start() { return(0); }

Вот картинка и журнал, видно, что можно вычислит значение на любом будущем баре. Причем видно, что значение ObjectGetValueByShift не нормализовано.

 
Sepulca:

Ну как не смотрит.

а вот так и не смотрит. у вас частный случай - луч.


а вне отрисовки линии - МТ не рассчитывает данные

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