Индикаторы: Индикатор уровня безубыточности

 

Индикатор уровня безубыточности:

Индикатор показывает уровни безубыточности для групп ордеров Sell и Buy.

Author: Vladimir Khlystov

 
не цепляется индикатор к графику... :(
 
zloy_monter:
не цепляется индикатор к графику... :(

  Нужна маленькая деталь. :)
Сразу перед функцией int start()
поставьте строчку:

#property indicator_chart_window
 
cmillion:
zloy_monter:
не цепляется индикатор к графику... :(

Нужна маленькая деталь. :)
Сразу перед функцией int start()
поставьте строчку:

#property indicator_chart_window

хорошая штука, только не учитывает свопы...

 
хорошая штука, только не учитывает свопы... 
Предполагается использование этого индикатора в течении дня. При учете свопов индикатор значительно вырастет.
 
cmillion:
хорошая штука, только не учитывает свопы...
Предполагается использование этого индикатора в течении дня. При учете свопов индикатор значительно вырастет.

//+------------------------------------------------------------------+
//|                                                    AllProfit.mq4 |
//|                              Copyright © 2010, Khlistov Vladimir |
//|                                         http://cmillion.narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Khlistov Vladimir"
#property link      "http://cmillion.narod.ru"
//+------------------------------------------------------------------+
#property indicator_chart_window
//+------------------------------------------------------------------+
int deinit()
   {
   ObjectDelete("SLb");
   ObjectDelete("SLs");
   return(0);
   }
//+------------------------------------------------------------------+
int start()
{
   int b,s;
   double price_b,price_s,lot,lot_s,lot_b,SLb,SLs;
   for (int i=0; i<OrdersTotal(); i++)
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
      {  if (OrderSymbol()==Symbol())
         {
            lot   = OrderLots();
            if (OrderType()==OP_BUY ) 
               {price_b = price_b+ MathFloor((Bid-(OrderProfit()+OrderSwap()+OrderCommission())/(OrderLots()*100000))/Point)*Point *lot; b++;  lot_b=lot_b+lot;}
            if (OrderType()==OP_SELL) 
               {price_s = price_s+ MathCeil((Ask+(OrderProfit()+OrderSwap()+OrderCommission())/(OrderLots()*100000))/Point)*Point *lot; s++;  lot_s=lot_s+lot;}
   }  }  }
   ObjectDelete("SLb");
   if (b!=0) 
   {  SLb = price_b/lot_b;
      ObjectCreate("SLb",OBJ_ARROW,0,Time[0],SLb,0,0,0,0);                     
      ObjectSet   ("SLb",OBJPROP_ARROWCODE,6);
      ObjectSet   ("SLb",OBJPROP_COLOR, DodgerBlue);
   }
   ObjectDelete("SLs");
   if (s!=0) 
   {  SLs = price_s/lot_s;
      ObjectCreate("SLs",OBJ_ARROW,0,Time[0],SLs,0,0,0,0);                     
      ObjectSet   ("SLs",OBJPROP_ARROWCODE,6);
      ObjectSet   ("SLs",OBJPROP_COLOR, Maroon);
   }
}
//+------------------------------------------------------------------+
Поковырялся себе и подправил - теперь будет цепляться на график, удаляться при снятии с графика, и главное учитывать свопы и комиссии! Кому надо - плиз:
 
Dol-Phin:
cmillion:
хорошая штука, только не учитывает свопы...
Предполагается использование этого индикатора в течении дня. При учете свопов индикатор значительно вырастет.

//+------------------------------------------------------------------+
//|                                                    AllProfit.mq4 |
//|                              Copyright © 2010, Khlistov Vladimir |
//|                                         http://cmillion.narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Khlistov Vladimir"
#property link      "http://cmillion.narod.ru"
//+------------------------------------------------------------------+
#property indicator_chart_window
//+------------------------------------------------------------------+
int deinit()
   {
   ObjectDelete("SLb");
   ObjectDelete("SLs");
   return(0);
   }
//+------------------------------------------------------------------+
int start()
{
   int b,s;
   double price_b,price_s,lot,lot_s,lot_b,SLb,SLs;
   for (int i=0; i<OrdersTotal(); i++)
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
      {  if (OrderSymbol()==Symbol())
         {
            lot   = OrderLots();
            if (OrderType()==OP_BUY ) 
               {price_b = price_b+ MathFloor((Bid-(OrderProfit()+OrderSwap()+OrderCommission())/(OrderLots()*100000))/Point)*Point *lot; b++;  lot_b=lot_b+lot;}
            if (OrderType()==OP_SELL) 
               {price_s = price_s+ MathCeil((Ask+(OrderProfit()+OrderSwap()+OrderCommission())/(OrderLots()*100000))/Point)*Point *lot; s++;  lot_s=lot_s+lot;}
   }  }  }
   ObjectDelete("SLb");
   if (b!=0) 
   {  SLb = price_b/lot_b;
      ObjectCreate("SLb",OBJ_ARROW,0,Time[0],SLb,0,0,0,0);                     
      ObjectSet   ("SLb",OBJPROP_ARROWCODE,6);
      ObjectSet   ("SLb",OBJPROP_COLOR, DodgerBlue);
   }
   ObjectDelete("SLs");
   if (s!=0) 
   {  SLs = price_s/lot_s;
      ObjectCreate("SLs",OBJ_ARROW,0,Time[0],SLs,0,0,0,0);                     
      ObjectSet   ("SLs",OBJPROP_ARROWCODE,6);
      ObjectSet   ("SLs",OBJPROP_COLOR, Maroon);
   }
}
//+------------------------------------------------------------------+
Поковырялся себе и подправил - теперь будет цепляться на график, удаляться при снятии с графика, и главное учитывать свопы и комиссии! Кому надо - плиз:

У меня почему-то текущее значение цены показывает. Для голды не подходит?

Впрочем, на евру кинул, только селл на месте стоит, бай перемещается...

 
А не могли бы добавить настройку, включения/отключения, учета самого прибыльного оредра. 
Это нужно для того, если построена сетка, из одинаковых ордеров, чтобы тот который открыт по самой выгоднйо цене, оставался , а все остальные, закрыть по БУ.