equityguard1.2c.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «equityguard1.2c.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник для платформы MetaTrader 4, предназначенный для защиты депозита путём мониторинга уровня equity или баланса счёта. Отслеживает наивысший и наименьший зафиксированный уровень средств, сравнивая текущий показатель с заданными пользователем порогами. При достижении максимального целевого уровня, минимального целевого уровня или заданного процента просадки от пика выполняет защитные действия: отключает запущенных советников, закрывает активные позиции и удаляет отложенные ордера, а также может отправлять звуковые и email-уведомления.
Настройки программы
| Настройка | Описание |
|---|---|
| EAName | Имя советника — Текстовое название, отображаемое на графике для идентификации экземпляра советника. |
| MonitorEquity | Мониторинг equity — При включении советник отслеживает уровень equity счёта; при выключении — баланс. |
| eg0 | Разделитель максимального целевого уровня — Текстовая метка группы настроек максимального целевого уровня. |
| MaximalTargetON | Максимальный целевой уровень включён — Включает проверку достижения максимального порога equity или баланса. |
| MaximalTarget | Максимальный целевой уровень — Значение equity или баланса, при достижении которого срабатывает максимальный порог. |
| DisableAllEAs1 | Отключить все советники при максимальном уровне — Отключает все запущенных экспертов на графике при срабатывании максимального порога. |
| CloseAllActiveOrders1 | Закрыть активные ордера при максимальном уровне — Закрывает все активные позиции при срабатывании максимального порога. |
| DeleteAllPendingOrders1 | Удалить отложенные ордера при максимальном уровне — Удаляет все отложенные ордера при срабатывании максимального порога. |
| eg1 | Разделитель минимального целевого уровня — Текстовая метка группы настроек минимального целевого уровня. |
| MinimalTargetON | Минимальный целевой уровень включён — Включает проверку достижения минимального порога equity или баланса. |
| MinimalTarget | Минимальный целевой уровень — Значение equity или баланса, при достижении которого срабатывает минимальный порог. |
| DisableAllEAs2 | Отключить все советники при минимальном уровне — Отключает все запущенных экспертов на графике при срабатывании минимального порога. |
| CloseAllActiveOrders2 | Закрыть активные ордера при минимальном уровне — Закрывает все активные позиции при срабатывании минимального порога. |
| DeleteAllPendingOrders2 | Удалить отложенные ордера при минимальном уровне — Удаляет все отложенные ордера при срабатывании минимального порога. |
| eg2 | Разделитель процентной просадки — Текстовая метка группы настроек процентной просадки. |
| PercentDrawdownON | Процентная просадка включена — Включает проверку просадки текущего уровня от зафиксированного пика. |
| PercentDrawdown | Процент просадки — Процент снижения от наивысшего зафиксированного уровня, при котором срабатывает порог просадки. |
| DisableAllEAs3 | Отключить все советники при просадке — Отключает все запущенных экспертов на графике при срабатывании порога просадки. |
| CloseAllActiveOrders3 | Закрыть активные ордера при просадке — Закрывает все активные позиции при срабатывании порога просадки. |
| DeleteAllPendingOrders3 | Удалить отложенные ордера при просадке — Удаляет все отложенные ордера при срабатывании порога просадки. |
| eg4 | Разделитель настроек оповещений — Текстовая метка группы настроек оповещений. |
| SoundON | Звуковое оповещение включено — Включает воспроизведение звукового файла при срабатывании любого порога. |
| SoundFile | Файл звукового оповещения — Имя звукового файла, который воспроизводится при срабатывании порога. |
| SendEmailON | Email-уведомление включено — Включает отправку email-сообщения при срабатывании любого порога. |
| TxtColor | Цвет текста — Цвет текстовых меток, отображаемых на графике. |
| numClolor | Цвет числовых значений — Цвет числовых показателей, отображаемых на графике. |
| ProgrammingService | Контакт программиста — Контактная информация разработчика, отображаемая на графике. |
Поиск по коду файла
#include <WinUser32.mqh>
extern string EAName="===EquityGuard-V1.2===";
extern bool MonitorEquity=true;
extern string eg0="---Maximal Target Sets:---";
extern bool MaximalTargetON=true;
extern double MaximalTarget=5000;
extern bool DisableAllEAs1=true;
extern bool CloseAllActiveOrders1=true;
extern bool DeleteAllPendingOrders1=true;
extern string eg1="---Minimal Target Sets:---";
extern bool MinimalTargetON=true;
extern double MinimalTarget=2000;
extern bool DisableAllEAs2=true;
extern bool CloseAllActiveOrders2=true;
extern bool DeleteAllPendingOrders2=true;
extern string eg2="---Percent Drawdown Sets:---";
extern bool PercentDrawdownON=true;
extern double PercentDrawdown=15;
extern bool DisableAllEAs3=true;
extern bool CloseAllActiveOrders3=true;
extern bool DeleteAllPendingOrders3=true;
extern string eg4="---Alert Sets:---";
extern bool SoundON=true;
extern string SoundFile="alert.wav";
extern bool SendEmailON=false;
extern color TxtColor=DarkOrange;
extern color numClolor=Lime;
extern string ProgrammingService="Ryan: f**************g*@gmail.com";
int Slippage = 3;
int TotalTries = 5;
int RetryDelay = 1000;
bool Runable=true;
double EorB;
color wornColor=Red;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
DelAllTxts();
return(0);
}
void DelAllTxts()
{
ObjectDelete("logo1");
ObjectDelete("logo2");
ObjectDelete("eg1");ObjectDelete("eg2");
ObjectDelete("eg3");
ObjectDelete("eg31");
ObjectDelete("eg32");
ObjectDelete("eg33");
ObjectDelete("eg34");
ObjectDelete("eg35");
ObjectDelete("eg4");
ObjectDelete("eg41");
ObjectDelete("eg42");
ObjectDelete("eg43");
ObjectDelete("eg5");
ObjectDelete("eg51");
ObjectDelete("eg52");
ObjectDelete("eg53");
ObjectDelete("eg6");
ObjectDelete("eg61");
ObjectDelete("eg62");
ObjectDelete("eg63");
GlobalVariableDel("HighestEquity");
GlobalVariableDel("LowestEquity");
WindowRedraw();
}
void ShowEAStatus()
{
string s1,s2,s3,s4,s5;
double target;
if(MonitorEquity)EorB=AccountEquity();else EorB=AccountBalance();
CreatLabel("eg1"," "+EAName,0,5,15,TxtColor);
CreatLabel("eg2","------------------------------------------------",0,5,22,TxtColor);
target=GlobalVariableGet("HighestEquity")*(1-PercentDrawdown*0.01);
string seb;
if(MonitorEquity) seb="Equity";else seb="Balance";
if(MonitorEquity)
s1="Current Equity:"+DoubleToStr(EorB,2)+" Highest Equity:"+DoubleToStr(GlobalVariableGet("HighestEquity"),2);
else
s1="Current Balance:"+DoubleToStr(EorB,2)+" Highest Balance:"+DoubleToStr(GlobalVariableGet("HighestEquity"),2);
CreatLabel("eg3", "Current "+seb+": ",0,5,35,TxtColor); CreatLabel("eg31",DoubleToStr(EorB,2),0,95,35,numClolor);
CreatLabel("eg32","Highest "+seb+": ",0,5,50,TxtColor); CreatLabel("eg33",DoubleToStr(GlobalVariableGet("HighestEquity"),2),0,95,50,numClolor);
CreatLabel("eg34","Lowest "+seb+": ",0,5,65,TxtColor); CreatLabel("eg35",DoubleToStr(GlobalVariableGet("LowestEquity"),2),0,95,65,numClolor);
if(MaximalTargetON) s2=DoubleToStr(MaximalTarget,2)+ " Distance:"+DoubleToStr(MaximalTarget-EorB,2) ; else s2="OFF";
CreatLabel("eg4","Maximal Target "+onoff(MaximalTargetON)+": ",0,5,80,TxtColor);
CreatLabel("eg41",DoubleToStr(MaximalTarget,2),0,130,80,numClolor);
CreatLabel("eg42","Distance:",0,190,80,TxtColor);
CreatLabel("eg43",DoubleToStr(MaximalTarget-EorB,2),0,250,80,numClolor);
CreatLabel("eg5","Minimal Target "+onoff(MinimalTargetON)+": ",0,5,95,TxtColor);
CreatLabel("eg51",DoubleToStr(MinimalTarget,2),0,130,95,numClolor);
CreatLabel("eg52","Distance:",0,190,95,TxtColor);
CreatLabel("eg53",DoubleToStr(EorB-MinimalTarget,2) ,0,250,95,numClolor);
CreatLabel("eg6","Percent DrawD "+onoff(PercentDrawdownON)+": ",0,5,110,TxtColor);
CreatLabel("eg61",DoubleToStr(PercentDrawdown,2)+"%["+DoubleToStr(target,2)+"]",0,130,110,numClolor);
CreatLabel("eg62","Distance:",0,230,110,TxtColor);
CreatLabel("eg63",DoubleToStr(MathAbs(target-EorB),2) ,0,290,110,numClolor);
WindowRedraw();
}
string onoff(bool on)
{
if(on) return("[ON]"); else return("[OFF]");
}
int start()
{
// код доступен только после оплаты
}
while( !IsStoppedПоказано первые 50% кода (символов: 8519)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.