- В Meta Trader 4 существует графический обьект "трендовая линия по углу".
- [АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3.
- От теории к практике
В данном случае когда приходят тики масштаб экрана меняется и в результатае мы наблюдаем визуальное изменение угла наклона трендовой линии,
Но если использовать фиксированный масштаб то угол наклота трендовой линии останется неизменным поэтом урасхождение визуального и числового значения и заключаються в такой ситуации разном варианте отображения и рапсчета
В Meta Trader 4 существует графический обьект "трендовая линия по углу". Пробовал использовать его в советнике. В режиме визуализации при тестировании видно как линия меняет наклон с приходом новых тиков, но значение угла в градусах при этом остается неизменным. Кто знает, в чем тут проблема, подскажите пожалуйста.
Проверил. Не меняется не только угол, но и сама линия не наклоняется. Вот текст программы советника где используется эта линия и файл кода. Думаю ошибка в терминале.
//+------------------------------------------------------------------+
//| Линия тренда по углу.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("Линия");
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
ObjectDelete("Линия");
datetime V1 = iTime(NULL,0,0); //----последнняя координата времени
datetime V2 = iTime(NULL,0,7); //----первая координата времени
double V3=Low[7]; //---- минимальная цена для первой координаты времени
double V4=Low[0]; //---- минимальная цена для поседней координаты времени
NormalizeDouble(V3,Digits);
NormalizeDouble(V4,Digits);
ObjectCreate("Линия", OBJ_TRENDBYANGLE, 0, V2, V3, V1, V4); //----создание трендовой линии по углу
WindowRedraw();
double W = ObjectGet("Линия", OBJPROP_ANGLE); //----получение значения угла
Alert("Угол равен ",W); //----вывод значения угла в сообщении
//----
return(0);
}
//+------------------------------------------------------------------+
Скорее всего, ошибка у Вас в коде и заключается в том, что Вы не проверяете ситуацию на существование объекта. Соответственно, при всех последующих вызовах, кроме первого, функция ObjectCreate не отрабатывает (координаты остаются прежними). Чтобы изменить координаты существующего объекта, вызывайте ObjectSet.
Координаты первой точки меняются, не меняются координаты второй точки, отвечающей за наклон. С каждым новым тиком обьект сначала удаляется, а потом создается, поэтому все равно первый вызов или пятый.
делал такого эксперта на заказ, рисует четко по углу и при изменении масштаба не меняет положение.
за половину стоимости напишу еще раз. :-)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования