Скачать MetaTrader 5

трендовая линия по углу созданная из программы как получить её градусы из программы?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Начни зарабатывать с помощью Маркета. Опубликуй продукт!
money_maker
193
money_maker 2015.10.21 13:44 

OBJPROP_ANGLE

Угол. Для объектов с еще не заданным углом, созданных из программы, значение равно EMPTY_VALUE


в документации сказано так , а как узнать угол если линия уже создана , значения заполнены кроме градусов... а градусы нужно получить по тем точкам по которым она нарисована, вопрос ка это сделать ? ...)) 
если её посмотреть в ручную градусы там уже есть ..если попытаться получить их из программы так:  ObjectGetDouble(0,name,OBJPROP_ANGLE); то значения равны нулю(
Boris
3900
Boris 2015.10.21 14:47  
В поиске наберите OBJPROP_ANGLE и разбирайтесь!
Vasyl Nosal
18555
Vasyl Nosal 2015.10.21 15:38  

Думаю что справка как то не так написана.

https://docs.mql4.com/ru/constants/objectconstants/enum_object/obj_trendbyangle 

money_maker
193
money_maker 2015.10.21 21:36  
borilunad:
В поиске наберите OBJPROP_ANGLE и разбирайтесь!
да это первое сделал что в поиске набрал ... ответа там нет ... в docs та же инфа ... поддержка mql4 помочь может ???????? 
money_maker
193
money_maker 2015.10.21 21:37  
иначе зачем нужен официальный источник....  
. ... Rick D. ... .
1176
. ... Rick D. ... . 2015.10.22 00:40  
А что такое угол наклона в 45 градусов на чарте? Это когда сколько пунктов за сколько секунд?
Vasyl Nosal
18555
Vasyl Nosal 2015.10.22 07:35  
RickD:
А что такое угол наклона в 45 градусов на чарте? Это когда сколько пунктов за сколько секунд?
Ты что не знаешь что такое градусы?
Vasyl Nosal
18555
Vasyl Nosal 2015.10.22 07:42  
Money_Maker:
да это первое сделал что в поиске набрал ... ответа там нет ... в docs та же инфа ... поддержка mql4 помочь может ???????? 

Бл..., а прочитать что пишут?

Ссылку мою видел,читал?

Или легче писать "Ой,ну памагите!".

 

Угол можно узнать если объект OBJ_TRENDBYANGLE а не OBJ_TREND 

money_maker
193
money_maker 2015.10.22 08:00  
eevviill:

Бл..., а прочитать что пишут?

Ссылку мою видел,читал?

Или легче писать "Ой,ну памагите!".

 

Угол можно узнать если объект OBJ_TRENDBYANGLE а не OBJ_TREND 

прежде чем здесь написать я этот и другие варианты перепробывал .....  ps и естественно градусы я хочу получить от трендовой линии по углу  OBJ_TRENDBYANGLE  ты сам сначала попробуй прежде чем кого то обвинять
money_maker
193
money_maker 2015.10.22 08:05  
eevviill:

Бл..., а прочитать что пишут?

Ссылку мою видел,читал?

Или легче писать "Ой,ну памагите!".

 

Угол можно узнать если объект OBJ_TRENDBYANGLE а не OBJ_TREND 

попробуй сам , нарисуй канал и кинь данный код туда же, значение появляется только после перекомпиляции при уже созданной линии 

//+------------------------------------------------------------------+
//|                                                0000000000000.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
          
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
for(int i=ObjectsTotal(0,0,-1)-1;i>=0;i--)                     
   { 
      string name = ObjectName(0,i);
      
      if(ObjectType(name) == OBJ_CHANNEL) 
      {
         double   Point_3_Price        = ObjectGet(name,OBJPROP_PRICE3);           // получаем цену цели (верх)
         datetime Point_3_Time         = (datetime)ObjectGet(name,OBJPROP_TIME3);  // получаем дату цели (верх)
         int      Point_3_Num          = iBarShift(NULL,0,Point_3_Time,true);       // получение из даты свечи (номер элемента в массиве-таймсерии)
            
         double   Point_2_Price        = ObjectGet(name,OBJPROP_PRICE2);           // получаем цену цели (верх)
         datetime Point_2_Time         = (datetime)ObjectGet(name,OBJPROP_TIME2);  // получаем дату цели (верх)
         int      Point_2_Num          = iBarShift(NULL,0,Point_2_Time,true);       // получение из даты свечи (номер элемента в массиве-таймсерии)
           
         double   Point_1_Price        = ObjectGet(name,OBJPROP_PRICE1);           // получаем цену цели (верх)
         datetime Point_1_Time         = (datetime)ObjectGet(name,OBJPROP_TIME1);  // получаем дату цели (верх)
         int      Point_1_Num          = iBarShift(NULL,0,Point_1_Time,true);       // получение из даты свечи (номер элемента в массиве-таймсерии)
            
         double   Mirror_Point_3_Price = NormalizeDouble(ObjectGetValueByShift(name,Point_3_Num),Digits);  // получаем цену противоположной линии
         double   Height_Channel       = Point_3_Price - Mirror_Point_3_Price;      // высота канала // ДЛЯ ВОСХОДЯЩЕГО КАНЛА
    
         Angle_MT4 (Point_1_Time, Point_1_Price, Point_2_Time, Point_2_Price); // 1 прошлое (первая точка) // 2 ближе к настоящему (вторая точка)  
  
      }
   }
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  { }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{ }
//+------------------------------------------------------------------+

double Angle_MT4 (datetime time1, double price1, datetime time2, double price2)
{  
   ChartSetInteger(0,CHART_SCALE,2);
   string name = "angle";
   
   ObjectCreate(name,OBJ_TRENDBYANGLE,0,time1,price1);
   ObjectSet(name,OBJPROP_TIME2,time2);
   ObjectSet(name,OBJPROP_PRICE2,price2);
    
   double angle=ObjectGetDouble(0,name,OBJPROP_ANGLE);
   
   Comment(angle);
   return(angle);
}
money_maker
193
money_maker 2015.10.22 09:03  
Уважаемые разработчики данного языка и продукта ответьте пожалуйста на вопрос написанный в заголовке данной темы
12345
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий