!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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.