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

MR.dollar EA

mr.dollar_order management ea v5.2.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

MR.dollar EA — торговый советник для MetaTrader 4, предназначенный для управления ордерами на торговом счёте. Основная особенность — использование горизонтальных линий на графике для открытия позиций при достижении цены заданного уровня. Советник поддерживает как ручное, так и автоматическое управление ордерами.

Продукт предоставляет широкий набор инструментов управления ордерами: установка стоп-лосса и тейк-профита, использование индикатора ATR для расчёта уровней, трейлинг-стоп, перевод в безубыток, а также закрытие ордеров по времени и по результату. Доступны настройки для работы как с обычными, так и с хеджинговыми ордерами.

Встроенная система управления денежными средствами позволяет автоматически рассчитывать размер лота на основе свободного маржинального баланса и заданного риска. Советник также может массово закрывать все ордера при достижении заданной прибыли или убытка в процентах или в долларах.

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

НастройкаОписание
S Заголовок раздела линий — Текстовый параметр для настройки заголовка раздела открытия ордеров по горизонтальным линиям.
Ss Подсказка именования линий — Текстовый параметр для подсказки по именованию горизонтальных линий.
NumberOfLines Количество линий — Количество горизонтальных линий для открытия ордеров.
OpenCandle Свеча для открытия — Номер свечи для проверки условия открытия ордера по горизонтальной линии (0 — текущая свеча).
DeleteLinesTime Время удаления линий — Время удаления горизонтальных линий (в формате ЧЧ:ММ).
Ss1 Подсказка линий закрытия — Текстовый параметр для подсказки по именованию линий закрытия ордеров.
CloseCandle Свеча для закрытия — Номер свечи для проверки условия закрытия ордера по горизонтальной линии.
Gap Зазор линии — Допустимый зазор в пунктах для срабатывания линии открытия ордера.
t Разделитель — Текстовый параметр для разделителя в интерфейсе настроек.
S1 Подсказка типа ордера — Текстовый параметр для подсказки по выбору типа ордера.
OpenOrders Открыть ордера — Переключатель автоматического открытия ордеров: при активации советник открывает ордера на покупку или продажу.
Order_Type Тип ордера — Тип ордера: 0 — покупка, 1 — продажа.
MaxTrades Максимальное количество ордеров — Максимальное количество одновременно открытых ордеров.
S2 Подсказка одновременного открытия — Текстовый параметр для подсказки по открытию покупательских и продавцовских ордеров одновременно.
OpenHedgingOrders Открыть хеджинговые ордера — Переключатель открытия хеджинговых ордеров: при активации советник открысовывает противоположные позиции.
MagicNumber Магический номер — Магический номер для идентификации ордеров, управляемых советником.
MM_Parameters Параметры управления средствами — Параметры управления денежными средствами.
Lots Размер лота — Фиксированный размер лота для открытия ордеров.
Risk Процент риска — Процент риска для расчёта размера лота в автоматическом управлении денежными средствами.
S4 Заголовок управления ордерами — Текстовый параметр для заголовка раздела классического управления ордерами.
ModifyAllOrders Модифицировать все ордера — Переключатель модификации всех ордеров: при активации советник изменяет стоп-лоссы и тейк-профиты по всем ордерам.
HideSL Скрыть стоп-лосс — Переключатель скрытия стоп-лосса: при активации ордера со стоп-лоссом закрываются скрытые уровни.
StopLoss Стоп-лосс — Стоп-лосс в пунктах для открытых ордеров.
HideTP Скрыть тейк-профит — Переключатель скрытия тейк-профита: при активации ордера с тейк-профитом закрываются скрытые уровни.
TakeProfit Тейк-профит — Тейк-профит в пунктах для открытых ордеров.
S5 Заголовок ATR-управления — Текстовый параметр для заголовка раздела управления ордерами через ATR.
UseATRTS ATR для трейлинг-стопа — Переключатель использования ATR для трейлинг-стопа.
ATR_TSPercent Процент ATR для трейлинг-стопа — Процент ATR для расчёта уровня трейлинг-стопа при использовании индикатора ATR.
UseATRTP ATR для тейк-профита — Переключатель использования ATR для расчёта уровня тейк-профита.
ATR_TPPercent Процент ATR для тейк-профита — Процент ATR для расчёта уровня тейк-профита при использовании индикатора ATR.
UseATRSL ATR для стоп-лосса — Переключатель использования ATR для расчёта уровня стоп-лосса.
ATR_SLPercent Процент ATR для стоп-лосса — Процент ATR для расчёта уровня стоп-лосса при использовании индикатора ATR.
S10 Заголовок трейлинг-стопа — Текстовый параметр для заголовка раздела классического трейлинг-стопа.
TrailingProfit Прибыль для трейлинг-стопа — Уровень прибыли в пунктах для активации трейлинг-стопа.
TrailingStop Расстояние трейлинг-стопа — Расстояние трейлинг-стопа в пунктах.
TrailingStep Шаг трейлинг-стопа — Шаг трейлинг-стопа в пунктах.
S6 Заголовок безубытка — Текстовый параметр для заголовка раздела безубытка.
BreakEven Безубыток (уровень) — Уровень безубытка в пунктах для перевода стоп-лосса в безубыток.
movestopto Расстояние безубытка 1 — Расстояние в пунктах для первого безубытка после достижения уровня BreakEven.
BreakEven2 Безубыток 2 (уровень) — Второй уровень безубытка в пунктах для дополнительного перевода стоп-лосса в безубыток.
movestopto2 Расстояние безубытка 2 — Расстояние в пунктах для второго безубытка после достижения уровня BreakEven2.
S9 Заголовок управления временем — Текстовый параметр для заголовка раздела управления временем ордеров.
UseOrderTimeManagement Управление временем ордеров — Переключатель управления временем ордеров: при активации ордера закрываются по заданному времени.
S7 Подсказка закрытия по времени — Текстовый параметр для подсказки по закрытию ордера через X часов после открытия.
XHours Часы до закрытия — Количество часов после открытия ордера, по истечении которых он будет закрыт.
S8 Подсказка закрытия по часу — Текстовый параметр для подсказки по закрытию ордера в выбранный час.
HourToCloseOrder Час закрытия ордера — Час, в который ордера будут закрыты при включённом управлении по времени.
S11 Заголовок закрытия ордеров — Текстовый параметр для заголовка раздела настроек закрытия ордеров.
CloseAfterProfitPercent Закрытие по прибыли в процентах — Переключатель для автоматического закрытия всех ордеров при достижении заданного уровня прибыли в процентах от баланса.
ProfitPercent Процент прибыли — Процент прибыли от баланса, при достижении которого происходит массовое закрытие ордеров.
CloseAfterLossPercent Закрытие по убытку в процентах — Переключатель для автоматического закрытия всех ордеров при достижении заданного уровня убытка в процентах от баланса.
LossPercent Процент убытка — Процент убытка от баланса, при достижении которого происходит массовое закрытие ордеров.
CloseAfterProfitUSD Закрытие по прибыли в долларах — Переключатель для автоматического закрытия всех ордеров при достижении заданной прибыли в долларах.
ProfitUSD Прибыль в долларах — Сумма прибыли в долларах, при достижении которой происходит массовое закрытие ордеров.
Получить полный код

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

extern string S="  Open Orders By Adding Horizontal Lines  ";
 extern string Ss=" Lines Must Named As b+i or s+i / i=Number Of Line";
 extern int NumberOfLines=10;
 extern int OpenCandle=0;
 extern string DeleteLinesTime="25:00";
 extern string Ss1=" Close Lines Must named As cbl+i/cbu+i or csl+i/csu+i ";

 extern int CloseCandle=0;
 extern int Gap=2;
 extern string t="-------------------------------";  
 extern string S1="Set Order_Type=0 for buy |or| Order_Type=1 for sell ";

 extern bool OpenOrders=false;
 extern int Order_Type=0;
 extern int  MaxTrades = 1;
 extern string S2="Open Buy and Sell Orders At Same Time";
 extern bool OpenHedgingOrders=false;  
 extern int MagicNumber=5000;     
 extern string  MM_Parameters = " Money Management";
 extern double  Lots = 1;                                           
 extern bool  MM = false,                  
              AccountIsMicro = false;
 extern int  Risk = 10;                      

extern string S4="  Classic Order Management";
extern bool ModifyAllOrders=false;
extern bool HideSL=false;
extern int StopLoss=0;
extern bool HideTP=false;
extern int TakeProfit=0;

extern string S5="  ATR Order Management ";
extern bool UseATRTS=false;
extern double ATR_TSPercent = 0 ;
extern bool UseATRTP=false;
extern double ATR_TPPercent = 0 ;
extern bool UseATRSL=false;
extern double ATR_SLPercent = 0 ;
extern string S10=" Classic Trailing Stop";
extern int TrailingProfit=0;
extern int TrailingStop=0;
extern int TrailingStep=0;

extern string S6="  Orders BreakEven ";
extern int BreakEven=0;
extern int movestopto=1;
extern int BreakEven2=0;
extern int movestopto2=0;

extern string S9="---------- Order Time Management";
extern bool UseOrderTimeManagement=false;
extern string S7="Close Order when X Hour Passed After Order Open Time )";
extern int XHours=0; 
extern string S8="Close Order At Choosen Houre)";
extern int HourToCloseOrder=100; 

extern string S11="--------- Close Orders Settings";
extern bool CloseAfterProfitPercent=false;
extern int ProfitPercent=5;
extern bool CloseAfterLossPercent=false;
extern int LossPercent=5;
extern bool CloseAfterProfitUSD=false;
extern int ProfitUSD=200; 

 double point;
 int digits,i,D;

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

 void deinit() {
    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 start()
   {
      // код доступен только после оплаты
   }
   double SL,TP; 
     datetime Start= StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + DeleteLinesTime);
     if(TimeCurrent()==Start){
      for(i=0;i<=NumberOfLines;i++){
       ObjectDelete("b"+i); ObjectDelete("s"+i);

        }
       }
       int j,mag,tick,typ;

  for(i=0;i<=NumberOfLines;i++){
if(ObjectFind("b"+i)!=-1){
double b=ObjectGet("b"+i,OBJPROP_PRICE1);

if((Close[0]<=b+Gap*point&&Close[0]>=b-Gap*point&&OpenCandle<1)||((Close[OpenCandle]>b||Open[OpenCandle]<b)&&OpenCandle>0)){
 if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
   if((UseATRSL)&&StopLoss<10)StopLoss=10;
   if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
   if((UseATRTP)&&TakeProfit<10)TakeProfit=10;
   if(StopLoss==0||HideSL==true){SL=0;}else{SL=Ask-StopLoss*point;}
   if(TakeProfit==0||HideTP==true){TP=0;}else{TP=Ask+TakeProfit*point;}

  OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,digits),3*D,SL,TP,"MR.dollar EA",MagicNumber+i,0,Blue);
  ObjectDelete("b"+i);
  }
 }

if(ObjectFind("cbu"+i)!=-1){

double l2=ObjectGet("cbu"+i,OBJPROP_PRICE1);
 for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
 mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
 }
}

if((Close[CloseCandle]>l2)&&mag==MagicNumber+i&&typ==OP_BUY){

OrderClose(tick,OrderLots(),NormalizeDouble(Bid,digits),3*D);ObjectDelete("cbu"+i);
  }
 }
 if(ObjectFind("cbl"+i)!=-1){
 l2=ObjectGet("cbl"+i,OBJPROP_PRICE1);
for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
 mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
 }
}
if((Close[CloseCandle]<l2)&&mag==MagicNumber+i&&typ==OP_BUY){

OrderClose(tick,OrderLots(),NormalizeDouble(Bid,digits),3*D);ObjectDelete("cbl"+i);
     } 
   }
 }

for(i=0;i<=NumberOfLines;i++){
if(ObjectFind("s"+i)!=-1){
double s=ObjectGet("s"+i,OBJPROP_PRICE1);
if((Close[0]<=s+Gap*point&&Close[0]>=s-Gap*point&&OpenCandle<1)||((Close[OpenCandle]<s||Open[OpenCandle]>s)&&OpenCandle>0)){
  if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
   if((UseATRSL)&&StopLoss<10)StopLoss=10;
   if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
   if((UseATRTP)&&TakeProfit<10)TakeProfit=10;
   if(StopLoss==0||HideSL==true){SL=0;}else{SL=Bid+StopLoss*point;}
   if(TakeProfit==0||HideTP==true){TP=0;}else{TP=Bid-TakeProfit*point;}
   OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,digits),3*D,SL,TP,"MR.dollar EA",MagicNumber+i,0,Red); 
   ObjectDelete("s"+i);
   }
 }
if(ObjectFind("csl"+i)!=-1){
double l1=NormalizeDouble(ObjectGet("csl"+i,OBJPROP_PRICE1),digits);
for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
 mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
 }
}
if((Close[CloseCandle]<l1)&&mag==MagicNumber+i&&typ==OP_SELL){
OrderClose(tick,OrderLots(),NormalizeDouble(Ask,digits),3*D);ObjectDelete("csl"+i);
  }
 }
  if(ObjectFind("csu"+i)!=-1){
 l1=NormalizeDouble(ObjectGet("csu"+i,OBJPROP_PRICE1),digits);
for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
 mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
 }
}
if((Close[CloseCandle]>l1)&&mag==MagicNumber+i&&typ==OP_SELL){
OrderClose(tick,OrderLots(),NormalizeDouble(Ask,digits),3*D);ObjectDelete("csu"+i);
     }
   }
  }

   Comment("Programmed by MR.dollar"+"\n"+"????? ???????? ??????"+"\n"+"www.arabictrader.com/vb");
  double orderopen_time,TimeT;

   if(((AccountProfit()/AccountBalance())*100>=ProfitPercent&&CloseAfterProfitPercent==true)||
   ((AccountProfit()/AccountBalance())*100<=LossPercent&&CloseAfterLossPercent==true)||(AccountProfit()>=ProfitUSD&&CloseAfterProfitUSD==true)){
   while(OrdersTotal()>0){CloseAllOrders();}
   }   

   if(TrailingStop>0)MoveTrailingStop();
   if(BreakEven>0)MoveBreakEven();
   if(BreakEven2>0)MoveBreakEven2();
   if(UseATRTS)MoveATRTS();

       for(int i=0;i<OrdersTotal();i++){
       if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){
       if(OrderSymbol()==Symbol()){
       orderopen_time=OrderOpenTime();
       }}}
       TimeT=((TimeCurrent()-orderopen_time)/(60*60));

        if(HideSL&&StopLoss>0)
   {
      CloseBuyOrdersHiddenSL();CloseSellOrdersHiddenSL();
   }
   if(HideTP&&TakeProfit>0)
   {
      CloseBuyOrdersHiddenTP();CloseSellOrdersHiddenTP();
   }

    if(MM) Lots = subLotSize();
      if ( UseOrderTimeManagement==true&&(HourToCloseOrder==Hour()||(XHours>=TimeT&&XHours!=0)))
       {CloseAllOrders();}

   for(int cnt=OrdersTotal();cnt>=0;cnt--)
    {

     OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
     double type=OrderType();double stop=OrderStopLoss();double open=OrderOpenPrice();
      tick=OrderTicket();double profit=OrderTakeProfit();
     if(OrderSymbol()==Symbol()||ModifyAllOrders==true){
     if(StopLoss!=0||TakeProfit!=0){
     if(type==OP_BUY&&(HideSL==false||HideTP==false)){
     if(StopLoss!=0&&HideSL==false){SL=open-StopLoss*point;}
     if(TakeProfit!=0&&HideTP==false){TP=open+TakeProfit*point;}
     if(stop!=SL||profit!=TP){
     OrderModify(tick,open,SL,TP,0,Blue);
      }
     }
      if(type==OP_SELL&&(HideSL==false||HideTP==false)){
       if(StopLoss!=0&&HideSL==false){SL=open+StopLoss*point;}
        if(TakeProfit!=0&&HideTP==false){TP=open-TakeProfit*point;}
        if(stop!=SL||profit!=TP){
        OrderModify(tick,open,SL,TP,0,Red);
          }
         }
        }
       }
      }   

   if(OpenHedgingOrders==true&&OrdersTotalMagicBuy()<1){
   {
   if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
   if((UseATRSL)&&StopLoss<10)StopLoss=10;
   if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
   if((UseATRTP)&&TakeProfit<10)TakeProfit=10;

         if(StopLoss==0||HideSL==true){SL=0;}else{SL=Ask-StopLoss*point;}
           if(TakeProfit==0||HideTP==true){TP=0;}else{TP=Ask+TakeProfit*point;}

            OrderSend(Symbol(),OP_BUY,Lots,Ask,3*D,SL,TP,"MR.dollar EA",MagicNumber,0,Blue);
            }
            {
            if(OrdersTotalMagicSell()<1){
         if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
         if((UseATRSL)&&StopLoss<10)StopLoss=10;
         if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
         if((UseATRTP)&&TakeProfit<10)TakeProfit=10;

         if(StopLoss==0||HideSL==true){SL=0;}else{SL=Bid+StopLoss*point;}
           

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

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

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

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

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

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

Стоимость полного кода
1 459,40₽ ≈ $17.84