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

visualorders@lifeindreamsworld.mq4

Вы автор или правообладатель?

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

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

О программе

VisualOrders — индикатор для MetaTrader 4, который визуализирует текущие и исторические ордера на графике в виде линий, стрелок и текстовых меток. Отображает информацию о прибыли по покупкам и продажам, общую прибыль, количество сделок и, при включённом режиме, текущий депозит и спред. Дополнительно может показывать уровни Take Profit и Stop Loss с расстоянием в пунктах и долларах для открытых позиций.

Настройки программы

НастройкаОписание
_ModeProf _ModeProf — Текстовая подсказка для режима отображения прибыли (1 — плавающий профиль, 2 — панель сверху)
ModeProf ModeProf — Режим отображения: 1 — плавающие метки прибыли на графике, 2 — сводная панель в углу чарта
_orders _orders — Текстовая метка раздела отображения ордеров на графике
_Type _Type — Текстовая подсказка фильтра типа ордеров (0 — все, -1 — Sell, 1 — Buy)
Type Type — Фильтр отображаемых ордеров по типу: 0 — все, 1 — только Buy, -1 — только Sell
CurOrders CurOrders — Показывать текущие (открытые) ордера на графике
lblSize lblSize — Размер меток стрелок и линий ордеров (от 1 до 4)
HistOrders HistOrders — Показывать исторические (закрытые) ордера на графике
ShowProfits ShowProfits — Отображать величину прибыли/убытка на линиях исторических ордеров
ShiftProfits ShiftProfits — Вертикальное смещение метки прибыли исторического ордера в пунктах от цены закрытия
lShowTargets lShowTargets — Показывать уровни Take Profit и Stop Loss открытых ордеров с расстоянием в пунктах и долларах
ShowDeposit ShowDeposit — Отображать текущий размер депозита (эквити) на графике
ShowTimeSpread ShowTimeSpread — Показывать текущее время, плечо и спред в углу чарта
Получить полный код

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

#property indicator_chart_window

#import  "shell32.dll"           //Connect a dll (provided with Windows)             
  int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd); 
#import "user32.dll"
  int MessageBoxA(int hWnd ,string lpText,string lpCaption,int uType);
#import

extern string  _ModeProf="Прибыль 1-плавающ.,2-сверху";
extern int     ModeProf=2;
extern string  _orders="Показывать сделки на графике:";
extern string  _Type = "0 все,-1 Sell,1 Buy";
extern int     Type = 0;
extern bool    CurOrders=true;
extern int     lblSize=1;
extern bool    HistOrders=true;
extern bool    ShowProfits=false;
extern int     ShiftProfits=0;
extern bool    lShowTargets=false;
extern bool    ShowDeposit=false;
extern bool    ShowTimeSpread=true;
int            ProfitTextSise = 9;
string         FontName = "Courier New";
color          ColorProfit0 = DodgerBlue;
color          ColorProfitPositive = LimeGreen;
color          ColorProfitNegative = Red;
int profit_dist_label = 110;
int profit_dist_count = 90;
int profit_dist_value = 10;

double prev_profit=0, cur_prof5=0, prev_prof5=0;
int wh=0;
int init()
{
      // код доступен только после оплаты
   }
int deinit()
{
   deleteAll();
   for(int i=0;i<30;i++)
   {
      ObjectDelete(Symbol()+DoubleToStr(Period(),0)+"vopen"+i);
      ObjectDelete(Symbol()+DoubleToStr(Period(),0)+"vtake"+i);
      ObjectDelete(Symbol()+DoubleToStr(Period(),0)+"vstop"+i);
   }
}

double Trunc(double v=0)
{
   return(StrToDouble(DoubleToStr(v,0)));
}

double TakeProfit=0, StopLoss=0;

int start()
{
      // код доступен только после оплаты
   }
   datetime t1,t2,t3,t4;
   double TickValue=MarketInfo(Symbol(), MODE_TICKVALUE);
   int spread=MarketInfo(Symbol(), MODE_SPREAD);

   if (ShowTimeSpread) ObjectSetText("curtime", TimeToStr(TimeCurrent(),TIME_SECONDS)+" Плечо:"+DoubleToStr(AccountLeverage(),0)+" Спрэд:"+DoubleToStr(spread,0), 10, "Impact",ColorProfit0);
	int i;
   double sell_profit=0, buy_profit=0, tot_profit=0, 
          sell_points=0, buy_points=0, tot_points=0, prev_points=0, 
          plus_profit=0, minus_profit=0;
   int    sell_count=0, buy_count=0;
   for(i=0;i<OrdersTotal();i++)
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
   {
      if(OrderSymbol()==Symbol() && OrderType()==OP_SELL) { 
         sell_profit+=OrderProfit(); sell_points+=Ask-OrderOpenPrice();
         sell_count+=1; 
      }
      if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) { 
         buy_profit+=OrderProfit(); buy_points+=Bid-OrderOpenPrice();
         buy_count+=1; 
      }
      if(OrderSymbol()==Symbol() ) 
         if(OrderProfit()>0) 
            plus_profit+=OrderProfit();
         else
            minus_profit+=OrderProfit();
   }
   tot_profit=sell_profit+buy_profit;
   tot_points=buy_points-sell_points;
   cur_prof5=Trunc(tot_points/5)*5;
   prev_prof5=Trunc(prev_points/5)*5;

   if (ShowDeposit) ObjectSetText("Account", DoubleToStr(AccountEquity(),2), 20, "Arial", Gold);

   ObjectSetText("profit_tot_count",DoubleToStr(sell_count+buy_count,0), ProfitTextSise, FontName, ColorProfit0);
   if(tot_profit==0) ObjectSetText("profit_tot_value","0", ProfitTextSise, FontName, ColorProfit0);
   else {
     if(tot_profit>0) ObjectSetText("profit_tot_value", "$ +"+DoubleToStr(tot_profit,3), ProfitTextSise, FontName, ColorProfitPositive);
     else ObjectSetText("profit_tot_value", "$ "+DoubleToStr(tot_profit,3), ProfitTextSise, FontName, ColorProfitNegative);
   }

   ObjectSetText("profit_sell_count",DoubleToStr(sell_count,0), ProfitTextSise, FontName, ColorProfit0);
   if(sell_profit==0) ObjectSetText("profit_sell_value","0", ProfitTextSise, FontName, ColorProfit0);
   else {
     if(sell_profit>0) ObjectSetText("profit_sell_value", "$ +"+DoubleToStr(sell_profit,3), ProfitTextSise, FontName, ColorProfitPositive);
     else ObjectSetText("profit_sell_value", "$ "+DoubleToStr(sell_profit,3), ProfitTextSise, FontName, ColorProfitNegative);
   }

   ObjectSetText("profit_buy_count",DoubleToStr(buy_count,0), ProfitTextSise, FontName, ColorProfit0);
   if(buy_profit==0) ObjectSetText("profit_buy_value","0", ProfitTextSise, FontName, ColorProfit0);
   else {
     if(buy_profit>0) ObjectSetText("profit_buy_value", "$ +"+DoubleToStr(buy_profit,3), ProfitTextSise, FontName, ColorProfitPositive);
     else ObjectSetText("profit_buy_value", "$ "+DoubleToStr(buy_profit,3), ProfitTextS

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

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

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

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

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

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

Стоимость полного кода
1 411,80₽ ≈ $17.25