Genri

 
Уровень 8

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2088



РЕКОМЕНДУЮ




Лучшее от Genri



Визуализация на графике. Комментариев 19
2020-07-05 20:47:10Рейтинг 0

Индикатор уровней Комментариев 9
2016-01-10 10:54:19Рейтинг 0

скрипт "ластик" Комментариев 10
2017-02-22 14:35:09Рейтинг 0

Rsi Комментариев 13
2019-12-03 20:39:44Рейтинг 0

"Чертилка" Комментариев 12
2016-10-09 23:54:24Рейтинг 0

Test 13

Пришло время доделать не доделанное zakaz.opentraders.ru/39397.html если не в виде полуавтомата, то в виде индикатора. Возьмем за основу ваш последний набросок, добавим зигзаг и оставим два уровня 45, 58. Условия для пика импульса те же, но при его образовании отмечать еще ур.50% предыдущего колена зигзага.Выдать алерт остановка.
  • 0
  • Просмотров: 3182
  • 13 октября 2018, 17:39
  • Genri
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Создать Alert для индикатора TTL
Следующая запись в группе  
Советник с уникальной системой усреднения
12 октября 2018
15 октября 2018

Комментарии (10)

+
0
на 25-е
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 14 октября 2018, 08:15
+
0
Хорошо.
avatar

  8  Genri Автор Сообщений: 378

  • 14 октября 2018, 10:12
+
0
напишите все задание целиком, чтобы все было перед глазами.
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 23 октября 2018, 20:05
+
0
Инд. должен отмечать на графике уровень образующийся при определенной совокупности событий за определенный отрезок времени. Сообщать об этом на емейл. Если уровень образуется выше ЕМА 50 сигнал селовый, если ниже баевый. Сообщать об образовании нового экстремума выше селового уровня и ниже баевого, в расчет берется самый последний уровень Иметь диал. Окно для указания значений и управления.
Правило уровня пика импульса (УПИ)
1) ADX пересёк вверх уровень 45 и (или) 58 (приоритет у ур 58)
2) RSI образовал экстремум выше уровня 68 или ниже 32
3) АО окрасился в соответствующий цвет
4) Все события произошли в течении одной торговой недели (для Н4), в течении 24 свечей(Н1)
Уровень рисуется трендовой по телу сигнальной свечи, длина «Н» свечей (для Н1 48 свечей), помечается левой ценовой меткой, при переходе на т.ф. ниже уровни и метки сохраняются. К-во уровней настраивается.
Ко всему этому добавим зигзаг. Условия для пика импульса те же, но при его образовании отмечать еще ур.50% предыдущего колена зигзага.Выдать алерт остановка.
avatar

  8  Genri Автор Сообщений: 378

  • 25 октября 2018, 12:09
+
0
уровни по 4-м индикаторам сделал, отладил:




//+------------------------------------------------------------------+
//|                                                         ADXL.mq4 |
//|                                              Copyright 2018, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int MAPeriod=50;
input int ADXPeriod=14;
input int RSIPeriod=14;
input int RSILevel=40;
input int ADXLevel=45;
input int Count=5;
input int Length=10;
input int Barov=111;
input ENUM_TIMEFRAMES tf=PERIOD_H1;

int k=0;
datetime t=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   ObjectsDeleteAll(0,0,OBJ_ARROW_LEFT_PRICE);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
   ObjectsDeleteAll();
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void LeftPrice(string name,datetime time,double price)
  {
   ObjectCreate(0,name,OBJ_ARROW_LEFT_PRICE,0,time,price);
//--- установим цвет метки
   ObjectSetInteger(0,name,OBJPROP_COLOR,Red);
//--- установим стиль окаймляющей линии
   ObjectSetInteger(0,name,OBJPROP_STYLE,STYLE_SOLID);
//--- установим размер метки
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutTrendLine(string name,datetime time1,double price1,datetime time2,double price2,color clr)
  {
   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_TREND,0,time1,price1,time2,price2);
//--- установим цвет линии 
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим стиль отображения линии 
   ObjectSetInteger(0,name,OBJPROP_STYLE,STYLE_DOT);
//--- установим толщину линии 
   ObjectSetInteger(0,name,OBJPROP_WIDTH,2);
//--- включим (true) или отключим (false) режим продолжения отображения линии вправо 
   ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,false);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   if(t!=time[0])
     {
      for(int i=0;i<Barov;i++)
        {
         double adx1=iADX(NULL,tf,ADXPeriod,0,0,i);
         double adx2=iADX(NULL,tf,ADXPeriod,0,0,i+1);
         double rsi=iRSI(NULL,tf,RSIPeriod,0,i);
         double ao=iAO(NULL,tf,i);
         double ma=iMA(NULL,tf,MAPeriod,0,1,0,i);

         if(adx1>ADXLevel && adx2<ADXLevel && close[i]>ma && rsi>100-RSILevel && ao>0)
           {
            if(i>Length) PutTrendLine("Line "+(string)time[i],time[i],close[i],time[i-Length],close[i],Red);
            Alert(_Symbol+": "+"Нарисовался верхний уровень!");
            LeftPrice("Arrow "+(string)time[i],time[i],close[i]);
            k++;
           }
         if(adx1>ADXLevel && adx2<ADXLevel && close[i]<ma && rsi<RSILevel && ao<0)
           {
            if(i>Length) PutTrendLine("Line "+(string)time[i],time[i],close[i],time[i-Length],close[i],Red);
            Alert(_Symbol+": "+"Нарисовался нижний уровень!");
            LeftPrice("Arrow "+(string)time[i],time[i],close[i]);
            k++;
           }
         if(k>=Count) break;
         t=time[0];
        }
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+



по зигу в выходные посмотрю.
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 25 октября 2018, 21:46
+
0
Рад, очень рад. Очень надеюсь, что с зигом всё получится.
avatar

  8  Genri Автор Сообщений: 378

  • 26 октября 2018, 11:46
+
0
добавил зигзаг: www.opentraders.ru/downloads/2148/

avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 28 октября 2018, 20:16
+
0
Скачал, погоняю в тестере отпишусь как чего.
avatar

  8  Genri Автор Сообщений: 378

  • 29 октября 2018, 09:37
+
0
Необходимо улучшить визуализацию уровней зигзага таким образом чтобы их было видно за определенный настраиваемый период.
avatar

  8  Genri Автор Сообщений: 378

  • 30 октября 2018, 22:47
+
0
Благодарю за выполненное. Остальное в след. заказе.
avatar

  8  Genri Автор Сообщений: 378

  • 1 ноября 2018, 08:51

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари