Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Создавай интересные темы на форуме по автоматическому трейдингу!
koko_moko
317
koko_moko 2016.08.29 12:10 
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
  {
   if (id==CHARTEVENT_CLICK ) {
                  ChartXYToTimePrice(0,lparam,dparam,window,X_click,Y_click); 
   
                  ObjectCreate(0,"anglestok",OBJ_TRENDBYANGLE,0,X_click,Y_click);
                  ObjectSetInteger(0,"anglestok",OBJPROP_SELECTED,true);
                  ObjectSetInteger(0,"anglestok",OBJPROP_RAY_RIGHT,false);
		  
                  ObjectMove(0,"anglestok",0,X_click,Y_click); 
                  ObjectMove(0,"anglestok",1,TimeCurrent(),Y_click+0.005);ChartRedraw(); 
                  anglestok=ObjectGetDouble(0,"anglestok",OBJPROP_ANGLE);  
                  Print(anglestok);
                              }
   }
 int window=0;                                                
 double anglestok; 
 datetime X_click; double Y_click;              

это - дает угол 0 когда визуально он не 0. много чего перепробовал. как работает механизм присваивания цифры -линии?

OBJPROP_ANGLE

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

 что с этим поделать ?

Alexey Viktorov
5179
Alexey Viktorov 2016.08.29 13:04  

Это совершенно из другой оперы.

Угол линии можно определить только условно. Изменив масштаб графика изменится и угол линии.

koko_moko
317
koko_moko 2016.08.29 13:14  
AlexeyVik:

Это совершенно из другой оперы.

Угол линии можно определить только условно. Изменив масштаб графика изменится и угол линии.

1:1 слышали ? а вообще как это, 90 он и в африке 90 при любом масштабе. то трендовая линия меняется. верно говорите?
LRA
321
LRA 2016.08.29 14:58  

Отношения разности цен к интервалу времени вполне хватит для расчетов. Но вот так можно получить угол в градусах:


//+-----------------------------------+
//| Параметны линии       С-Проба.mq4 |
//+-----------------------------------+
#property strict
void OnStart()
{   
   datetime Врем0, Врем1double Цена0, Цена1;  int x0, x1, y0, y1;
   Врем0=datetime(ObjectGetInteger(0, "МояЛиния", OBJPROP_TIME, 0));
   Врем1=datetime(ObjectGetInteger(0, "МояЛиния", OBJPROP_TIME, 1));

   Цена0=ObjectGetDouble(0, "МояЛиния",OBJPROP_PRICE,0);
   Цена1=ObjectGetDouble(0, "МояЛиния",OBJPROP_PRICE,1);

   // Преобразование логических координат в физические пиксели
   ChartTimePriceToXY(0, 0, Врем0, Цена0, x0, y0);
   ChartTimePriceToXY(0, 0, Врем1, Цена1, x1, y1);
   
   Alert("Интервал времени = ", int(Врем1-Врем0),        // Замечательная вещь АЛЕРТ!
         "   Разность цен = ", NormalizeDouble(Цена1-Цена0,5),
         "   x1-x0 = ",x1-x0 ,"   y0-y1 = ",y0-y1,       // y наоборот, т.к. от верхнего угла
         "   Угол = ", atan(double(y0-y1)/double(x1-x0))*180/3,142);
}
koko_moko
317
koko_moko 2016.08.29 15:28  
LRA:

Отношения разности цен к интервалу времени вполне хватит для расчетов. Но вот так можно получить угол в градусах:


можно и так. спасибо за ваш труд. int(Врем1-Врем0)  это так надо только в алерте ? никогда такого не видел  

ваааааААА с каких пор можно использовать кирилицу в именах переменных????????? только узнал 

я в тригонометрии вообще лишний. поискал формулу эту, не нашел. а вы можете дать источник с этой формулой ? 

Boeing747
241
Boeing747 2016.08.29 17:25  
лично мне никогда не было интересно под каким углом взвился тренд. действительно. когда переключаешь график с одного таймрейма на другой угол наклона трендовой линии меняется причем заметно. 
LRA
321
LRA 2016.08.30 07:23  
mario_SC--: источник с формулой ? 

Математика - это умение составить нужную формулу из элементарных частиц. Отношение противолежащего катета (разности цен) к прилежащему (интервалу времени) = тангенс угла. Вот ссылка на тригонометриюВот еще ссылка  Функция АркТангенс дает угол по известному углу. Но угол будет в радианах. Вот ссылка на перевод в градусы.  

koko_moko
317
koko_moko 2016.08.30 07:52  
LRA:

Отношение противолежащего катета (разности цен) к прилежащему (интервалу времени) = тангенс угла. Вот ссылка на тригонометриюВот еще ссылка

Функция АркТангенс дает угол по известному углу. Но угол будет в радианах. Вот ссылка на перевод в градусы.  

спасибо умный человек. 

 попробовал кирилицу- не такая уж хорошая идея. 1) весь код то на английском. что б ввести имя переменной надо переводить раскладку. 2) при вводе кирич имени переменной нет списка имен . 3) кирилические переменные не получается отследить отладчику 

Алексей Тарабанов
7220
Алексей Тарабанов 2016.08.30 20:27  
mario_SC--:

спасибо умный человек. 

 попробовал кирилицу- не такая уж хорошая идея. 1) весь код то на английском. что б ввести имя переменной надо переводить раскладку. 2) при вводе кирич имени переменной нет списка имен . 3) кирилические переменные не получается отследить отладчику 

Мне тоже не нравится вышивавать узелком,- больше люблю грибы собирать. 
Alexey Viktorov
5179
Alexey Viktorov 2016.08.31 06:02  
mario_SC--:

спасибо умный человек. 

 попробовал кирилицу- не такая уж хорошая идея. 1) весь код то на английском. что б ввести имя переменной надо переводить раскладку. 2) при вводе кирич имени переменной нет списка имен . 3) кирилические переменные не получается отследить отладчику 

Чтобы не переключать раскладку поставь Punto Switcher. Мне нравится, полезная штука.

А использовать кириллицу в именах переменных мне тоже не нравится, хотя в примерах можно иногда.

Tecuciztecatl
70
Tecuciztecatl 2016.09.10 18:08  

...а потом иностранцы во фрилансе просят перевод советников 

переменных и комментов %)

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