Не могу найти скрипт mql4.
Есть такой скрипт, чтобы перетащить его мышкой в нужную точку графика и именно с этой точки рисуется линия под выбранным углом (+45 или -45 градусов) ?
Понятие угла для трендовых линий весьма условно. Масштаб меняется очень легко как по горизонтали, так и по вертикали (автоматом). Да и единицы измерения по осям абсолютно не стыкуются. Так что задавать угол в градусах просто несерьёзно.
Для рисования трендовых линий существует стандартный сервис МТ4, читайте инструкцию.
Можно в принципе сделать и скрипт, но туда придётся вводить 4 числа руками (координаты точек начала/конца), так что сервис проще.
Понятие угла для трендовых линий весьма условно. Масштаб меняется очень легко как по горизонтали, так и по вертикали (автоматом). Да и единицы измерения по осям абсолютно не стыкуются. Так что задавать угол в градусах просто несерьёзно.
Для рисования трендовых линий существует стандартный сервис МТ4, читайте инструкцию.
Можно в принципе сделать и скрипт, но туда придётся вводить 4 числа руками (координаты точек начала/конца), так что сервис проще.
Координаты руками вводить не надо. Есть ChartXOnDropped(), ChartYOnDropped(), ChartPriceOnDropped(), ChartTimeOnDropped(), вторую точку можно вычислить программно, как показано в справке. Надо ввести только угол.
Но проще использовать готовый функционал терминала, это да.
// Линия по углу Скрипт взят из справки и сокращен void OnStart() { // Точка вброса скрипта на график ObjectCreate(0,InpName,OBJ_TRENDBYANGLE,0, ChartTimeOnDropped(),ChartPriceOnDropped()) ..............................
45
-45
Спасибо за помощь!!
Чуть подправил ваш скрипт, а то удаляется линия через 5 сек. и так же дополнительную линию запрещает устанавливать.
//+---------------------------------------------------+ //| Copyright © 2017 sLineDegrees.mq4 | //| Трендовая линия по углу в градусах | //+---------------------------------------------------+ #property copyright "Copyright © 2017" #property version "1.0" #property strict #property description "Скрипт строит Трендовую линию по углу в градусах" #property description "от точки вброса скрипта" #property script_show_inputs #define OBJECT_NUM "" extern int LineDegrees = 45; extern int SizeLine = 2; extern color ColorLines = White; //+-----------------------------------------------------------------------------------+ //| Script program start function | //+-----------------------------------------------------------------------------------+ void start() { string ObjName=GetNextObjectName(); ObjectCreate(ObjName,OBJ_TRENDBYANGLE,0,ChartTimeOnDropped(),ChartPriceOnDropped()); ObjectSet(ObjName,OBJPROP_ANGLE,LineDegrees); ObjectSet(ObjName,OBJPROP_COLOR,ColorLines); ObjectSet(ObjName,OBJPROP_WIDTH,SizeLine); ObjectSet(ObjName,OBJPROP_RAY_RIGHT,true); } //+-----------------------------------------------------------------------------------+ //| Возвращает следующий индекс объекта | //+-----------------------------------------------------------------------------------+ string GetNextObjectName() { int rand_val = MathRand() + 1; string retval = OBJECT_NUM + string(rand_val); return(retval); } //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<|
Благодарю за сотрудничество. Продолжим?
Ну, можно и продолжить))
Нашёл вот интересный скрипт, так же чуть подправил.
Он интересен тем, что если перетащить его к любой точке high или low, то линии будут автоматически искать вершины (одноразово).
Можно строить по тренду Magic1 например, далее строить более быстрые движения Magic2 и т.д.
#property copyright "Copyright © 2017" #property version "1.0" #property description "Скрипт строит Трендовые линии автоматически по high low" #property description "от точки вброса скрипта" #property show_inputs extern int SizeLine = 2; extern color ColorLines = White; //+------------------------------------------------------------------+ extern int Magic = 1;// | //Если Magic совпадает при новой точке вброса, | //то линии с этим Magic перестроются, | //а линии с несовпадающем Magic останутся на своём месте | //+------------------------------------------------------------------+
Был такой - Trend_Line. Вот индикаторы: линейная регрессия по методу наименьших квадратов МНК
Регрессия
Был такой - Trend_Line. Вот индикаторы: линейная регрессия по методу наименьших квадратов МНК
Вот для меня интересный индикатор, но он mql5 и не могу его преобразовать в mql4
Индикатор строит трендовые линии по сигналу индикатора RSI, вершины берёт в зоне перекуплености и перепроданости.
преобразовать в mql4 очень просто. Сменил расширение на MQ4. Компилирую.
Ошибка 1 - implicit enum conversion. Выделил ENUM_TIMEFRAMES и нажал ctrl-h заменить все на int Заменено 5
Ошибка 2 - 'i' variable not defined - странно, должен бы понимать ... Объявил в функции OnCalculate int i; и в двух циклах убрал int перед i
Ошибка 3 - IndicatorRelease function not defined - удалил всю функцию OnDeinit
Ошибка 4 - CopyBuffer function not defined - закомментировал ее в 3-х местах вместе с Print
Теперь начинается главное. Закомментировал строки:
// int h_RSI; // Хэндл индикатора RSI
// h_RSI=iRSI(Trade_Symbol,Period_Trade,Period_RSI,PRICE_CLOSE); //возвращаем хэндл индикатора RSI
// if(h_RSI<0) Print("Некорректный хэндл RSI");
// int h _rsi, //хэндл индикатора RSI - в трех последних функцияхНашел и удалил все ,h_rsi в 5 вызовах функций. Ошибки отсутствуют
Удалил в 4 местах ArraySetAsSeries(m_rsi,true); и предшествующее этим строкам описания массива m_rsi
Появилась 3-х кратная ошибка 'm_rsi' - undeclared identifier - ну это уже совсем просто!!!
Заменил m_rsi[...] на iRSI(Trade_Symbol,Period_Trade,Period_RSI,PRICE_CLOSE,...). Заработало. Сейчас прочищу и цвет поярче сделаю...
if(Analyze_Bars>Bars(Trade_Symbol,Period_Trade)) //если в истории меньше баров для анализа, { Print("В истории меньше ",Analyze_Bars,"баров"); //чем задано в параметре bars, то нужно сказать об этом Bars_H=Bars(Trade_Symbol,Period_Trade); Print("Колличество баров в истории = ",Bars_H); } else { Bars_H = Analyze_Bars; } //--- ------------ во время прочистки заменил на -------------- Bars_H=fmin(Analyze_Bars,Bars);
Рост волатильности. Gold и DeepSkyBlue на черном фоне. Меньше часа ушло
падение волатильности - линии сходятся
А причем тут iRSI(...) ? Такую картинку по фракталам построить намного проще!!! Сначала напишу скрипт...
преобразовать в mql4 очень просто. Сменил расширение на MQ4. Компилирую.
Ошибка 1 - implicit enum conversion. Выделил ENUM_TIMEFRAMES и нажал ctrl-h заменить все на int Заменено 5
Ошибка 2 - 'i' variable not defined - странно, должен бы понимать ... Объявил в функции OnCalculate int i; и в двух циклах убрал int перед i
Ошибка 3 - IndicatorRelease function not defined - удалил всю функцию OnDeinit
Ошибка 4 - CopyBuffer function not defined - закомментировал ее в 3-х местах вместе с Print
Теперь начинается главное. Закомментировал строки:
// int h_RSI; // Хэндл индикатора RSI
// h_RSI=iRSI(Trade_Symbol,Period_Trade,Period_RSI,PRICE_CLOSE); //возвращаем хэндл индикатора RSI
// if(h_RSI<0) Print("Некорректный хэндл RSI");
// int h _rsi, //хэндл индикатора RSI - в трех последних функцияхНашел и удалил все ,h_rsi в 5 вызовах функций. Ошибки отсутствуют
Удалил в 4 местах ArraySetAsSeries(m_rsi,true); и предшествующее этим строкам описания массива m_rsi
Появилась 3-х кратная ошибка 'm_rsi' - undeclared identifier - ну это уже совсем просто!!!
Заменил m_rsi[...] на iRSI(Trade_Symbol,Period_Trade,Period_RSI,PRICE_CLOSE,...). Заработало. Сейчас прочищу и цвет поярче сделаю...
А причем тут iRSI(...) ? Такую картинку по фракталам построить намного проще!!!
Да, всё получилось, спасибо))
Посмотрел в тестере, вроде бредовая версия!
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Не могу найти скрипт mql4.
Есть такой скрипт, чтобы перетащить его мышкой в нужную точку графика и именно с этой точки рисуется линия под выбранным углом (+45 или -45 градусов) ?