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

visualorders@fxsignalpot.mq4

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

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

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

О программе

VisualOrders — это пользовательский индикатор для платформы MetaTrader 4, который отображает торговые ордера на графике в виде графических объектов: трендовых линий и стрелок. Индикатор визуализирует как текущие торгуемые ордера, так и исторические, позволяя трейдеру наглядно оценить состояние своих позиций на таймшарте.

Индикатор отображает статистику прибыли: прибыль по покупкам, продажам и общую сумму, обновляя данные в реальном времени. Значения окрашиваются в зависимости от знака — положительные в зелёном, отрицательные в красном.

Дополнительно индикатор может показывать уровни тейк-профита и стоп-лосса для каждого ордера с указанием расстояния в пунктах и деньгах, а также отображать текущие время, плечо и спред, а также информацию об эквити счёта.

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

НастройкаОписание
_ModeProf Описание режима прибыли — Текстовое описание режима прибыли (информационная метка).
ModeProf Режим прибыли — Режим отображения информации о прибыли. Значение 1 — прибыль показывается в верхней части графика, значение 2 — прибыль отображается в виде подписей у правого нижнего угла (при также включённом ShowProfits).
_orders Описание ордеров — Текстовая метка, описывающая назначение блока настроек отображения ордеров (информационная метка).
_Type Описание типа ордера — Текстовое описание фильтра типа ордеров (информационная метка).
Type Тип ордера — Фильтр типа ордеров для отображения: 0 — все ордера, 1 — только Buy, -1 — только Sell.
CurOrders Текущие ордера — Отображение текущих торгуемых ордеров на графике. При активации индикатор рисует графические объекты для каждого активного ордера по текущему символу.
lblSize Размер меток — Размер стрелок-индикаторов ордеров на графике. Допустимые значения от 1 до 4, при выходе за пределы автоматически корректируется до допустимого диапазона.
HistOrders Исторические ордера — Отображение исторических ордеров на графике. При активации индикатор визуализирует закрытые ордера в виде трендовых линий и стрелок.
ShowProfits Показывать прибыль — Включение отображения подписей прибыли у ордеров в историческом режиме, а также отображение значений прибыли в режиме ModeProf=2.
ShiftProfits Смещение прибыли — Смещение подписей прибыли в пунктах от расчётной позиции. Положительные значения смещают текст вверх, отрицательные — вниз.
lShowTargets Показывать цели — Включение отображения целевых уровней (тейк-профит и стоп-лосс) для каждого ордера с указанием расстояния в пунктах и деньгах.
ShowDeposit Показывать эквити — Отображение эквити счёта в виде текстовой метки на графике. Метка показывает текущее значение AccountEquity с точностью до двух знаков после запятой.
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