Медленная МАшка с полосой в качестве фильтра и быстрая МАшка

Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos

Медленная МАшка с полосой в качестве фильтра и быстрая МАшка

Сообщение Haos » 14 мар 2018, 19:39

Рассмотрим использование сигнала на вход в рынок по следующим инструментам анализа:
- быстрая скользящая средняя;
- медленная скользящая средняя;
- полоса в виде (уровней) вокруг медленной скользящей средней.
Фильтр в виде полосы вокруг медленной МАшки эффективен для отсеивания пересечений МАшек при узком флете, когда нет достаточного отклонения быстрой МАшки от медленной.

03-Пояснение правил.png

Пусть быстрая МАшка - линия красного цвета, медленная - синего. Выше и ниже медленной МАшки прерывистой линией расположена полоса.
Будем рассматривать сигнал к покупке в виде пересечения быстрой МАшкой верхней границы полосы вокруг медленной МАшки, а сигналом на выход - пересечение быстрой МАшкой медленную (см. скрин ниже):

01-Пояснение правил.png

Аналогично, для продажи сигналом будет пересечение быстрой МАшки нижней границы полосы вокруг медленной МАшки, а сигналом на выход - пересечение быстрой МАшкой медленную (см. скрин ниже):
Вложения
02-Пояснение правил.png
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Медленная МАшка с полосой в качестве фильтра и быстрая МАшка

Сообщение Haos » 14 мар 2018, 19:43

Напишем функцию, которая будет возвращать сигнал к торговле по описанным выше правилам.
Код: выделить все
string f_2MASygF1(int tf, int pef, int pes, int mef, int mes, int apf, int aps, int dy)                 
/*
   Ф-ия определяет сигнал по пересечению быстрой МАшкой полосу вокруг
   медленной МАшки (на последнем закрытом баре)
   возвращает "BU" если быстрая МА пересекла вверх верхнюю границу полосы медленной МА
   возвращает "SE" если быстрая МА пересекла вниз  нижнюю  границу полосы медленной МА
   возвращает "NO" если нет пересечения
   Параметры:
   tf   -  таймфрейм (0 - текущий ТФ)
   pef  -  период быстрой МАшки
   pes  -  период медленной МАшки   
   mef  -  метод усреднения быстрой МАшки
   mes  -  метод усреднения медленной МАшки
   apf  -  тип цены быстрой МАшки
   aps  -  тип цены медленной МАшки
   dy   -  отступ от медленной МАшки вверх и вниз для определения полосы (пнт.)
   Comment("\n", " Значение верхней полосы на прошлом баре = ", dblMAS_H1,
           "\n", " Значение нижней  полосы на прошлом баре = ", dblMAS_L1);
*/
{
double   dblMAF_1,   // значение быстрой MA на предыдущем баре
         dblMAF_2,   // значение быстрой MA два бара назад
         dblMAS_H1,   // значение верхней полосы от медленной MA на предыдущем баре
         dblMAS_H2,   // значение верхней полосы от медленной MA два бара назад
         dblMAS_L1,   // значение нижней полосы от медленной MA на предыдущем баре
         dblMAS_L2;   // значение нижней полосы от медленной MA два бара назад
           
   dblMAF_1 = iMA(NULL, tf, pef, 0, mef, apf, 1);
   dblMAF_2 = iMA(NULL, tf, pef, 0, mef, apf, 2);
   dblMAS_H1 = NormalizeDouble(iMA(NULL, tf, pes, 0, mes, aps, 1) + dy * Point, _Digits);
   dblMAS_H2 = NormalizeDouble(iMA(NULL, tf, pes, 0, mes, aps, 2) + dy * Point, _Digits);
   dblMAS_L1 = NormalizeDouble(iMA(NULL, tf, pes, 0, mes, aps, 1) - dy * Point, _Digits);
   dblMAS_L2 = NormalizeDouble(iMA(NULL, tf, pes, 0, mes, aps, 2) - dy * Point, _Digits);
     
   if(dblMAF_1 > dblMAS_H1 && dblMAF_2 < dblMAS_H2) return("BU");
   if(dblMAF_1 < dblMAS_L1 && dblMAF_2 > dblMAS_L2) return("SE");
   
return("NO");
}

Функция f_2MASygF1 возвращает результат типа string в виде:
- возвращает "BU" если быстрая МА пересекла вверх верхнюю границу полосы медленной МА;
- возвращает "SE" если быстрая МА пересекла вниз нижнюю границу полосы медленной МА;
- возвращает "NO" если нет пересечения.

В качестве параметров для передачи в функцию используются:
tf - таймфрейм (0 - текущий ТФ)
pef - период быстрой МАшки
pes - период медленной МАшки
mef - метод усреднения быстрой МАшки
mes - метод усреднения медленной МАшки
apf - тип цены быстрой МАшки
aps - тип цены медленной МАшки
dy - отступ от медленной МАшки вверх и вниз для определения полосы (пнт.)
Последний параметр в списке (dy) как раз и будет определять значение уровней отложенных от медленной МАшки для формирования необходимой ширины полосы.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Медленная МАшка с полосой в качестве фильтра и быстрая МАшка

Сообщение Denver » 15 мар 2018, 06:40

Haos, теория интересная. Я сам практиковал тестирование торговли с использование канала, но всё закончилось на тестировании). А Вы бы не могли написать советник по этой схеме? Ведь уже вроде есть и тех.описание ТС и половина кода).
Аватар пользователя
Denver
 
Сообщений: 3226
Зарегистрирован: 16 янв 2014, 07:01
Средств на руках: 384.35 Доллар
Награды: 1
Ветеран II (1)
Группа: Базовая
Благодарил (а): 835 раз.
Поблагодарили: 603 раз.

Медленная МАшка с полосой в качестве фильтра и быстрая МАшка

Сообщение Haos » 31 мар 2018, 07:45

Denver писал(а):Haos, теория интересная. Я сам практиковал тестирование торговли с использование канала, но всё закончилось на тестировании). А Вы бы не могли написать советник по этой схеме? Ведь уже вроде есть и тех.описание ТС и половина кода).

Заказы формируются на форуме в специальном разделе (Стол заказов) при определенных условиях.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.


Вернуться в MQL – теория и практика

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 64

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения