Новые сообщения · Участники · Правила форума · Поиск · RSS · Вход · Регистрация ·

Страница 1 из 41234»
Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 Лаборатория стратегий и советников к ним. » Стратегия AISARA (Пересечение МА + Работа усреднения)
Стратегия AISARA

expforexДата: Среда, 11.02.2015, 21:00 | Сообщение # 1
Главный Администартор
Группа: Администраторы
Сообщений: 9079
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

Стратегия AISARA. Пересечение Ма и Усреднение

Торговая платформа: МТ4 версия 4.00 Build765
Раб.инструменти период: EUR/JPY,EUR/USD в основном я с ними работаю, но в
принципе подойдет любая пара, период
М1. М5. М15
Используемые индикаторы: MovingAverage(MA) + Усреднитель

Стратегия:

Первый МА

Цвет Красный

Период 100
Сдвиг 0
Метод МА Simple
Применить к Close


Второй МА
Цвет Голубой

Период 45
Сдвиг 0
Метод МА Simple
Применить к Close


Правила работыпо системе:
Сделка на покупку. Ждем
пересечения голубой МА с низу вверх красную МА

Открываем сделку только
тогда- когда цена с верху вниз достигает красную МА. (рис.1)
Сделка на продажу. Все
в точности наоборот. (рис.2)
Стоп Лосс 100 пунктов
Тайке Профит 100 пунктов


Рис-1 Сделка на покупку



Рис-2 Сделка на продажу

Особенности стратегии:

  • Сделки открываются один раз на одно пробитие МА (рис.3)
  • Сделки открываются после каждого пробития, не важно
    закрылась предыдущая сделка или нет
    (рис.4)

  • Бывает, что индикатор пробивает в какую либо сторону, а по
    цена мы не получаем сигнала на сделку,
    и индикатор пробивает в обратную сторону
    получается своего рода «пустое пробитие»
    сделка отменяется (рис.5). Таких случаев
    мало, но они есть.



    Рис. 3 Сделки открываются на одно
    пробитие МА


    Рис.4 Сделки открываются после
    каждого пробития



    Рис.5 Пустое пробитие
    Настройки:

    
    Код
    [font=Times]extern int shift=1; // С какого бара брать сигнал 0 - с текущего 1 - с закрытого
    extern string Indicators_=" Настройки индикатора";
    extern int MA_1_PERIOD_FAST=45;
    extern int MA_2_PERIOD_SLOW=100;
    extern int MA_1_METHOD_FAST=MODE_SMA;
    extern int MA_2_METHOD_SLOW=MODE_SMA;
    extern string In_=" Настройки входа";
    extern bool ReverseSignal=false; // true - Переворачивать сигнал стратегии.     
    extern string trade_="Настройки торговли";
    extern bool StopOrderUSE=false;           // Использовать Отложенные ордера
    extern int StopOrderDeltaifUSE=0;         // Дистанция для отложенных ордеров
    extern int Magic=777;                     // Магический номер
    extern int StopLoss=0;                    // Стоплосс, 0 - не используется
    extern int TakeProfit=0;                  // Тейкпрофит , 0 - не используется
    extern int Slippage=0;                    // Проскальзывание
    extern bool MarketWatch=false;            // Режим торговли по MarketWatch true  = сначала выставляются позиции/ордера без стопов, потом происходит модификация - для некоторых брокеров
    extern bool ClosePosifChange=true;        // Закрывать позиции при обратном сигнале
    extern bool ONlyOnePosbySignal=true;      // Играть только или бай и / или селл 1 позицией
    extern string autolot_="Настройки автолота";
    extern double Lots=0.1;                   // Фиксирвоанный лот     
    extern bool DynamicLot=false;             // Динамический лот
    extern double LotBalancePcnt=20;          // % от депозита
    extern double MaxLot=999;                 // Максимальный лот при расчете
    extern double Martin=1; // Если 1 то не используется, Коэффициент мартина на следующую сделку после убытончой

    extern string timetrade_="Настройки времени торговли";
    extern int OpenHour=0;                    // Час открытия торгов
    extern int OpenMinute=0;                  // Минута открытия торгов
    extern int CloseHour=23;                  // Час закрытия торгов
    extern int CloseMinute=59;                // Минута закрытия торгов
    extern string Trailing_="Настройки трейлингстопа";
    extern bool TrailingStopUSE=false;        // Использовать трейлингстоп     
    extern bool IfProfTrail=false;            // Использовать только дял профитных позиций - режим безубытка
    extern int TrailingStop=0;                // Дистанция трейлинга = 0 - минимально допустимый
    extern int TrailingStep=1;                // Шаг дистанции
    extern string Trailing_SAR="Настройки трейлингстопа SAR";
    extern bool TrailingStopSAR=false;        // Использовать трейлингстоп     
    extern double step=0.02;//-   Приращение уровня стопа, обычно 0.02.     
    extern double maximum=0.2;//   -   Максимальный уровень стопа, обычно 0.2.     
    extern string CloseProfitLoss=" Настройки закрытия по общему профиту";
    extern string  сlose="= 1 - Доллар, 2 -Пункты ,3 -%Эквити ,4 -%Баланс";
    extern int     TypeofClose=1; // Тип закрытия по прибыли     
    extern bool CloseProfit=false;// Закрывать если +
    extern double prifitessss=10; // Количество юнитов(в зависимости от выбора TypeofClose) для закрытия профита
    extern bool CloseLoss=false;// закрывать если -
    extern double lossss=-10;// Количество юнитов(в зависимости от выбора TypeofClose) для закрытия убытка
    extern bool OFFAllEaAfterClosePROF=false;// Выключать все советники и скрипты после закрытия прибыли.
    extern bool OFFAllEaAfterCloseLOSS=false;// Выключать все советники и скрипты после закрытия убытка.
    extern string BU_="Настройки безубытка";
    extern bool MovingInWLUSE=false;   // Перенос позиции в безубыток
    extern int LevelWLoss=0; // Переносим стоплосс в +LevelWLoss пунктов
    extern int LevelProfit=0;// Когда сделка вышла в плюс LevelProfit пунктов

    extern string In_d=" Настройки Усреднителя";
    extern bool AverageUSE=true; // Использовать усреднение     
    extern string dist="Дистнация открываемых позиций сетка";
    extern int Distance=100;
    extern string LotPe="Увеличение лота для сетки позиций";
    extern double LotsMartin=2;
    extern string MaxOrders="Максимальное количество колен 0 - неограничено";
    extern int MaxOrdersOpen=0;
    extern string allTake="Общий тейкпрофит для модификации";
    extern int TakeProfitALL=10;
    extern string tral="Тралингстоп позиций вышедших в общий профит при усреднении";
    extern bool AverTrailingStopUSE=false;        // Использовать трейлингстоп     
    extern int AverTrailingStop=0;                // Дистанция трейлинга = 0 - минимально допустимый
    extern int AverTrailingStep=1;                // Шаг дистанции

    Стратегия AISARA. Пересечение Ма и Усреднение Скачать советник

    Советник основан на пересечении двух МА. Ничего особенного в стратегии нет. Есть несколько отличий от прошлой версии советника Торговля по Mooving Average. Получилась ли стратегия более прибыльная? Решать Вам. Я лишь могу предложить Вам скачать советник и проверить его. Советник бесплатный, в том числе и для реала.
    Кстати: для улучшения результатов я добавил усреднение. Пользуйтесь на здоровье

    Прикрепления: 6851637.png(155Kb) · 3512437.png(135Kb) · 0332530.png(124Kb) · 2983156.png(115Kb) · 3473634.png(138Kb) · 0300758.png(141Kb) · 9072597.png(140Kb)


    Программирование на заказ || Наши Разработки

  •  
    СообщениеСтратегия AISARA. Пересечение Ма и Усреднение

    Торговая платформа: МТ4 версия 4.00 Build765
    Раб.инструменти период: EUR/JPY,EUR/USD в основном я с ними работаю, но в
    принципе подойдет любая пара, период
    М1. М5. М15
    Используемые индикаторы: MovingAverage(MA) + Усреднитель

    Стратегия:

    Первый МА

    Цвет Красный

    Период 100
    Сдвиг 0
    Метод МА Simple
    Применить к Close


    Второй МА
    Цвет Голубой

    Период 45
    Сдвиг 0
    Метод МА Simple
    Применить к Close


    Правила работыпо системе:
    Сделка на покупку. Ждем
    пересечения голубой МА с низу вверх красную МА

    Открываем сделку только
    тогда- когда цена с верху вниз достигает красную МА. (рис.1)
    Сделка на продажу. Все
    в точности наоборот. (рис.2)
    Стоп Лосс 100 пунктов
    Тайке Профит 100 пунктов


    Рис-1 Сделка на покупку



    Рис-2 Сделка на продажу

    Особенности стратегии:

  • Сделки открываются один раз на одно пробитие МА (рис.3)
  • Сделки открываются после каждого пробития, не важно
    закрылась предыдущая сделка или нет
    (рис.4)

  • Бывает, что индикатор пробивает в какую либо сторону, а по
    цена мы не получаем сигнала на сделку,
    и индикатор пробивает в обратную сторону
    получается своего рода «пустое пробитие»
    сделка отменяется (рис.5). Таких случаев
    мало, но они есть.



    Рис. 3 Сделки открываются на одно
    пробитие МА


    Рис.4 Сделки открываются после
    каждого пробития



    Рис.5 Пустое пробитие
    Настройки:

    
    Код
    [font=Times]extern int shift=1; // С какого бара брать сигнал 0 - с текущего 1 - с закрытого
    extern string Indicators_=" Настройки индикатора";
    extern int MA_1_PERIOD_FAST=45;
    extern int MA_2_PERIOD_SLOW=100;
    extern int MA_1_METHOD_FAST=MODE_SMA;
    extern int MA_2_METHOD_SLOW=MODE_SMA;
    extern string In_=" Настройки входа";
    extern bool ReverseSignal=false; // true - Переворачивать сигнал стратегии.     
    extern string trade_="Настройки торговли";
    extern bool StopOrderUSE=false;           // Использовать Отложенные ордера
    extern int StopOrderDeltaifUSE=0;         // Дистанция для отложенных ордеров
    extern int Magic=777;                     // Магический номер
    extern int StopLoss=0;                    // Стоплосс, 0 - не используется
    extern int TakeProfit=0;                  // Тейкпрофит , 0 - не используется
    extern int Slippage=0;                    // Проскальзывание
    extern bool MarketWatch=false;            // Режим торговли по MarketWatch true  = сначала выставляются позиции/ордера без стопов, потом происходит модификация - для некоторых брокеров
    extern bool ClosePosifChange=true;        // Закрывать позиции при обратном сигнале
    extern bool ONlyOnePosbySignal=true;      // Играть только или бай и / или селл 1 позицией
    extern string autolot_="Настройки автолота";
    extern double Lots=0.1;                   // Фиксирвоанный лот     
    extern bool DynamicLot=false;             // Динамический лот
    extern double LotBalancePcnt=20;          // % от депозита
    extern double MaxLot=999;                 // Максимальный лот при расчете
    extern double Martin=1; // Если 1 то не используется, Коэффициент мартина на следующую сделку после убытончой

    extern string timetrade_="Настройки времени торговли";
    extern int OpenHour=0;                    // Час открытия торгов
    extern int OpenMinute=0;                  // Минута открытия торгов
    extern int CloseHour=23;                  // Час закрытия торгов
    extern int CloseMinute=59;                // Минута закрытия торгов
    extern string Trailing_="Настройки трейлингстопа";
    extern bool TrailingStopUSE=false;        // Использовать трейлингстоп     
    extern bool IfProfTrail=false;            // Использовать только дял профитных позиций - режим безубытка
    extern int TrailingStop=0;                // Дистанция трейлинга = 0 - минимально допустимый
    extern int TrailingStep=1;                // Шаг дистанции
    extern string Trailing_SAR="Настройки трейлингстопа SAR";
    extern bool TrailingStopSAR=false;        // Использовать трейлингстоп     
    extern double step=0.02;//-   Приращение уровня стопа, обычно 0.02.     
    extern double maximum=0.2;//   -   Максимальный уровень стопа, обычно 0.2.     
    extern string CloseProfitLoss=" Настройки закрытия по общему профиту";
    extern string  сlose="= 1 - Доллар, 2 -Пункты ,3 -%Эквити ,4 -%Баланс";
    extern int     TypeofClose=1; // Тип закрытия по прибыли     
    extern bool CloseProfit=false;// Закрывать если +
    extern double prifitessss=10; // Количество юнитов(в зависимости от выбора TypeofClose) для закрытия профита
    extern bool CloseLoss=false;// закрывать если -
    extern double lossss=-10;// Количество юнитов(в зависимости от выбора TypeofClose) для закрытия убытка
    extern bool OFFAllEaAfterClosePROF=false;// Выключать все советники и скрипты после закрытия прибыли.
    extern bool OFFAllEaAfterCloseLOSS=false;// Выключать все советники и скрипты после закрытия убытка.
    extern string BU_="Настройки безубытка";
    extern bool MovingInWLUSE=false;   // Перенос позиции в безубыток
    extern int LevelWLoss=0; // Переносим стоплосс в +LevelWLoss пунктов
    extern int LevelProfit=0;// Когда сделка вышла в плюс LevelProfit пунктов

    extern string In_d=" Настройки Усреднителя";
    extern bool AverageUSE=true; // Использовать усреднение     
    extern string dist="Дистнация открываемых позиций сетка";
    extern int Distance=100;
    extern string LotPe="Увеличение лота для сетки позиций";
    extern double LotsMartin=2;
    extern string MaxOrders="Максимальное количество колен 0 - неограничено";
    extern int MaxOrdersOpen=0;
    extern string allTake="Общий тейкпрофит для модификации";
    extern int TakeProfitALL=10;
    extern string tral="Тралингстоп позиций вышедших в общий профит при усреднении";
    extern bool AverTrailingStopUSE=false;        // Использовать трейлингстоп     
    extern int AverTrailingStop=0;                // Дистанция трейлинга = 0 - минимально допустимый
    extern int AverTrailingStep=1;                // Шаг дистанции

    Стратегия AISARA. Пересечение Ма и Усреднение Скачать советник

    Советник основан на пересечении двух МА. Ничего особенного в стратегии нет. Есть несколько отличий от прошлой версии советника Торговля по Mooving Average. Получилась ли стратегия более прибыльная? Решать Вам. Я лишь могу предложить Вам скачать советник и проверить его. Советник бесплатный, в том числе и для реала.
    Кстати: для улучшения результатов я добавил усреднение. Пользуйтесь на здоровье


  • Автор - expforex
    Дата добавления - 11.02.2015 в 21:00

    expforexДата: Среда, 11.02.2015, 21:06 | Сообщение # 2
    Главный Администартор
    Группа: Администраторы
    Сообщений: 9079
    Награды: 29
    Статус: Offline


    [Бонусы за сообщения ]

    На реальных данных по своей стратегии советник показал плохие результаты:


    но применив систему усреднения советник стал вести себя более адекватно.
     

    Делайте свои тесты и выкладывайте результаты. 
    Спасибо.

    Прикрепления: 2835021.gif(10Kb) · 6848087.gif(8Kb)


    Программирование на заказ || Наши Разработки

     
    СообщениеНа реальных данных по своей стратегии советник показал плохие результаты:


    но применив систему усреднения советник стал вести себя более адекватно.
     

    Делайте свои тесты и выкладывайте результаты. 
    Спасибо.

    Автор - expforex
    Дата добавления - 11.02.2015 в 21:06

    Mike299Дата: Пятница, 13.02.2015, 14:00 | Сообщение # 3
    Трейдер - Майор
    Группа: Пользователи
    Сообщений: 87
    Награды: 0
    Статус: Offline


    [Бонусы за сообщения ]

    Спасибо за хороший советник. Только параметр shift не работает. Снова biggrin
    Сделки открываются внутри свечи (а не по закрытию) при любом значении shift>0. Это крайне не практично для тестирования даже по контрольным точкам.

     
    СообщениеСпасибо за хороший советник. Только параметр shift не работает. Снова biggrin
    Сделки открываются внутри свечи (а не по закрытию) при любом значении shift>0. Это крайне не практично для тестирования даже по контрольным точкам.

    Автор - Mike299
    Дата добавления - 13.02.2015 в 14:00

    expforexДата: Пятница, 13.02.2015, 14:36 | Сообщение # 4
    Главный Администартор
    Группа: Администраторы
    Сообщений: 9079
    Награды: 29
    Статус: Offline


    [Бонусы за сообщения ]

    Mike299, Спасибо , сейчас проверю



    Программирование на заказ || Наши Разработки

     
    СообщениеMike299, Спасибо , сейчас проверю

    Автор - expforex
    Дата добавления - 13.02.2015 в 14:36

    expforexДата: Пятница, 13.02.2015, 14:37 | Сообщение # 5
    Главный Администартор
    Группа: Администраторы
    Сообщений: 9079
    Награды: 29
    Статус: Offline


    [Бонусы за сообщения ]

    проверил, да нет шифт в работе:
       double ma_1_0_FAST=iMA(Symbol(),0,MA_1_PERIOD_FAST,0,MA_1_METHOD_FAST,0,shift);
       double ma_1_1_FAST=iMA(Symbol(),0,MA_1_PERIOD_FAST,0,MA_1_METHOD_FAST,0,shift+1);
       double ma_2_0_SLOW=iMA(Symbol(),0,MA_2_PERIOD_SLOW,0,MA_2_METHOD_SLOW,0,shift);
       double ma_2_1_SLOW=iMA(Symbol(),0,MA_2_PERIOD_SLOW,0,MA_2_METHOD_SLOW,0,shift+1);

        if(Bid>ma_1_0_FAST&& ma_1_0_FAST>ma_2_0_SLOW && Low[shift]ma_2_0_SLOW &&(GetTypeLastClosePos(Symbol(),Magic)!=OP_BUY ||  GetTypeLastOpenPos(Symbol(),Magic)!=OP_BUY)){Sig=1;}
       if(Bidma_2_0_SLOW &&(GetTypeLastClosePos(Symbol(),Magic)!=OP_SELL|| GetTypeLastOpenPos(Symbol(),Magic)!=OP_SELL)){Sig=2;}



    Программирование на заказ || Наши Разработки

     
    Сообщениепроверил, да нет шифт в работе:
       double ma_1_0_FAST=iMA(Symbol(),0,MA_1_PERIOD_FAST,0,MA_1_METHOD_FAST,0,shift);
       double ma_1_1_FAST=iMA(Symbol(),0,MA_1_PERIOD_FAST,0,MA_1_METHOD_FAST,0,shift+1);
       double ma_2_0_SLOW=iMA(Symbol(),0,MA_2_PERIOD_SLOW,0,MA_2_METHOD_SLOW,0,shift);
       double ma_2_1_SLOW=iMA(Symbol(),0,MA_2_PERIOD_SLOW,0,MA_2_METHOD_SLOW,0,shift+1);

        if(Bid>ma_1_0_FAST&& ma_1_0_FAST>ma_2_0_SLOW && Low[shift]ma_2_0_SLOW &&(GetTypeLastClosePos(Symbol(),Magic)!=OP_BUY ||  GetTypeLastOpenPos(Symbol(),Magic)!=OP_BUY)){Sig=1;}
       if(Bidma_2_0_SLOW &&(GetTypeLastClosePos(Symbol(),Magic)!=OP_SELL|| GetTypeLastOpenPos(Symbol(),Magic)!=OP_SELL)){Sig=2;}

    Автор - expforex
    Дата добавления - 13.02.2015 в 14:37

    Mike299Дата: Пятница, 13.02.2015, 15:13 | Сообщение # 6
    Трейдер - Майор
    Группа: Пользователи
    Сообщений: 87
    Награды: 0
    Статус: Offline


    [Бонусы за сообщения ]

    Спасибо! А вы перезалили файл для скачивания?

     
    СообщениеСпасибо! А вы перезалили файл для скачивания?

    Автор - Mike299
    Дата добавления - 13.02.2015 в 15:13

    expforexДата: Пятница, 13.02.2015, 15:21 | Сообщение # 7
    Главный Администартор
    Группа: Администраторы
    Сообщений: 9079
    Награды: 29
    Статус: Offline


    [Бонусы за сообщения ]

    Mike299, нет тот же файл. 
    результаты с разным shift работают нормально, Т.е. они разные

    Прикрепления: 4372283.png(14Kb)


    Программирование на заказ || Наши Разработки

     
    СообщениеMike299, нет тот же файл. 
    результаты с разным shift работают нормально, Т.е. они разные

    Автор - expforex
    Дата добавления - 13.02.2015 в 15:21

    Mike299Дата: Пятница, 13.02.2015, 15:29 | Сообщение # 8
    Трейдер - Майор
    Группа: Пользователи
    Сообщений: 87
    Награды: 0
    Статус: Offline


    [Бонусы за сообщения ]

    Результаты то разные, только открытие первой сделки происходит не с открытия новой свечи, а внутри свечи, Например не ровно в 9.00, а в 8.53 по времени.

     
    СообщениеРезультаты то разные, только открытие первой сделки происходит не с открытия новой свечи, а внутри свечи, Например не ровно в 9.00, а в 8.53 по времени.

    Автор - Mike299
    Дата добавления - 13.02.2015 в 15:29

    expforexДата: Пятница, 13.02.2015, 17:05 | Сообщение # 9
    Главный Администартор
    Группа: Администраторы
    Сообщений: 9079
    Награды: 29
    Статус: Offline


    [Бонусы за сообщения ]

    Mike299, а если на всех тиках проверить?



    Программирование на заказ || Наши Разработки

     
    СообщениеMike299, а если на всех тиках проверить?

    Автор - expforex
    Дата добавления - 13.02.2015 в 17:05

    Mike299Дата: Пятница, 13.02.2015, 17:58 | Сообщение # 10
    Трейдер - Майор
    Группа: Пользователи
    Сообщений: 87
    Награды: 0
    Статус: Offline


    [Бонусы за сообщения ]

    Свое время дороже.

     
    СообщениеСвое время дороже.

    Автор - Mike299
    Дата добавления - 13.02.2015 в 17:58
    Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 Лаборатория стратегий и советников к ним. » Стратегия AISARA (Пересечение МА + Работа усреднения)
    Страница 1 из 41234»
    Поиск:


    WebMoney Яндекс цитирования.