← К каталогу
Исходный код · ID 4503

!xps v8 profit

!xps v8 profit.mq4
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор !xps v8 profit для MetaTrader 4 отображает на графике информацию об открытых ордерах. Он перебирает все текущие позиции (buy и sell), выводит название инструмента, рассчитанный прибыль/убыток в пунктах для каждого ордера, а также общий итог по всем позициям. Информация представлена в виде текстовых меток на графике с цветовой кодировкой: синий цвет для ордеров типа buy и положительного результата, оранжевый — для sell и убыточных позиций.

Индикатор использует стандартные функции MQL4 для работы с ордерами (OrdersTotal, OrderSelect) и создаёт графические объекты типа OBJ_LABEL для отображения данных. При деинициализации удаляются все созданные метки и горизонтальные линии. У индикатора нет настраиваемых входных параметров — все визуальные параметры (цвета, шрифт, позиции) заданы жёстко в коде.

Продукт представляет собой информационный индикатор-панель, предназначенный для визуального контроля текущей прибыльности открытых торговых позиций на графике MetaTrader 4.

Получить полный код

Поиск по коду файла

#property indicator_chart_window

int Corner=1;
int Window=0;
color Warna_Text       = Snow;
color Warna_Order_Sell = Orange;
color Warna_Order_Buy  = DeepSkyBlue;
color Warna_Rugi       = Orange;
color Warna_Laba       = DeepSkyBlue;
string NamaFont        = "Arial Black";
int    UkuranFont      = 10;
double posX            = 38;
double posY            = 0;

int Font=9;
int x = NULL;

int init()
  {
      // код доступен только после оплаты
   }

int deinit()
  {

   int    idx;

   if(x != NULL) {
      for(idx = 0; idx<x; idx++) {
         ObjectDelete("Panel242"+idx);
         ObjectDelete("PL"+idx);
      }

      ObjectDelete("Panel241"); 
      ObjectDelete("Panel243");     
      ObjectDelete("h");      
      ObjectDelete("Total1");
      ObjectDelete("Total2");

   }

   ObjectsDeleteAll(0,OBJ_HLINE);
   ObjectsDeleteAll(0,OBJ_TEXT);
   ObjectsDeleteAll(0,OBJ_LABEL); 

   return(0);
  }

void DisplayText(string objname, string text, int fontsize, color clr, double C, double X, double Y, string font)
{
   ObjectDelete(objname);
   ObjectCreate(objname, OBJ_LABEL, Window, 0, 0);
   ObjectSetText(objname, text, fontsize, font, clr);
   ObjectSet(objname, OBJPROP_CORNER, Corner);
   ObjectSet(objname, OBJPROP_XDISTANCE, X+posX);
   ObjectSet(objname, OBJPROP_YDISTANCE, Y+posY);
}

int start()
  {
      // код доступен только после оплаты
   }

   int    counted_bars=IndicatorCounted();
   int    j;
   int    idx;
   string text;
   double PL;
   double total;

         if(x != NULL) {
            for(idx = 0; idx<x; idx++) {
               ObjectDelete("Panel242"+idx);
               ObjectDelete("Panel243"+idx);
            }

            ObjectDelete("Total1");
            ObjectDelete("Total2");
         }

         text = "";
         j=0;
         total = 0;

         DisplayText("Panel241", "Trades", 12, Warna_Text, 0, -6, 20 , "Arial Black"); 

         for (int i = OrdersTotal()-1 ; i >= 0; i--) 
         { 
            if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
            { 

               if(OrderType() == OP_BUY)  {

                  DisplayText("Panel242"+j, OrderSymbol(), 12, Warna_Order_Buy, 0, 10, Font+28 + j * 18, "Arial Black"); 
                  PL = (OrderClosePrice()-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT)/10;
                  total = total + PL;
                  if(PL<0) DisplayText("Panel243"+j, DoubleToStr(PL, 0), 12, Warna_Rugi, 0, -30, Font+28 + j * 18, "Arial Black"); 
                  else if(PL>0) DisplayText("Panel243"+j, "+"+DoubleToStr(PL, 0), 12, Warna_Laba, 0, -30, Font+28 + j * 18, "Arial Black"); 
                  else DisplayText("Panel243"+j, DoubleToStr(PL, 0), 12, Warna_Text, 0, -30, Font+28 + j * 18, "Arial Black"); 
               }
               else if(OrderType() == OP_SELL)  {

                  DisplayText("Panel242"+j, OrderSymbol(), 12, Warna_Order_Sell, 0, 10, Font+28 + j * 18, "Arial Black"); 
                  PL = (OrderOpenPrice()-OrderClosePrice())/MarketInfo(OrderSymbol(),MODE_POINT)/10;
                  total = total + PL;
                  if(PL<0) DisplayText("Panel243"+j, DoubleToStr(PL, 0), 12, Warna_Rugi, 0, -30, Font+28 + j * 18, "Arial Black"); 
                  else if(PL>0) DisplayText("Panel243"+j,"+"+DoubleToStr(PL, 0), 12, Warna_Laba, 0, -30, Font+28 + j * 18, "Arial Black"); 
                  else DisplayText("Panel243"+j,DoubleToStr(PL, 0), 12, Warna_Text, 0, -30, Font+28 + j * 18, "Arial Black"); 
               }
               j=j+1;
            } 
         } 

         DisplayText("Total1","Total", 12, Warna_Text, 0, 25, Font+28 + j * 18, "Arial Black");

         if(total<0) DisplayText("Total2", DoubleToStr(total, 0), 12, Warna_Rugi, 0, -30, Font+28 + j * 18, "Arial Black");
         else if (total>0

Показано первые 50% кода (символов: 3721)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
372,10₽ ≈ $4.55