Лента последних комментариев


Закрытая группа  Комментарий в закрытой группе / Немного о рынке  
:: комментарий доступен только участникам закрытой группы "Немного о рынке" - Читать ::
avatar

Lis

  • 15 декабря 2018, 13:18
0
для стоповых сделал: www.opentraders.ru/downloads/2192/

avatar

AM2

  • 15 декабря 2018, 03:51
0
Ну хорошо, пусть будет так. Просто я знаю, что сигналы стандартных индикаторов дивергенций запаздывают и не всегда видят дивергенцию. Предварительно, я советовался со специалистами ( в ветке «Доработка ботов и индикаторов» ) о возможности создания советника, не используя индикатор дивергенций. Ответ был, что такое возможно. По этому и обратился к Вам. Я не буду возражать, чтобы советник использовал предложенный Вами индикатор. Я понимаю, какая это не простая и трудоемкая задача, написать советник.
С уважением, Александр.
avatar

marattmb

  • 15 декабря 2018, 02:51
0
вы нарисовали на макди и на графике линии для дивергенции, но чтобы объяснить все это машине надо написать кучу функций. другое дело делать по готовому индикатору, например FX5 Divergence.
avatar

AM2

  • 15 декабря 2018, 02:42
0
Забыл. Было бы неплохо, если бы открытие ордера сопровождалось каким-либо звуковым файлом.
avatar

marattmb

  • 15 декабря 2018, 02:34
0
Андрей если можно добавь пожалуйста меджик, то есть чтоб можно было закинуть на определённую пару и он выдавал только по ней, можно просто в настройках указать пару по какой он будет показывать.
avatar

GARIK1976

  • 15 декабря 2018, 01:17
0
Андрей, сделайте пожалуйста чтоб можно было цвет поменять в настройках, прибыль одного убыток другого, А так всё норм спасибо.
avatar

GARIK1976

  • 14 декабря 2018, 20:10
0
Андрей сделайте пожалуйста, чтобы при удалении индикатора с графика линии и ценовая метка тоже удалялись.
avatar

igordar

  • 14 декабря 2018, 18:56
0
1. распознаем цвет фона. допустим это лайм #00FF00
2. чтобы сделать из лайма зеленый #00CC00 заменяем в коде цвета FF на CC.
или прописываем другой алгоритм по таблице веб цветов.
avatar

AM2

  • 14 декабря 2018, 18:20
0
нашел еще одну ошибку в функциях:




//+------------------------------------------------------------------+
//|                                                    DealsInfo.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 days=11;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string name,string text,int x,int y)
  {
   ObjectDelete(0,name);
//--- создадим текстовую метку
   ObjectCreate(0,name,OBJ_LABEL,0,0,0);
//--- установим координаты метки
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,name,OBJPROP_CORNER,0);
//--- установим текст
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,name,OBJPROP_FONT,"Verdana");
//--- установим размер шрифта
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,10);
//--- установим цвет
   ObjectSetInteger(0,name,OBJPROP_COLOR,Lime);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double DaysProfit()
  {
   double pr=0,point=0;

   for(int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderCloseTime()>(TimeCurrent()-60*60*24*days))
           {
            if(OrderProfit()>0)
              {
              point=MarketInfo(OrderSymbol(),MODE_POINT);
               if(OrderType()==0)
                 {
                  pr+=(OrderClosePrice()-OrderOpenPrice())/point;
                 }
               if(OrderType()==1)
                 {
                  pr+=(OrderOpenPrice()-OrderClosePrice())/point;
                 }
              }
           }
        }
     }
   return(pr);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double DaysLosses()
  {
   double pr=0,point=0;

   for(int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderCloseTime()>(TimeCurrent()-60*60*24*days))
           {
            if(OrderProfit()<0)
              {
               point=MarketInfo(OrderSymbol(),MODE_POINT);
               if(OrderType()==0)
                 {
                  pr+=(OrderOpenPrice()-OrderClosePrice())/point;
                 }
               if(OrderType()==1)
                 {
                  pr+=(OrderClosePrice()-OrderOpenPrice())/point;
                 }
              }
           }
        }
     }
   return(pr);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   PutLabel("profit","Прибыль: "+(string)NormalizeDouble(DaysProfit(),2)+" пунктов",12,22);
   PutLabel("loss","Убыток: "+(string)NormalizeDouble(DaysLosses(),2)+" пунктов",12,40);
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 14 декабря 2018, 18:10
0
поправил:




//+------------------------------------------------------------------+
//|                                                     ZZLevels.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 count=5;

input int depth=12;
input int dev=5;
input int back=3;

input int width=1;
input int style=2;
input color clr=Red;

input ENUM_TIMEFRAMES tf=PERIOD_D1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutTrendLine(string name,datetime time1,double price1,datetime time2,double price2)
  {
   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);
//--- установим толщину линии 
   ObjectSetInteger(0,name,OBJPROP_WIDTH,width);
//--- включим (true) или отключим (false) режим продолжения отображения линии вправо 
   ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,false);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutRightLabel(string name,datetime time,double price)
  {
   ObjectDelete(0,name);
//--- создадим текстовую метку
   ObjectCreate(0,name,OBJ_ARROW_RIGHT_PRICE,0,time,price);
//--- установим размер метки
   ObjectSetInteger(0,name,OBJPROP_WIDTH,width);
//--- установим цвет
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double ZZPrice(int n=0)
  {
   double zz=0;
   int k=0;

   for(int i=0;i<Bars; i++)
     {
      zz=iCustom(NULL,tf,"ZigZag",depth,dev,back,0,i);
      if(zz!=0)
        {
         k++;
         if(k>n) return(zz);
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int ZZBar(int n=0)
  {
   double zz=0;
   int k=0;

   for(int i=0;i<Bars;i++)
     {
      zz=iCustom(NULL,tf,"ZigZag",depth,dev,back,0,i);
      if(zz!=0)
        {
         k++;
         if(k>n) return(i);
        }
     }
   Print("GetExtremumZZBar(): Экстремум ЗигЗага номер ",n," не найден");
   return(-1);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   int k=PERIOD_D1/Period();

   for(int i=0;i<count;i++)
     {
      PutTrendLine("Line"+(string)i,time[0],ZZPrice(i),time[ZZBar(i)*k],ZZPrice(i));
      PutRightLabel("Label"+(string)i,time[0],ZZPrice(i));
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 14 декабря 2018, 17:49
0
Видимо заказ для бинарных опционов)))
avatar

stepmega

  • 14 декабря 2018, 14:36
0
Он перерисовывает сигналы. Тс, не тратьте зря время
avatar

stepmega

  • 14 декабря 2018, 13:53
0
только вот я не пойму, он даёт историю за день? если да то мне не понятная ситуация, закрылся по профиту -показывает убытка столько не было аж 1401 п, откуда он берёт тогда данные?
avatar

GARIK1976

  • 14 декабря 2018, 11:39
0
Андрей. Смысл этого индикатора в том, чтобы видеть уровни со старшего тайм фрейма на младшем. Сейчас если кинуть индикатор на D1 уровни видим. Но если переключить на H4 или потом на H1 эти уровни отображаются некорректно.
Сделайте пожалуйста чтобы уровни с D1 отображались на H4 и H1
avatar

igordar

  • 14 декабря 2018, 06:19
Начать торговлю с Альпари