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

Рейтинг 2073



РЕКОМЕНДУЮ



Доработать информационный индикатор

Андрей, прошу сделать доработку моего прошлого заказа с информационным индикатором. zakaz.opentraders.ru/51264.html

1. Когда информация по открытому ордеру появилась на графике, сделайте чтоб она вообще не исчезала пока ее не удалишь вручную.

2. После отображения информацию можно выделить (щелкнув по ней 2 раза левой кнопкой мыши) и перетащить в любую точку графика, чтоб зафиксировать ее там опять щелкнув по ней.

3. Если не сложно сделать, то хотелось бы иметь выбор отображать информацию по СЛ и ТР в пунктах или цену как сейчас.
  • 0
  • Просмотров: 3610
  • 23 августа 2019, 17:26
  • Wizas
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Канальный советник. Попытка №3
Следующая запись в группе  
Помощник в работе (фракталоаллигатор)
23 августа 2019
24 августа 2019

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

+
0
не берусь
avatar

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

  • 23 августа 2019, 17:32
+
0
Андрей, а жаль очень хороший индикатор, то что информация пропадает после закрытия терминала, это все портит.
Сделайте чтоб хоть информация не удалялась с графика которая отображается у линии цены.
Редактирован: 23 августа 2019, 18:36
avatar

  9  Wizas Автор Сообщений: 146

  • 23 августа 2019, 17:54
+
0
По пункту 2, информацию и сейчас можно выделить и переместить, только она при новом тике опять на линию аск возвращается.
avatar

  9  Wizas Автор Сообщений: 146

  • 23 августа 2019, 17:56
+
0
Андрей, а можно узнать по какой причине вы какие то заказы доделываете, а какие то нет?
avatar

  9  Wizas Автор Сообщений: 146

  • 26 августа 2019, 10:46
+
0
в п.2. метка жестко привязана к определенным координатам
avatar

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

  • 26 августа 2019, 17:40
+
0
Андрей, спасибо за разъяснение, сделайте тогда без пункта 2, главное чтоб информация не удалялась после закрытия ордера.
Индикатор получился очень хороший и нужный. *good* 
avatar

  9  Wizas Автор Сообщений: 146

  • 26 августа 2019, 18:29
+
0
Андрей, вы что так мне и не ответили, вы сделаете этот заказ?
avatar

  9  Wizas Автор Сообщений: 146

  • 30 августа 2019, 10:52
+
0
я ответил в самом начале
avatar

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

  • 30 августа 2019, 11:10
+
0
Получается что вообще нет шансов доделать этот индикатор, не в этом заказе, ни в следующем (без пункта 2)?
Редактирован: 30 августа 2019, 14:58
avatar

  9  Wizas Автор Сообщений: 146

  • 30 августа 2019, 13:36
+
0
сделал выбор отображения стопов — пункты и цена: www.opentraders.ru/downloads/2372/



avatar

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

  • 30 августа 2019, 16:50
+
0
сейчас вот например бай закрыли. отвели его в сторонку мышкой, переименовали и он не удаляется с графика

avatar

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

  • 30 августа 2019, 16:58
+
0
Андрей спасибо, что доделали заказ! *hi* 
avatar

  9  Wizas Автор Сообщений: 146

  • 2 сентября 2019, 15:45
+
0
Андрей, а можно в этот индикатор добавить, чтоб после значения тейк профита еще и объем сделки отображался?

Редактирован: 30 октября 2019, 23:01
avatar

  9  Wizas Автор Сообщений: 146

  • 30 октября 2019, 23:01
+
0
//+------------------------------------------------------------------+
//|                                                     DayDeals.mq4 |
//|                                              Copyright 2019, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int size=10;
input int bars=2;
input int points=111;
input color clr=Red;
input int stop=1; //1-цена 2-пункты

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string DayDeals()
  {
   string s="",s1="";
   double st=0,tk=0;

   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()<2 && TimeDay(OrderOpenTime())==Day())
              {
               if(OrderType()==0) s1=" BUY ";
               if(OrderType()==1) s1=" SELL ";

               if(stop==1)
                 {
                  st=OrderStopLoss();
                  tk=OrderTakeProfit();
                 }

               if(stop==2)
                 {
                  if(OrderStopLoss()!=0) st=(int)(MathAbs(OrderOpenPrice()-OrderStopLoss())/_Point);
                  if(OrderTakeProfit()!=0) tk=(int)(MathAbs(OrderOpenPrice()-OrderTakeProfit())/_Point);
                 }

               s+="\n"+TimeToString(OrderOpenTime(),TIME_MINUTES)+s1+(string)OrderOpenPrice()+" SL: "+(string)st+" TP: "+(string)tk+" ["+(string)OrderLots()+"]"+"\n"+"-----------------------------------------------------------------------";
              }
           }
        }
     }
   return(s);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string DayDealsText()
  {
   string s="",s1="";
   double st=0,tk=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()<2 && TimeDay(OrderOpenTime())==Day())
              {
               if(OrderType()==0) s1=" BUY ";
               if(OrderType()==1) s1=" SELL ";

               if(stop==1)
                 {
                  st=OrderStopLoss();
                  tk=OrderTakeProfit();
                 }

               if(stop==2)
                 {
                  if(OrderStopLoss()!=0) st=(int)(MathAbs(OrderOpenPrice()-OrderStopLoss())/_Point);
                  if(OrderTakeProfit()!=0) tk=(int)(MathAbs(OrderOpenPrice()-OrderTakeProfit())/_Point);
                 }

               s=TimeToString(OrderOpenTime(),TIME_MINUTES)+s1+(string)OrderOpenPrice()+" SL:"+(string)st+" TP:"+(string)tk+" "+(string)OrderLots();
               ObjectDelete(0,"txt"+(string)i);
               Text("txt"+(string)i,s,Close[0]+points*_Point*i,Time[0]+PeriodSeconds()*bars);
              }
           }
        }
     }
   return(s);
  }
//+------------------------------------------------------------------+
//| Put Text Function                                                |
//+------------------------------------------------------------------+
void Text(string name,string text,double price,datetime time)
  {
   ObjectDelete(0,name);
//--- create a "Text" object 
   ObjectCreate(0,name,OBJ_TEXT,0,time,price);
//--- set the text
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- set the font of the text
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- set the font size
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,size);
//--- set the method binding
   ObjectSetInteger(0,name,OBJPROP_ANCHOR,0);
//--- set the color
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   DayDealsText();
   //if(OrdersTotal()<1) ObjectsDeleteAll(0,OBJ_TEXT);

   Comment("\n",DayDeals());
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
avatar

  4  sergeysv7 Сообщений: 9

  • 31 октября 2019, 01:27
+
0
Спасибо добрый Человек! *good* 
avatar

  9  Wizas Автор Сообщений: 146

  • 31 октября 2019, 12:44

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