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