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

Robot Forex 2051 Bay Long

robot forex 2051mac (rus).mq4

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

! macd+.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!macd_adx.mq4MQL4 / MetaTrader 4 · 1 общих теговxauusd_gold_perfect.mq4MQL4 / MetaTrader 4 · 1 общих теговtm sniper pro.pineTradingView · 1 общих теговsource code of grid with 100 pips stop loss.mq4MQL4 / MetaTrader 4 · 1 общих теговsniper pro.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Робот Forex 2051 Bay Long — торговый советник для платформы MetaTrader 4, предназначенный для автоматического анализа ценовых данных и технических индикаторов с целью генерации торговых сигналов и управления позициями. Советник использует комбинацию индикаторов MACD и скользящей средней для определения направления тренда и потенциальных точек входа и выхода из сделок. Поддерживаются операции как на покупку, так и на продажу.

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

НастройкаОписание
MACDOpenLevel Уровень MACD для открытия — Числовой параметр, участвующий в формировании сигнала на открытие сделки на основе индикатора MACD
MACDCloseLevel Уровень MACD для закрытия — Числовой параметр, участвующий в формировании сигнала на закрытие сделки на основе индикатора MACD
MATrendPeriod Период трендовой скользящей — Числовой параметр, определяющий период расчёта скользящей средней для оценки направления тренда
Получить полный код

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

#property show_inputs

#include <stderror.mqh>
#include <stdlib.mqh>

extern string ?????????_?????????    =  "????????? ?????????";   // Init Parameters
extern int    ?????                  = 12345; // g_magic_208     Magic             (????????????????? ????? ????????????? ??????? ????? ?????? - ??? ?? ?? ??????? ?? ???????? ?????? ???????)
extern int    ???_????_0_1_2         =     2; // gd_112          Lotdecimal        (0=?????????? ???? 1.0;  1=???????? 0.1;  2=????????? 0.01)
extern double ???????????????        =   5.0; // g_slippage_96   Slippage          (???????? ?????????? ?????? ??? ??????)

extern string ?????????_????         =  "????????? ????";        // Parameters Lot
extern double ???                    =  0.01; // Lots            Lots              (?????? ???? ??? ??????? ??????)
extern bool   ?????????_????         =  TRUE; // gi_84           UseAdd            (???????? ????????? ????)
extern double ?????????_????_????    =  1.08; // gd_88           LotExponent       (???????????, ?? ??????? ?????????? ????????? ???)
extern int    ???_????????_0_1_2     =     1; // gi_76           MMType            (??????? ?????? ????????: 0=????????; 1=??????; 2=????????-?? ???????????? ? ?????? ??????)

extern string ?????????_?????        =  "????????? ?????";       // Input Parameters
extern int    ????????_??????        =   100; // MaxTrades       MaxTrades         (?????????? ?????????? ?????????? ??????????? ??????)
extern double ???_??????_??????      =  10.0; // g_pips_152      PipStep           (???? ?????????? ????? ???? ? ????? ?? 10 ???????, ?? ???????? ????????? ????????? ????? ???????? ??????)

extern string ?????????_??????       =  "????????? ??????";      // Output Parameters
extern double ????_????              =   0.0; // g_pips_128      Stoploss          (???????? ?????? ?? ?????? ?????? ? ???????)
extern double ????_??????            =  10.0; // g_pips_120      TakeProfit        (???????? ?????? ?? ?????? ??????? ? ???????)
extern bool   ????????_????          = FALSE; // gi_176  TRUE    UseTrailingStop   (????????? ????????? ????????? ???????)
extern double C????_?????????        =  10.0; // gd_136          StartTrailingPips (????? ????????? ? ???????)
extern double ???_?????????          =  10.0; // gd_144          StepTrailingPips  (??? ????????? ? ???????)

extern string ???????_?????          =  "??????? ?????";         // Input Filters
extern bool   ?????????_??????       = FALSE; // gi_192          TimeFilter        (??? ????????????? ??????? ??????????? ??????? ??????? - ???? ?????? ???????????? ???? ??? ???? ??? ? ??????? ????????????? ???????,- ??????: ??? ???????? ??????? ??????? ????? ?????????????, ????? ????? ??? ??? ?????? ?????????? ???? ??????????? ?????? ?????????????)
extern bool   ????????_??_?????      = FALSE; // UseHourTrade    UseHourTrade      (????????? ???????? ?? ?????)
extern int    ??????_????????        =     0; // StartHour       StartHour         (?????? ???????? ?????? ?? ?????)
extern int    ??????_????????        =     8; // EndHour         EndHour           (?????????? ???????? ?????? ?? ?????)

extern string ???????_??????         =  "??????? ??????";        // Output Filters
extern bool   ?????????_??_????????  = FALSE; // gi_80           UseClose          (????????? ???????? ?????? ?? ???????? ????-??? ? ??????)
extern bool   ????_??_??????         = FALSE; // gi_164          UseEquityStop     (????????? ???????? ?? ????????? ??????? ?? ??????)
extern double ????_??_??????_??????? =  20.0; // gd_168          TotalEquityRisk   (???????? ?? ?????? ? %, ??? ???????? ???? ??????)
extern bool   ????_??_????????       = FALSE; // gi_180          UseTimeOut        (???????????? ???????: ????????? ?????? ???? ??? "?????" ??????? ?????)
extern double ????_??_????????_????  =   0.0; // gd_184          MaxTradeOpenHours (????? ???????? ? ?????: ????? ??????? ????????? ???????? ??????)

extern double MACDOpenLevel=3;
extern double MACDCloseLevel=3;
extern double MATrendPeriod=13;

double g_price_212;
double gd_220;
double gd_unused_228;
double gd_unused_236;
double g_price_244;
double g_bid_252;
double g_ask_260;
double gd_268;
double gd_276;
double gd_284;
bool   gi_292;
string gs_296         = "Robot Forex 2051 Bay ";
int    g_time_304     =     0;
int    gi_308;
int    gi_312         =     0;
double gd_316;
int    g_pos_324      =     0;
int    gi_328;
double gd_332         =   0.0;
bool   gi_340         = FALSE;
bool   gi_344         = FALSE;
bool   gi_348         = FALSE;
int    gi_352;
bool   gi_356         = FALSE;
int    g_datetime_360 =     0;
int    g_datetime_364 =     0;
double gd_368;
double gd_376;

int    gi_222 = 1;
double gi_1000;

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

int deinit() {
   return (0);
}

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

 double ma;
double MacdCurrent, MacdPrevious, SignalCurrent;
   double SignalPrevious, MaCurrent, MaPrevious;

 ObjectCreate ("klc14", OBJ_LABEL, 0, 0, 0);

   MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
   MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
   SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
   MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
   MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);

   double l_ord_lots_0;
   double l_ord_lots_8;
   double l_iclose_16;
   double l_iclose_24;
   if (????????_??_?????) {
      if (!(Hour() >= ??????_???????? && Hour() <= ??????_????????)) {
         CloseThisSymbolAll();
         Comment("????? ??? ???????? ??? ?? ??????!");
         return (0);
      }
   }
   string ls_36 = "false"; // ls_32
   string ls_44 = "false"; // ls_40
   if (?????????_?????? == FALSE || (?????????_?????? && (??????_???????? > ??????_???????? && (Hour() >= ??????_???????? && Hour() <= ??????_????????)) || (??????_???????? > ??????_???????? && !(Hour() >= ??????_???????? && Hour() <= ??????_????????)))) ls_36 = "true";
   if (?????????_?????? && (??????_???????? > ??????_???????? && !(Hour() >= ??????_???????? && Hour() <= ??????_????????)) || (??????_???????? > ??????_???????? && (Hour() >= ??????_???????? && Hour() <= ??????_????????))) ls_44 = "true";
   if (????????_????) TrailingAlls(C????_????????? * gi_222, ???_????????? * gi_222, g_price_244); // !
   if (????_??_????????) {
      if (TimeCurrent() >= gi_308) {
         CloseThisSymbolAll();
         Print("B?? ?????? ????? ??????? ??-?? ????-????");
      }
   }
   if (g_time_304 == Time[0]) return (0);
   g_time_304 = Time[0];
   double ld_52 = CalculateProfit(); // ld_48
   if (????_??_??????) {
      if (ld_52 < 0.0 && MathAbs(ld_52) > ????_??_??????_??????? / 100.0 * AccountEquityHigh()) {
         CloseThisSymbolAll();
         Print("B?? ?????? ????? ??????? ??-?? ?????????? ??????");
         gi_356 = FALSE;
      }
   }
   gi_328 = CountTrades();
   if (gi_328 == 0) gi_292 = FALSE;
   for (g_pos_324 = OrdersTotal() - 1; g_pos_324 >= 0; g_pos_324--) {
      OrderSelect(g_pos_324, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != ?????) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == ?????) {
         if (OrderType() == OP_BUY) {
            gi_344 = TRUE;
            gi_348 = FALSE;
            l_ord_lots_0 = OrderLots();
            break;
         }
      }
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == ?????) {
         if (OrderType() == OP_SELL) {
            gi_344 = FALSE;
            gi_348 = TRUE;
            l_ord_lots_8 = OrderLots();
            break;
         }
      }
   }
   if (gi_328 > 0 && gi_328 <= ????????_??????) {
      RefreshRates();
      gd_268 = FindLastBuyPrice();
      gd_276 = FindLastSellPrice();
      if (gi_344 && gd_268 - Ask >= ???_??????_?????? * gi_222 * Point) gi_340 = TRUE;
      if (gi_348 && Bid - gd_276 >= ???_??????_?????? * gi_222 * Point) gi_340 = TRUE;
   }
   if (gi_328 < 1) {
      gi_348 = FALSE;
      gi_344 = FALSE;
      gi_340 = TRUE;
      gd_220 = AccountEquity();
   }
   if (gi_340) {
      gd_268 = FindLastBuyPrice();
      gd_276 = FindLastSellPrice();
      if (gi_348) {
         if (?????????_??_???????? || ls_44 == "true"

         ) {
            fOrderCloseMarket(0, 1);
            gd_316 = NormalizeDouble(?????????_????_???? * l_ord_lots_8, ???_????_0_1_2);
         } else gd_316 = fGetLots(OP_SELL);
         if (?????????_???? && ls_36 == "true") {
            gi_312 = gi_328;
            if (gd_316 > 0.0) {
               RefreshRates();
               gi_352 = OpenPendingOrder(1, gd_316, Bid, ??????????????? * gi_222, Ask, 0, 0, gs_296 + "- " + gi_312, ?????, 0, HotPink);
               if (gi_352 < 0) {
                  Print(" ??????????? ??????: ", ErrorDescription(GetLastError())); // GetLastError()
                  return (0);
               }
               gd_276 = FindLastSellPrice();
               gi_340 = FALSE;
               gi_356 = TRUE;
            }
         }
      } else {
         if (gi_344) {
            if (?????????_??_???????? || ls_44 == "true" 

            ) {
               fOrderCloseMarket(1, 0);
               gd_316 = NormalizeDouble(?????????_????_???? * l_ord_lots_0, ???_????_0_1_2);
            } else gd_316 = fGetLots(OP_BUY);
            if (?????????_???? && ls_36 == "true") {
               gi_312 = gi_328;
               if (gd_316 > 0.0) {
                  gi_352 = OpenPendingOrder(0, gd_316, Ask, ??????????????? * gi_222, Bid, 0, 0, gs_296 + "- " + gi_312, ?????, 0, Lime);
                  if (gi_352 < 0) {
                     Print(" ??????????? ??????: ", ErrorDescription(GetLastError())); // GetLastError()
                     return (0);
                  }
                  gd_268 = FindLastBuyPrice();
                  gi_340 = FALSE;
                  gi_356 = TRUE;
               }
            }
         }
      }
   }
   if (gi_340 && gi_328 < 1) {
      l_iclose_16 = iClose(Symbol(), 0, 2);
      l_iclose_24 = iClose(Symbol(), 0, 1);
      g_bid_252 = Bid;
      g_ask_260 = Ask;
      if (!gi_348 && !gi_344 && ls_36 == "true") {
         gi_312 = gi_328;
         if (l_iclose_16 > l_iclose_24) {
            gd_316 = fGetLots

            (OP_SELL)
            ;
            if (gd_316 > 0.0

             &&   MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious && 
         MacdCurrent>(MACDOpenLevel*Point) && MaCurrent<MaPrevious

            ) {
               gi_352 = OpenPendingOrder(1, gd_316, g_bid_252, ??????????????? * gi_222, g_bid_252, 0, 0, gs_296 + "- " + gi_312, ?????, 0, HotPink);
               if (gi_352 < 0) {
                  Print(gd_316, " ??????????? ??????: ", ErrorDescription(GetLastError())); // GetLastError()
                  return (0);
               }
               gd_268 = FindLastBuyPrice();
               gi_356 = TRUE;
            }
         } else {
            gd_316 = fGetLots 

            (OP_BUY)
            ;
            if (gd_316 > 0.0

             &&   MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&
         MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious

            ) {
               gi_352 = OpenPendingOrder(0, gd_316, g_ask_260, ??????????????? * gi_222, g_ask_260, 0, 0, gs_296 + "- " + gi_312, ?????, 0, Lime);
               if (gi_352 < 0) {
                  Print(gd_316, " ??????????? ??????: ", ErrorDescription(GetLastError())); // GetLastError()
                  return (0);
               }
               gd_276 = FindLastSellPrice();
               gi_356 = TRUE;
            }
         }
      }
      if (gi_352 > 0) gi_308 = TimeCurrent() + 60.0 * (60.0 * ????_??_????????_????);
      gi_340 = FALSE;
   }
   gi_328 = CountTrades();
   g_price_244 = 0;
   double ld_60 = 0; // ld_56
   for (g_pos_324 = OrdersTotal() - 1; g_pos_324 >= 0; g_pos_324--) {
      OrderSelect(g_pos_324, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != ?????) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == ?????) {
         if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
            g_price_244 += OrderOpenPrice() * OrderLots();
            ld_60 += OrderLots();
         }
      }
   }
   if (gi_328 > 0) g_price_244 = NormalizeDouble(g_price_244 / ld_60, Digits);
   if (gi_356) {
      for (g_pos_324 = OrdersTotal() - 1; g_pos_324 >= 0; g_pos_324--) {
         OrderSelect(g_pos_324, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() != Symbol() || OrderMagicNumber() != ?????) continue;
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == ?????) {
            if (OrderType() == OP_BUY) {
               g_price_212 = g_price_244 + ????_?????? * gi_222 * Point;
               gd_unused_228 = g_price_212;
               gd_332 = g_price_244 - ????_???? * gi_222 * Point;
               gi_292 = TRUE;
            }
         }
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == ?????) {
            if (OrderType() == OP_SELL) {
               g_price_212 = g_price_244 - ????_?????? * gi_222 * Point;
   

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

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

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

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

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

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

Стоимость полного кода
1 914,30₽ ≈ $23.40