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

Unlocker

unlocker manual.mq4

Похожие материалы по тегам

#3 news panel (black) bgp.mq5MQL5 / MetaTrader 5 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговindicator marketmind for tradingview.pineTradingView · 1 общих теговmarket crusher ea guidlines.txtMQL · 1 общих теговsovetnikov_v5.mq4MQL4 / MetaTrader 4 · 1 общих теговmarusya mt4.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Unlocker — торговый советник для MetaTrader 4, предназначенный для управления позициями локирования и усреднения убыточных сеток. При достижении заданного количества ордеров на покупку или продажу активируется режим локирования, в котором открываются дополнительные ордера с настраиваемыми параметрами тейк-профита, безубытка и размера лота.

Советник отслеживает состояние позиций на символе в реальном времени через обработчик OnTick и отображает ключевые показатели аккаунта (эквити, баланс, прибыль, просадку, объёмы) в виде комментария на графике. Доступны настройки множителей лота и шага для усреднения, а также параметры «копилки» — откладывания части прибыли на баланс.

В советнике реализована функция самоликвидации локирующих ордеров и система защиты лицензии. Локирование может быть настроено отдельно для направлений покупки и продажи с индивидуальными параметрами активации.

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

НастройкаОписание
CountBuy Задаёт количество ордеров на покупку, при достижении которого активируется режим локирования.
CountSell Задаёт количество ордеров на продажу, при достижении которого активируется режим локирования.
LockNext Расстояние в пунктах для открытия следующего ордера при локировании.
LockBU Уровень безубытка (в пунктах) для открытых локирующих ордеров.
LockTP Уровень тейк-профита (в пунктах) для локирующих ордеров.
LockMultiplicator Множитель, определяющий размер лота для локирующих ордеров.
MinimalLot Минимальный размер лота, при котором ордера могут быть закрыты.
KopilkaProcent Процент прибыли, который откладывается в «копилку» (балансный профит).
TPinProcent Процент прибыли на балансе, при достижении которого все ордера закрываются.
AverageStep Шаг для усреднения убыточной сетки ордеров.
StepMultiplicator Множитель, определяющий увеличение шага при усреднении.
LotMultiplicator Множитель, определяющий увеличение лота при усреднении.
SelfDestruct При активации локирующие ордера автоматически ликвидируются.
LockMagic Магический идентификатор для ордеров локирования; резервируется также Magic+1.
Получить полный код

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

#property version   "1.12"
#property strict

const int ADMIN_ID=1;
const int PRODUCT_ID=3;//Unlocker MT4 8-mt5 3-mt4
const string VERSION="1.12";

#include <sovetnikovNET\Orders.mqh>
#include <sovetnikovNET\Time.mqh>
#include <sovetnikovNET\Unlocker.mqh>
#include <sovetnikovNET\News.mqh>
#include <sovetnikovNET\Protect.mqh>

I CountBuy=3; //Count orders buy for activate / Кол-во бай ордеров для активации
I CountSell=3; //Count orders sell for activate / Кол-во селл ордеров для активации
D LockNext=10.0; //Next lock distance / Дистанция для открытия следующего ордера
D LockBU=0.0; //Lock BU / Безубыток для лок
D LockTP=30.0; //Lock TP / Тейк профит для лок
D LockMultiplicator=0.5; //Lock lot multiplicator / Множитель лота для лок
D MinimalLot=0.02; //Minimal lot for close / Минимальный объем для закрытия
D KopilkaProcent=90; //Profit % for moneybox / Процент профита в копилку
D TPinProcent=0.1; //All profit % at balance / Закрытие в профит всех ордеров
D AverageStep=0.0; //Average next order / Усреднение убыточной сетки
D StepMultiplicator=1.3; //Average step multiplicator / Множитель шага при усреднении
D LotMultiplicator=1.1; //Average lot multiplicator / Множитель лота при усреднении
B SelfDestruct=true; //Self-Destruct lock / Самоликвидация лока

I LockMagic=100; //Lock magic and rezerved: Magic+1 / Идентификатор ордеров лок

#ifdef LICENSE_OFF
HIDE_LICENSE_PARAMS;
#else
SHOW_LICENSE_PARAMS;
#endif

int slippage=0;

CGlobal m_global;
protect_config config;
CProtect protect;

class CMain: public CMainDefault
  {
protected:
   CLock             m_main;
   string            sExpertName;
   bool              bLockBuy,bLockSell;
   bool              bcheck;
public:

   virtual int       OnInit()
     {
      // код доступен только после оплаты
   }

   virtual void      OnDeinit(const int reason)
     {
      m_main.OnDeinit();
     }

   virtual void      OnTick()
     {
      // код доступен только после оплаты
   }

      bcheck=protect.GetStatus();

      if(!m_main.IsWork(_Symbol))
         return; //отключена торговля

      if(!bcheck)
         return;

      m_main.OnTick();

      double dlots[];
      m_main.get_lots(dlots);

      double dKopilkaBuy=m_global.LoadParam("KopilkaBUY_Profit",0);
      double dKopilkaSell=m_global.LoadParam("KopilkaSELL_Profit",0);

      double dDD=ND2(m_main.getProfit(ALL)*100/AccountBalance());
      string sInfo=StringFormat("Equity: %.2f\nBalance: %.2f\nProfit(Buy/Sell): %.2f/%.2f\nDD: %.2f%%\nLot(Buy/Sell): %.2f/%.2f",AccountEquity(),AccountBalance(),dKopilkaBuy,dKopilkaSell,dDD,dlots[0],dlots[1]);
      Comment(sInfo);

      bLockSell=m_main.Count(OP_BUY,LockMagic)+m_main.Count(OP_SELL,LockMagic+1)>0;
      bLockBuy=m_main.Count(OP_SELL,LockMagic)+m_main.Count(OP_BUY,LockMagic+1)>0;

       if(m_main.Count(OP_SELL,-1)<CountSell && !bLockSell && !bLockBuy && m_main.IsTester)
         {
          bLockSell=false;

          ulong t=m_main.getLastOrderTicket(OP_SELL,ORDER_UP);

          if(t<=0)
            {
             ulong tt=m_main.OrderSend(OP_SELL,0.1,-1,0,LockTP,"Test-1");
             if(tt>0)
                t=tt;
            }

          if(m_main.OrderSelect(t))
            {

             double dlot=m_main.OrderLots();
             double dpt=m_main.OrderStep();

             double dnextStep=ND1(MathPow(1.1,m_main.Count(OP_SELL,-1)-1)*20.0);

             if(dpt<=-dnextStep && dnextStep>0)
          

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

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

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

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

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

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

Стоимость полного кода
527,80₽ ≈ $6.45