Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Советники

MA_TrendLine_01 - эксперт для MetaTrader 4

Просмотров:
14881
Рейтинг:
(11)
Опубликован:
2012.11.12 16:43
Обновлен:
2014.04.21 14:56
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Советник оптимизирован на пару EURUSD тайм-фрейм М15.


Как известно, основной недостаток МА – это запаздывание. Если, например, сдвинуть МА назад, то текущие бары останутся без МА и принимать решение становится невозможным. Для устранения этого недостатка, на хвост МА вешаем Трендовую Линию (ТЛ) – как возможное продолжение МА и по ней торгуем.

Советник работает на пробой ТЛ.
Алгоритм пробоя вверх:
1. Если первый бар выше ТЛ, а второй коснулся или ниже ТЛ, то это пробой вверх. Выше High первого бара с отступом Otstup_pr_prob устанавливаем BuyStop, SL ордера устанавливаем ниже Low первого бара с отступом Otstup_SL_prob.
2. Если появилось условие для открытия противоположного ордера, закрываем текущий.
(аналогично - пробой вниз)

------------------

Если ордер стал прибыльным используем трейлинг-стоп по волнам.


Описание внешних переменных:
extern double Lot_Osn = 0; // 0 - для расчета лота исп. Risk

extern double Risk = 10; //проценты от баланса для расчета нач. лота
extern bool Risk_from_Balance = false; //true - считаем риск от баланса, false - от своб.средств
// можно в ручную задавать направление открытия ордеров:
extern bool Trend_UP = true; // будут открываться только Buy
extern bool Trend_DW = true; // будут открываться только Sell

extern int TP_prob = 100; // Тейк-профит
extern int Otstup_pr_prob = 7; // для формирования отложенного ордера отступ от High первого бара
extern int Otstup_SL_prob = 10; // отступ от 1 бара для SL

extern bool On_Begin_Torg = true; // использовать время для начало торговли
extern int Begin_Torg = 480; // время начала торговли (отступ от 00:00 в минутах)
extern bool On_End_Torg = false; // использовать время для окончания торговли
extern int End_Torg = 30; // время закрытие всех ордеров (отступ от конца дня в минутах)

extern bool comm = true; // выводить комментарии
extern bool sound = true; // озвучивать открытие ордеров
extern int TF_Torg = 15; // тайм-фрейм торговли
extern int MagicNumber = 335580;
extern int Slippage = 5;
//....................................................
extern int Fractal_Bars = 3; // переменная для формирования фракталов, чем больше тем реже фракталы
extern int Na4_Bar_Fract = 1; // номер бара, с которого начинается поиск фрактала
extern bool Out_Grafic = true; // выводить зиг-заг на экран
extern int IndNumb = 10; // префикс для линий зиг-зага
extern int kol_voln = 20; // кол. волн выводимых на экран
//+------------------------------------------------------------------+
extern bool Open_Del_Otl = true; // удалять встречный отложенный при открытии рыночного ордера
extern bool On_Vstr_Otl = false; // открывать встречные отложенные ордера
extern bool Trail_Stop = true; // использовать трейлинг-стоп по волнам зиг-зага
extern int Volna_Trail_Stop = 1; // по какой волне двигать трейлинг-стоп
//+------------------------------------------------------------------+
extern bool Out_MA = true; // выводить MA
extern int Kol_Bar_MA = 100; // сколько баров МА показывать
extern bool Out_Trend_Line = true; // выводить Трендовую Линию
extern string Name_Trend_Line = "TL_1";// имя трендовой линии

extern int Proc_obraz_zwezd = 10; // процент между (Open-Close)/(High-Low) для принятия бара в качестве "звезды"
//+------------------------------------------------------------------+
extern double Min_Tangens_TL_prob = 0.27; // тангенс угла наклона ТЛ, если он меньше этого значения, то не торгуем
extern double Min_Tangens_TL_clos = 0.13;
//+------------------------------------------------------------------+
extern int BackSteps = 4; // номер бара второй коорд. для форм. ТЛ, первая коорд. - это первый бар МА
extern int MA_Period = 40; // параметры МА: период
extern int MA_Shift = -8; // сдвиг
extern int MA_Method = 0;
extern int MA_Applied_Price = 0;
//-------------------------------
//MA_Method: MODE_SMA 0 Простое скользящее среднее
// MODE_EMA 1 Экспоненциальное скользящее среднее
// MODE_SMMA 2 Сглаженное скользящее среднее
// MODE_LWMA 3 Линейно-взвешенное скользящее среднее
//-------------------------------
//MA_Applied_Price: PRICE_CLOSE 0 Цена закрытия
// PRICE_OPEN 1 Цена открытия
// PRICE_HIGH 2 Максимальная цена
// PRICE_LOW 3 Минимальная цена
// PRICE_MEDIAN 4 Средняя цена, (high+low)/2
// PRICE_TYPICAL 5 Типичная цена, (high+low+close)/3
// PRICE_WEIGHTED 6 Взвешенная цена закрытия, (high+low+close+close)/4
//==================================================================

Тест с 01.01.2012 по 11.11.2012 максимальная просадка около 15%:(начальный депозит 10000 конечный 45326)

Добален индикатор МА, который выводит Трендовую линию на экран. А также в нулевой ячейке первого буфера индикатора - тангенс угла наклона ТЛ.

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

===================================================================================

Добавлена 2-я версия советника с более равномерной линией баланса на том же интервале времени. Поскольку здесь сделаны некоторые усовершенствования и устранены ошибки, всем кто использует советник в реальной торговле, желательно заменить первую версию на вторую.

WilliamsB WilliamsB

Индикатор показывает сигналы с пяти измерений теории хаоса.

Three in One Three in One

Мульти тайм фреймовый индикатор.

TimeFrames.dll v4.2.9.0 TimeFrames.dll v4.2.9.0

Билиотека предназначена для преобразования аттрибутов ТФ.

PathFunctions.dll v4.2.6.0 PathFunctions.dll v4.2.6.0

Библиотека предназначена для проведения операций с каталогами за пределами "песочницы" МТ4.