Ничо с этим не поделашь, ибо
иксы меряем в барах, а
игреки в пунктах =)
з.ы. есть же спец кнопка для подсветки кода,
от фиолетового в глазах рябит =)
Ничо с этим не поделашь, ибо
иксы меряем в барах, а
игреки в пунктах =)
Сколько спрашивал, утверждают, что это невозможно.
Но в терминале вижу обратное, задаю точку и угол и программа строит луч. Ну, не с потолка же, она берёт координаты для построения луча.
А разработчики всё молчат. Игнорируют - "ходят тут всякие ..., интересуются, чтоб им ... было".
Приветствую djday
Аж самому стало интересно Ж)
После 50-й эдак попытки удалось таки увязать вещи казалось бы не совместимые :D
пиксели, пункты, бары и наконец треба угол.
Вот что у меня получилось
//+------------------------------------------------------------------+ //| TrendByAngle.mq4 | //| MaStak | //| | //+------------------------------------------------------------------+ #property copyright "MaStak" #property link "" #property indicator_chart_window extern double ReqAngle=45; double OriginalAngle=45; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init(){ //---- ObjectCreate("Trend",OBJ_TREND,0, Time[49], Close[0], Time[0], Close[0]); ObjectSet("Trend",OBJPROP_COLOR,Blue); ObjectSet("Trend",OBJPROP_WIDTH,1); ObjectSet("Trend",OBJPROP_RAY,true); //---- ObjectCreate("TrendByAngle",OBJ_TRENDBYANGLE,0, Time[0], Close[0]); ObjectSet("TrendByAngle",OBJPROP_ANGLE,OriginalAngle); ObjectSet("TrendByAngle",OBJPROP_COLOR,Red); ObjectSet("TrendByAngle",OBJPROP_WIDTH,1); ObjectSet("TrendByAngle",OBJPROP_RAY,true); //---- Comment(""); //---- return(0);} //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit(){ //---- //---- return(0);} //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start(){ if(NewBar())ObjectSet("TrendByAngle",OBJPROP_ANGLE,OriginalAngle); //---- ObjectSet("TrendByAngle",OBJPROP_PRICE1,Close[0]); ObjectSet("TrendByAngle",OBJPROP_TIME1,Time[0]); double a=(Close[0]-ObjectGetValueByShift("TrendByAngle",49))*MathPow(10,Digits);// скока пунктафф на double b=50 ;// на 50 баров double k=a/b; //---- Comment(k+" "+ObjectGet("TrendByAngle",OBJPROP_ANGLE)); //---- k=k*ReqAngle/OriginalAngle; double Price=Close[0]-50*k/MathPow(10,Digits); ObjectSet("Trend",OBJPROP_TIME1,Time[49]); ObjectSet("Trend",OBJPROP_TIME2,Time[0]); ObjectSet("Trend",OBJPROP_PRICE1,Price); ObjectSet("Trend",OBJPROP_PRICE2,Close[0]); return(0);} //+------------------------------------------------------------------+ bool NewBar(){ // Новый бар=true/ иначе=false if(Open[0]==High[0]&&High[0]==Low[0]&&Low[0]==Close[0])return(true); else return(false);}Остальное сам додумаешь если не лень ;)
Приветствую djday
Аж самому стало интересно Ж)
После 50-й эдак попытки удалось таки увязать вещи казалось бы не совместимые :D
пиксели, пункты, бары и наконец треба угол.
Вот что у меня получилось
//+------------------------------------------------------------------+ //| TrendByAngle.mq4 | //| MaStak | //| | //+------------------------------------------------------------------+ #property copyright "MaStak" #property link "" #property indicator_chart_window extern double ReqAngle=45; double OriginalAngle=45; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init(){ //---- ObjectCreate("Trend",OBJ_TREND,0, Time[49], Close[0], Time[0], Close[0]); ObjectSet("Trend",OBJPROP_COLOR,Blue); ObjectSet("Trend",OBJPROP_WIDTH,1); ObjectSet("Trend",OBJPROP_RAY,true); //---- ObjectCreate("TrendByAngle",OBJ_TRENDBYANGLE,0, Time[0], Close[0]); ObjectSet("TrendByAngle",OBJPROP_ANGLE,OriginalAngle); ObjectSet("TrendByAngle",OBJPROP_COLOR,Red); ObjectSet("TrendByAngle",OBJPROP_WIDTH,1); ObjectSet("TrendByAngle",OBJPROP_RAY,true); //---- Comment(""); //---- return(0);} //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit(){ //---- //---- return(0);} //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start(){ if(NewBar())ObjectSet("TrendByAngle",OBJPROP_ANGLE,OriginalAngle); //---- ObjectSet("TrendByAngle",OBJPROP_PRICE1,Close[0]); ObjectSet("TrendByAngle",OBJPROP_TIME1,Time[0]); double a=(Close[0]-ObjectGetValueByShift("TrendByAngle",49))*MathPow(10,Digits);// скока пунктафф на double b=50 ;// на 50 баров double k=a/b; //---- Comment(k+" "+ObjectGet("TrendByAngle",OBJPROP_ANGLE)); //---- k=k*ReqAngle/OriginalAngle; double Price=Close[0]-50*k/MathPow(10,Digits); ObjectSet("Trend",OBJPROP_TIME1,Time[49]); ObjectSet("Trend",OBJPROP_TIME2,Time[0]); ObjectSet("Trend",OBJPROP_PRICE1,Price); ObjectSet("Trend",OBJPROP_PRICE2,Close[0]); return(0);} //+------------------------------------------------------------------+ bool NewBar(){ // Новый бар=true/ иначе=false if(Open[0]==High[0]&&High[0]==Low[0]&&Low[0]==Close[0])return(true); else return(false);}
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Используется уравнение для построения прямой на плоскости с заданными начальной точкой и углом.
На реальном графике EURGBP(Monthly) наносим луч в 15 градусов от минимума 3 бара(2008.08.01),
надо найти следующую расчётную точку, т.е. на 2 баре(2008.09.01).
При наложении на график луча, следующая точка – 0.7811. График не трогаем, что бы луч не сдвинулся. Окно в максимальном масштабе.
У меня примерно такой скрипт.
Выводит результат:
1.6352
1.6352
Который находится значительно далеко от текущих значений.
А в действительности 0.7811
Далее.
Функция MathTan(q) вводит угол в радианах, Введём в код перевод градусов в радианы:
Выводит результат: 0.5114 и 0.5114. Что, то же очень далеко от значения 0.7811.
Какие значения вводить вместо х и Х?
Спасибо.