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

she_baluev_pro.mq4

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

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

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

О программе

Данный продукт представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник предназначен для автоматического управления торговыми позициями и отложенными ордерами, включая открытие, модификацию и закрытие сделок в рамках заданного временного окна.

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

НастройкаОписание
Starttime Время начала — Время начала торговой сессии в формате ЧЧ:ММ, до которого советник не открывает новых позиций.
Endtime Время окончания — Время окончания торговой сессии в формате ЧЧ:ММ, после которого советник прекращает открытие новых позиций.
CloseOrdersAtEndTime Закрытие ордеров в конце времени — Переключатель, определяющий, закрывать ли все открытые ордера по истечении заданного времени окончания сессии.
SecundForModify Интервал модификации — Интервал в секундах между автоматическими корректировками ордеров. При значении 0 корректировка выполняется каждый тик.
NumOfOrders Количество ордеров — Количество отложенных ордеров, размещаемых в каждом торговом направлении.
?????? ? ???????, ????? ??????? ????????????? ?????????? ?????? (Per) Шаг ордеров — Шаг между ордерами, используемый при расчёте уровней цен.
???????? ??????? (Profit) Прибыль — Параметр, влияющий на расчёт уровней тейк-профита для ордеров.
Stop Стоп-лосс — Значение стоп-лосса в пунктах для ордеров.
TrailStop Трейл-стоп — Начальное значение трейл-стопа в пунктах для защиты прибыли на открытых позициях.
TrailStep Шаг трейл-стопа — Шаг смещения трейл-стопа в пунктах при модификации позиций.
BezubLevel Уровень безубыточности — Пороговое значение для активации безубыточного уровня на открытых позициях.
BezubSize Размер безубыточного уровня — Размер безубыточного уровня в пунктах, применяемый при модификации ордеров.
Lots Объём лота — Объём лота для открытия и модификации ордеров.
Symb Символ — Символ торгового инструмента, на котором работает советник. Значение * означает текущий символ графика.
Получить полный код

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

extern string  Starttime="00:00";
extern string  Endtime="00:00";
extern bool    CloseOrdersAtEndTime=false;
extern int     SecundForModify=0;
extern int     NumOfOrders=5;
extern int     Per=50; //?????? ? ???????, ????? ??????? ????????????? ?????????? ??????
extern int     Profit=100; //???????? ???????
extern int     Stop=100;
extern int     TrailStop=100;
extern int     TrailStep=10;
extern int     BezubLevel=30;
extern int     BezubSize=1;
extern double  Lots=0.1;
extern string  Symb="*";

int            i, MAGIC, BS[35], SS[35], bi, si;
double         SL, TP, UR, PNT, ASK, BID, STP, SPR, maxs, mins, maxb, minb, Lot;
string         SMB;
datetime       st,et,lt;

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

int deinit() {   return(0); }

int start()
{
      // код доступен только после оплаты
   }
   if(!IsTradeAllowed())
   {
      Comment("???????? ?? ????? ??????????? ????????? ??? ???????? ????? ?????."); return(0);
   } else Comment("");
   st=StrToTime(Starttime);
   et=StrToTime(Endtime);
   if(st!=et && CurTime()<st) return(0);
   if(st!=et && CurTime()>=et)
   {
      for(i=OrdersTotal()-1;i>=0;i--) // ???????? ?? ???? ???????????? ???????-----------------------------------
      {
         OrderSelect(i, SELECT_BY_POS); // ?????????? ????????? ?????, ???? ? ??? ???????? ???
         if(OrderSymbol()!=SMB || OrderMagicNumber()!=MAGIC) continue; // ???? ?? ??? - ??????? ?????????
         if(OrderType()>OP_SELL) OrderDelete(OrderTicket()); else
         if(OrderType()==OP_SELL && CloseOrdersAtEndTime) OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE); else
         if(OrderType()==OP_BUY && CloseOrdersAtEndTime) OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE);
      }
      return(0);
   }
   Lot=GlobalVariableGet("SHI_Lots");
   if(Lot>0) Lots=Lot;
   bi=0; si=0; // ?????????????? ??????????????? ??????????
   ASK=MarketInfo(SMB,MODE_ASK);
   BID=MarketInfo(SMB,MODE_BID);
   maxs=0; minb=0;
   for(i=0;i<OrdersTotal();i++) // ???????? ?? ???? ???????????? ???????-----------------------------------
   {
      OrderSelect(i, SELECT_BY_POS); // ?????????? ????????? ?????, ???? ? ??? ???????? ???
      if(OrderSymbol()!=SMB || OrderMagicNumber()!=MAGIC) continue; // ???? ?? ??? - ??????? ?????????

      if(OrderType()==OP_BUYSTOP)
      {
         BS[bi]=i; bi++;
         if(minb==0 || minb>OrderOpenPrice()) minb=OrderOpenPrice();
         if(maxb==0 || maxb<OrderOpenPrice()) maxb=OrderOpenPrice();
      }   else // ???? ?? ???????, ?? ? BS ?????????? ??? ?????
      if(OrderType()==OP_SELLSTOP)
      {
         SS[si]=i; si++;
         if(maxs==0 || maxs<OrderOpenPrice()) maxs=OrderOpenPrice();
         if(mins==0 || mins>OrderOpenPrice()) mins=OrderOpenPrice();
      }  else // ???? ?? ????????, ?? ? SS ?????????? ??? ?????
      if(OrderType()==OP_BUY) // ???? ?? ???????? ? ???????, ??...
      {
         if(BezubLevel>0 && BID-OrderOpenPrice()>=BezubLevel && OrderStopLoss()<OrderOpenPrice())
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BezubSize*PNT,OrderTakeProfit(),0,CLR_NONE);
         if(TrailStop>=STP && OrderStopLoss()<=BID-(TrailStop+TrailStep)*PNT && OrderOpenPrice()<=BID-(TrailStop+TrailStep)*PNT)
            OrderModify(OrderT

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

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

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

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

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

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

Стоимость полного кода
539,70₽ ≈ $6.60