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

MR.dollarEA

mr.dollar_pending orders ea v6.1.mq4

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

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговsma crossover scalper ea for mt4.mq4MQL4 / MetaTrader 4 · 1 общих теговr15 pivot points expert advisor by @fundedmillionairess.mq4MQL4 / MetaTrader 4 · 1 общих теговnewstrader.mq5MQL5 / MetaTrader 5 · 1 общих теговmm3.0_flip_codepro_v3.1_with_cooldown@lifeindreamsworld.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой торговый советник для MetaTrader 4, написанный на языке MQL4. Основное назначение — управление отложенными ордерами (BuyStop, BuyLimit, SellStop, SellLimit) и рыночными ордерами на торговом счёте. Советник предоставляет широкие возможности для настройки размещения ордеров по четырём типам, включая объёмы, расстояния от текущей цены, тейк-профит и стоп-лосс.

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

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

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

НастройкаОписание
UseHourTrade Использовать фильтр часов — Разрешает фильтрацию ордеров по торговым часам
FromHourTrade Начальный час торговли — Начальный час торговой сессии
ToHourTrade Конечный час торговли — Конечный час торговой сессии
OpenHedgeFirstTime Открывать хедж-ордера впервые — Разрешает открытие начальных хедж-ордеров (покупка и продажа)
HedgeLots Лот хедж-ордеров — Объём лота для начальных хедж-ордеров
HedgeTP Тейк-профит хедж-ордеров — Тейк-профит для хедж-ордеров
HedgeSL Стоп-лосс хедж-ордеров — Стоп-лосс для хедж-ордеров
AddOrdersAfterClose Добавлять ордера после закрытия — Разрешает повторное открытие ордеров после их закрытия
ReverseClosedOrders Обратное открытие закрытых ордеров — Открывает ордера в обратном направлении от закрытых
CloseIfLastOrderProfit Закрывать при прибыли последнего ордера — Закрывает все ордера, если последний ордер был прибыльным
S1 Метка BuyStop — Текстовая метка группы настроек BuyStop
OpenBuyStopOrders Открывать BuyStop — Разрешает открытие отложенных ордеров BuyStop
NumberOfBuyStopOrders Количество BuyStop — Количество отложенных ордеров BuyStop для открытия
BuyStopFirstLot Начальный лот BuyStop — Начальный объём лота для первого отложенного ордера BuyStop
DistanceFromCurrentPriceBS Расстояние от цены до BuyStop — Расстояние от текущей цены до первого ордера BuyStop
DistanceBetweenBuyS Расстояние между BuyStop — Расстояние между отложенными ордерами BuyStop
Distance_AddBuyS Дополнительное расстояние BuyStop — Дополнительное расстояние между ордерами BuyStop
BuyStopTakeProfit Тейк-профит BuyStop — Тейк-профит для отложенных ордеров BuyStop
BuyStopSL Стоп-лосс BuyStop — Стоп-лосс для отложенных ордеров BuyStop
S2 Метка BuyLimit — Текстовая метка группы настроек BuyLimit
OpenBuyLimitOrders Открывать BuyLimit — Разрешает открытие отложенных ордеров BuyLimit
NumberOfBuyLimitOrders Количество BuyLimit — Количество отложенных ордеров BuyLimit для открытия
BuyLimitFirstLot Начальный лот BuyLimit — Начальный объём лота для первого отложенного ордера BuyLimit
DistanceFromCurrentPriceBL Расстояние от цены до BuyLimit — Расстояние от текущей цены до первого ордера BuyLimit
DistanceBetweenBuyL Расстояние между BuyLimit — Расстояние между отложенными ордерами BuyLimit
Distance_AddBuyL Дополнительное расстояние BuyLimit — Дополнительное расстояние между ордерами BuyLimit
BuyLimitTakeProfit Тейк-профит BuyLimit — Тейк-профит для отложенных ордеров BuyLimit
BuyLimitSL Стоп-лосс BuyLimit — Стоп-лосс для отложенных ордеров BuyLimit
S3 Метка SellStop — Текстовая метка группы настроек SellStop
OpenSellStopOrders Открывать SellStop — Разрешает открытие отложенных ордеров SellStop
NumberOfSellStopOrders Количество SellStop — Количество отложенных ордеров SellStop для открытия
SellStopFirstLot Начальный лот SellStop — Начальный объём лота для первого отложенного ордера SellStop
DistanceFromCurrentPriceSS Расстояние от цены до SellStop — Расстояние от текущей цены до первого ордера SellStop
DistanceBetweenSellS Расстояние между SellStop — Расстояние между отложенными ордерами SellStop
Distance_AddSellS Дополнительное расстояние SellStop — Дополнительное расстояние между ордерами SellStop
SellStopTakeProfit Тейк-профит SellStop — Тейк-профит для отложенных ордеров SellStop
SellStopSL Стоп-лосс SellStop — Стоп-лосс для отложенных ордеров SellStop
S4 Метка SellLimit — Текстовая метка группы настроек SellLimit
OpenSellLimitOrders Открывать SellLimit — Разрешает открытие отложенных ордеров SellLimit
NumberOfSellLimitOrders Количество SellLimit — Количество отложенных ордеров SellLimit для открытия
SellLimitFirstLot Начальный лот SellLimit — Начальный объём лота для первого отложенного ордера SellLimit
DistanceFromCurrentPriceSL Расстояние от цены до SellLimit — Расстояние от текущей цены до первого ордера SellLimit
DistanceBetweenSellL Расстояние между SellLimit — Расстояние между отложенными ордерами SellLimit
Distance_AddSellL Дополнительное расстояние SellLimit — Дополнительное расстояние между ордерами SellLimit
SellLimitTakeProfit Тейк-профит SellLimit — Тейк-профит для отложенных ордеров SellLimit
SellLimitSL Стоп-лосс SellLimit — Стоп-лосс для отложенных ордеров SellLimit
S5 Метка множителя — Текстовая метка группы настроек множителя лотов
UseMultiplier Использовать множитель лотов — Разрешает использование множителя лотов
X_Multiplier Режим множителя — Режим множителя: true — мультипликативный, false — аддитивный
Multiplier Значение множителя — Значение множителя лотов
S6 Метка времени и цены — Текстовая метка группы настроек времени и цены ордеров
HighLowCandle Использовать High/Low свечи — Использует максимум/минимум предыдущей свечи для расчёта цен ордеров
OpenAtChoosenHour Открывать в выбранный час — Разрешает открытие ордеров только в заданный час
Hour_ Час открытия ордеров — Час, в который разрешено открытие ордеров
StartPrice Начальная цена — Опорная цена для размещения отложенных ордеров
Gap Допуск цены от StartPrice — Допустимое отклонение цены от StartPrice для открытия ордеров
OnlyOnce Открыть только один раз — Разрешает открытие ордеров только один раз
S7 Метка закрытия ордеров — Текстовая метка группы настроек закрытия и удаления ордеров
FridayOpenOrdersFilter Фильтр открытия ордеров по пятницам — Фильтрует открытие ордеров по пятницам
FridayDeleteOrders Удалять ордера по пятницам — Удаляет отложенные ордера по пятницам в заданный час
FridayCloseOrders Закрывать ордера по пятницам — Закрывает рыночные ордера по пятницам в заданный час
_Hour Час фильтрации по пятницам — Час для фильтрации и закрытия ордеров по пятницам
CloseAfterPassMinutes Закрывать по истечении времени — Разрешает автоматическое закрытие ордеров по истечении заданного времени
MinutesPass Минуты ожидания для закрытия — Количество минут ожидания перед автоматическим закрытием ордеров
CloseOrdersAfterProfit Закрывать при прибыли — Разрешает закрытие ордеров при достижении заданного уровня прибыли
DeleteOrdersAfterProfit Удалять при прибыли — Удаляет отложенные ордера при достижении заданного уровня прибыли
Profit Порог прибыли для закрытия — Значение прибыли для автоматического закрытия ордеров
CloseOrdersAfterLoss Закрывать при убытке — Разрешает закрытие ордеров при достижении заданного уровня убытка
Loss Порог убытка для закрытия — Значение убытка для автоматического закрытия ордеров
S8 Метка управления ордерами — Текстовая метка группы настроек управления ордерами
TrailingStop Расстояние Trailing Stop — Расстояние скользящего стопа в пунктах
TrailingProfit Прибыль для Trailing Stop — Прибыль для активации скользящего стопа
TrailingStep Шаг Trailing Stop — Шаг скользящего стопа
S9 Метка фильтра времени — Текстовая метка группы настроек фильтра времени
FridayCloseEA Закрывать советник по пятницам — Закрывает работу советника в заданный час по пятницам
Friday_CloseHour Час закрытия по пятницам — Час закрытия ордеров или советника по пятницам
MagicNumber Магическое число — Магическое число для идентификации ордеров советника
Получить полный код

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

input bool  UseHourTrade = false;        
 input int  FromHourTrade = 7;            
 input int  ToHourTrade = 17; 
 input bool OpenHedgeFirstTime=false;
 input double HedgeLots=0.1;
 input int HedgeTP=0;
 input int HedgeSL=0;
 input bool AddOrdersAfterClose=true;
 input bool ReverseClosedOrders=false;
 input bool CloseIfLastOrderProfit=false;
 input string S1="BuyStop Orders Settings ";
 input bool OpenBuyStopOrders=true;
 input int NumberOfBuyStopOrders=50;
 input double BuyStopFirstLot=0.1;
  input int DistanceFromCurrentPriceBS=0;
 input int DistanceBetweenBuyS=20;
 input int Distance_AddBuyS=0;
 input int BuyStopTakeProfit=0;
 input int BuyStopSL=0;
 input string S2="BuyLimit Orders Settings";
 input bool OpenBuyLimitOrders=true;
 extern int NumberOfBuyLimitOrders=50;
 input double BuyLimitFirstLot=0.1;
  input int DistanceFromCurrentPriceBL=0;
input int DistanceBetweenBuyL=20;
 input int Distance_AddBuyL=0;
 input int BuyLimitTakeProfit=0;
 input int BuyLimitSL=0;
 input string S3="SellStop Orders Settings";
 input bool OpenSellStopOrders=true;
 input int NumberOfSellStopOrders=50;
 input double SellStopFirstLot=0.1;
  input int DistanceFromCurrentPriceSS=0;
 input int DistanceBetweenSellS=20;
  input int Distance_AddSellS=0;
 input int SellStopTakeProfit=0;
 input int SellStopSL=0;
 input string S4="SellLimit Orders Settings";
 input bool OpenSellLimitOrders=true;
 input int NumberOfSellLimitOrders=50;
 input double SellLimitFirstLot=0.1;
  input int DistanceFromCurrentPriceSL=0;
 input int DistanceBetweenSellL=20;
  input int Distance_AddSellL=0;
 input int SellLimitTakeProfit=0;
 input int SellLimitSL=0;
input string S5=" Lots Multiplier ";
 input bool UseMultiplier=true;
 input bool X_Multiplier=true;
 input double Multiplier=2;

 input string S6=" Order Open Time/Price Settings ";
  input bool HighLowCandle=false;
 input bool OpenAtChoosenHour=false;
 input int Hour_=12;
 input double StartPrice=0;
 input int Gap=3;

 input bool OnlyOnce=false;
 input string S7=" Close and Delete Orders ";
 input bool FridayOpenOrdersFilter=true;
 input bool FridayDeleteOrders=false;
 input bool FridayCloseOrders=false;
 input int _Hour=20;
 input bool CloseAfterPassMinutes=false;
 input int MinutesPass=100;
 input bool CloseOrdersAfterProfit=true;
 input bool DeleteOrdersAfterProfit=true;
 input int Profit=200;
  input bool CloseOrdersAfterLoss=false;
 input double Loss=-200;
input string S8=" Order Management";

input int TrailingStop=0;
input int TrailingProfit=0;
input int TrailingStep=0;

input string S9="Time Filter";
input bool FridayCloseEA=false;
input int Friday_CloseHour=20;

 bool enter;
 double point;double Price;
 int digits;int i,Q,Qq;
 extern int MagicNumber=2533;

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

 void OnDeinit(const int reason) 
 {
    Comment("");
 }

 int orderscnt()
 {
 int cnt=0;
   for(int i =0;i<OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber){
         cnt++;
       }
     }
   }
    return(cnt);
  }
int ordersPen()
{
 int cnt=0;
   for(int i =0;i<OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber&&OrderType()>OP_SELL){
         cnt++;
       }
     }
   }
    return(cnt);
  }
 int orders(){
 int cnt=0;
   for(int i =0;i<OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber&&OrderType()<=OP_SELL){
         cnt++;
       }
     }
   }
    return(cnt);
  }

 void OnTick()
   {
      // код доступен только после оплаты
   }
    Comment("Programmed by MR.dollar"+"\n"+"Arabic Traders Forum"+"\n"+"www.arabictrader.com/vb"+"\n"+
    "Number Of Pending Orders = "+ordersPen()+"\n"+"Number Of Market Orders = "+orders()+"\n"+
    "Account Free Margin = "+DoubleToStr(AccountFreeMargin(),2)+"\n"+"Profit Value = "+DoubleToStr(AccountProfit(),2));

       bool ss=true;
        if(Qq+Q==orderscnt()&&!((FromHourTrade < ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade && TimeHour(TimeCurrent()) < ToHourTrade) || (FromHourTrade > ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade ||
               TimeHour(TimeCurrent()) < ToHourTrade))&&UseHourTrade){
       DeletePendingOrders();
       }
       if (UseHourTrade){
        if(!((FromHourTrade < ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade && TimeHour(TimeCurrent()) < ToHourTrade) || (FromHourTrade > ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade ||
               TimeHour(TimeCurrent()) < ToHourTrade))){
           Comment("Non-Trading Hours!");
           ss=false;
         }
       }

        if(TrailingStop>0)MoveTrailingStop();
        if(FridayCloseEA&&Hour()>=Friday_CloseHour&&DayOfWeek()==5)
           return;

        if(AddOrdersAfterClose&&orderscnt()>0){
         OpenClosedOrders();
        }
        int totalNumber=0;

        if(ss==true&&orderscnt()<1&&(OnlyOnce==false||enter==true)&&(FridayOpenOrdersFilter==false||DayOfWeek()!=5||Hour()<_Hour)&&(Hour()==Hour_||OpenAtChoosenHour==false)){
       double lastlot;double newlot;double TP,SL;
       lastlot=0;
        if(OpenHedgeFirstTime)
         {
          if(HedgeSL==0){SL=0;}else{SL=Ask-HedgeSL*point;}
          if(HedgeTP==0){TP=0;}else{TP=Ask+HedgeTP*point;}
          OrderSend(Symbol(),OP_BUY,HedgeLots,NormalizeDouble(Ask,Digits),3*Q,NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits),"MR.dollar EA",MagicNumber,0,Blue);
          if(HedgeSL==0){SL=0;}else{SL=Bid+HedgeSL*point;}
          if(HedgeTP==0){TP=0;}else{TP=Bid-HedgeTP*point;}
          OrderSend(Symbol(),OP_SELL,HedgeLots,NormalizeDouble(Bid,Digits),3*Q,NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits),"MR.dollar EA",MagicNumber,0,Red); 
         }
       if(OpenSellLimitOrders){
        for(i=1;i<=NumberOfSellLimitOrders;i++)
        {
         if(UseMultiplier){
          if(X_Multiplier){
           newlot=Multiplier*lastlot;
          }
          else{newlot=lastlot+SellLimitFirstLot;}
          }
         else{newlot=SellLimitFirstLot;}
        if(newlot==0){newlot=SellLimitFirstLot;}
         lastlot=newlot;

         if(StartPrice==0){Price=Bid+(DistanceFromCurrentPriceSL*point)+(i*DistanceBetweenSellL*point+i*Distance_AddSellL*point);}
         else{Price=StartPrice+(DistanceFromCurrentPriceSL*point)+(i*DistanceBetweenSellL*point);}
         if(HighLowCandle){Price=High[1]+(DistanceFromCurrentPriceSL*point)+(i*DistanceBetweenSellL*point);}
         if(SellLimitTakeProfit==0){TP=0;}else{TP=Price-SellLimitTakeProfit*point;}
         if(SellLimitSL==0){SL=0;}else{SL=Price+SellLimitSL*point;}

         if((StartPrice==0&&HighLowCandle==false)||(HighLowCandle==true&&Hour()==Hour_+1)||(Close[0]>=StartPrice-Gap*point&&Close[0]<=StartPrice+Gap*point)){  
            OrderSend(Symbol(),OP_SELLLIMIT,newlot,Price,3,SL,TP,"MR.dollarEA"+totalNumber+"_",MagicNumber,0,Red);
             totalNumber++;
          }
         }
        }

       lastlot=0;
       if(OpenBuyLimitOrders){
        for(i=1;i<=NumberOfBuyLimitOrders;i++)
        {
         if(UseMultiplier){
        if(X_Multiplier){
         newlot=Multiplier*lastlot;
        }
        else{newlot=lastlot+BuyLimitFirstLot;}
       }
       else{newlot=BuyLimitFirstLot;}
         if(newlot==0){newlot=BuyLimitFirstLot;}
         lastlot=newlot;

         if(StartPrice==0){Price=Ask-(DistanceFromCurrentPriceBL*point)-(i*DistanceBetweenBuyL*point+i*Distance_AddBuyL*point);} 
         else{Price=StartPrice-(DistanceFromCurrentPriceBL*point)-(i*DistanceBetweenBuyL*poin

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

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

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

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

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

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

Стоимость полного кода
1 349,90₽ ≈ $16.50