0
А надо — селл закрылся, бай остался, через паузу в минутах выставилась серия из селл на серию открытой бай.

Это сложнее, подумаю как сделать в следующем топе. Пауза работает только в реале.
avatar

AM2

  • 17 мая 2017, 23:59
+1
Мне нужно что бы индикатор показывал только сумму ВСЕХ ПРОФИТНЫХ ОРДЕРОВ!!!


Вот только по профитным:


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

input int corner=0;
input color clr=Red;
input string fnt="Arial";
input int size=12;
input int x=22;
input int y=22;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string text)
  {
   ObjectDelete(0,"L");
//--- создадим текстовую метку
   ObjectCreate(0,"L",OBJ_LABEL,0,0,0);
//--- установим координаты метки
   ObjectSetInteger(0,"L",OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,"L",OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,"L",OBJPROP_CORNER,corner);
//--- установим текст
   ObjectSetString(0,"L",OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,"L",OBJPROP_FONT,fnt);
//--- установим размер шрифта
   ObjectSetInteger(0,"L",OBJPROP_FONTSIZE,size);
//--- установим цвет
   ObjectSetInteger(0,"L",OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double AllProfit()
  {
   double profit=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()<2 && OrderProfit()>0) profit+=OrderProfit()+OrderCommission()+OrderSwap();
           }
        }
     }
   return (profit);
  }
//+------------------------------------------------------------------+
//| 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(AllProfit(),2)));
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//|                                                       Profit.mq4 |
//|                                              Copyright 2017, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int corner=0;
input color clr=Red;
input string fnt="Arial";
input int size=12;
input int x=22;
input int y=22;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string text)
  {
   ObjectDelete(0,"L");
//--- создадим текстовую метку
   ObjectCreate(0,"L",OBJ_LABEL,0,0,0);
//--- установим координаты метки
   ObjectSetInteger(0,"L",OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,"L",OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,"L",OBJPROP_CORNER,corner);
//--- установим текст
   ObjectSetString(0,"L",OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,"L",OBJPROP_FONT,fnt);
//--- установим размер шрифта
   ObjectSetInteger(0,"L",OBJPROP_FONTSIZE,size);
//--- установим цвет
   ObjectSetInteger(0,"L",OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double AllProfit()
  {
   double profit=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()<2 && OrderProfit()>0) profit+=OrderProfit()+OrderCommission()+OrderSwap();
           }
        }
     }
   return (profit);
  }
//+------------------------------------------------------------------+
//| 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(AllProfit(),2)));
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+


avatar

AM2

  • 17 мая 2017, 17:46
0
думаю пока хватит

Сложный не берусь.
avatar

AM2

  • 16 мая 2017, 17:34
0
реал мониторинг в студию :) 
avatar

AM2

  • 15 мая 2017, 19:33
0
Сколько всего вы хотите сразу ухватить! :) 
avatar

AM2

  • 15 мая 2017, 18:21
0
Формула какая будет?
avatar

AM2

  • 15 мая 2017, 17:25
0
Посмотрю сегодня вечером.
avatar

AM2

  • 15 мая 2017, 06:40
0
После выходных добавлю.
avatar

AM2

  • 13 мая 2017, 22:24
0
если других заказов не будет, посмотрю.
avatar

AM2

  • 13 мая 2017, 16:55
0
Реально сделать что то подобное, когда будет 3-й уровень.
avatar

AM2

  • 13 мая 2017, 15:14
+1
Думаю, PDF тоже смогу разобрать.


Как то думал как сделать текст из пдф. Задумка была такая:

1.Открываем отчет пдф в браузере.
2. Прогаммно жмем ctrl+a затем жмем ctrl+с и у нас уже есть текст
3. Далее можно сохранить из буфера обмена или через блокнот.
avatar

AM2

  • 12 мая 2017, 16:55
0
Сколько за такой советник запросили на платном? Сразу видно чтобы сделать по ТЗ надо написать кучу уникальных функций, а это недешево :) 
avatar

AM2

  • 12 мая 2017, 15:30
0
Просьба всегда скидывать картинки в топик:



avatar

AM2

  • 12 мая 2017, 15:04
+1
Добавил, поправил :)  www.opentraders.ru/downloads/1553/
avatar

AM2

  • 11 мая 2017, 20:25