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

EA Dragon Fire X.10

ea_dragonfire_fire_x.10_fixed.mq4
Вы автор или правообладатель?

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

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

О программе

EA Dragon Fire X.10 — торговый советник для MetaTrader 4, работающий на валютных парах в режиме реального времени по тикам. Советник управляет открытием, модификацией и закрытием рыночных и отложенных ордеров, используя внутренний магический номер для идентификации своих позиций. Отображает на графике текущий баланс, прибыль/убыток и количество активных ордеров.

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

Размер лота может рассчитываться по нескольким режимам: фиксированный, с умножением на заданный коэффициент или с учётом истории закрытых сделок. Вход в сделки основывается на анализе краткосрочных ценовых движений и условий относительно текущей цены. Советник предназначен для работы на центовых счетах с небольшим капиталом.

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

НастройкаОписание
EA Разделитель — Текстовый параметр-разделитель в панели настроек, используется для визуальной группировки параметров советника.
Lots Лот — Начальный размер лота для открытия новой позиции.
TakeProfit Тейк-профит — Уровень фиксации прибыли в пунктах, устанавливаемый на ордера после их открытия.
MaxTrades Максимум сделок — Максимальное допустимое количество одновременных торговых позиций одного направления.
Multiplier Множитель — Коэффициент увеличения лота, применяемый при расчёте размера следующей позиции.
PipStep Шаг в пунктах — Минимальное ценовое расстояние в пунктах, необходимое для формирования сигнала на открытие новой позиции.
Получить полный код

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

#property version "";
#property strict
#property description ">>>Default Setting<<<\nCapital = 100USD / 10K Cent\nAccount Type = Cent\nTimeframe = M5\nPair = EURUSD & GBPUSD\nMax Pair = 2 pair per 100USD\n___________________________";

extern string EA = "--------------------- EA Dragon Fire X.10 ---------------------";
extern double Lots = 0.01;
extern double TakeProfit = 40;
extern int MaxTrades = 20;
extern double Multiplier = 1.5;
extern double PipStep = 50;

string Is_0108;
int returned_i;
int Gi_0000;
double Gd_0001;
int Gi_0002;
int Gi_0003;
int Gi_0004;
int Gi_0005;
int Gi_0006;
double Gd_0007;
int Gi_0008;
int Gi_0009;
int Gi_000A;
double Gd_000B;
int Gi_000C;
int Gi_000D;
int Gi_000E;
double Gd_000F;
int Gi_0010;
int Gi_0011;
int Gi_0012;
double Gd_0013;
int Gi_0014;
int Gi_0015;
int Gi_0016;
double Gd_0017;
int Gi_0018;
double Gd_0019;
int Gi_001A;
int Gi_001B;
double Gd_001C;
int Gi_001D;
int Gi_001E;
int Gi_001F;
double Gd_0020;
int Gi_0021;
double Gd_0022;
int Gi_0023;
int Gi_0024;
double Gd_0025;
int Gi_0026;
int Gi_0027;
int Gi_0028;
double Gd_0029;
int Gi_002A;
double Gd_002B;
int Gi_002C;
int Gi_002D;
double Gd_002E;
int Gi_002F;
int Gi_0030;
int Gi_0031;
double Gd_0032;
int Gi_0033;
double Gd_0034;
int Gi_0035;
int Gi_0036;
double Gd_0037;
int Gi_0038;
int Gi_0039;
int Gi_003A;
int Gi_003B;
int Gi_003C;
long returned_l;
long Il_0118;
bool returned_b;
double Gd_003D;
double Ind_000;
double Ind_004;
bool Ib_0040;
double Id_0078;
int Gi_003D;
double Id_0028;
double Id_0020;
bool Ib_0041;
long Il_00D0;
int Ii_0050;
double Id_0008;
double Gd_003E;
double Gd_003F;
int Gi_0040;
double Gd_0041;
double Gd_0042;
int Gi_0043;
long Il_00C8;
long Gl_0043;
int Gi_0044;
long Gl_0044;
int Ii_00E8;
bool Ib_0030;
bool Gb_0045;
double Gd_0045;
double Id_0038;
double Gd_0046;
int Gi_0047;
double Id_0128;
bool Gb_0047;
double Id_0130;
double Gd_0048;
double Gd_0049;
int Gi_004A;
double Gd_004B;
double Gd_004C;
int Gi_004D;
bool Ib_0100;
int Ii_00EC;
int Ii_00B0;
bool Ib_00F9;
bool Ib_00FA;
double Id_0090;
double Id_0098;
double Gd_004D;
bool Gb_004D;
bool Ib_00F8;
double Id_0060;
bool Ib_0004;
double Id_0010;
double Gd_004E;
double Id_00E0;
bool Ib_0005;
int Ii_00D8;
bool Gb_0051;
string Is_00B8;
int Gi_0051;
int Ii_00FC;
double Id_0080;
double Id_0088;
bool Gb_0055;
int Ii_0000;
bool Gb_0058;
int Gi_0058;
bool Gb_005B;
int Gi_005B;
long Gl_005B;
double Id_0048;
double Gd_005C;
int Gi_005C;
double Ind_002;
double Id_0058;
double Id_0068;
double Id_0018;
double Id_00F0;
double Id_0070;
int Gi_005D;
int Gi_0059;
long Gl_0059;
long Gl_005A;
bool Gb_005A;
int Gi_005A;
double Gd_005B;
double Gd_0059;
int Gi_0056;
long Gl_0056;
long Gl_0057;
bool Gb_0057;
int Gi_0057;
double Gd_0058;
int Gi_0055;
double Gd_0056;
int Gi_004F;
long Gl_004F;
long Gl_0050;
bool Gb_0050;
int Gi_0050;
double Gd_0051;
int Gi_004E;
double Gd_004F;
double Gd_0052;
int Gi_0053;
long Gl_0053;
long Gl_0054;
bool Gb_0054;
int Gi_0054;
double Gd_0055;
int Gi_0052;
double Gd_0053;
double Id_00A0;
double Id_00A8;
int Ii_0120;
int Ii_0124;
double Gd_0000;
double Gd_0002;
double Gd_0004;
long Gl_0005;
long Gl_0006;
long Gl_0003;
long Gl_0004;
double Gd_0003;
double Gd_0006;
double Gd_0009;
double Gd_000A;
int Gi_000B;
double Gd_000C;
double Gd_000D;
double Gd_0010;
double Gd_0012;
double Gd_0015;
double Gd_0016;
int Gi_0017;
double Gd_0018;
double Gd_001B;
double Gd_001E;
double Gd_001F;
int Gi_0020;
double Gd_0021;
long Gl_0031;
int Gi_0032;
long Gl_0034;
double Gd_0036;
double Gd_0033;
long Gl_0028;
int Gi_0029;
long Gl_002B;
long Gl_002E;
double Gd_0030;
double Gd_002D;
double Gd_002A;
long Gl_0025;
double Gd_0027;
bool Gb_0000;
int Gi_0001;
bool Gb_0001;
double returned_double;

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

void OnTick()
  {
      // код доступен только после оплаты
   }
   string tmp_str0000;
   string tmp_str0001;
   string tmp_str0002;
   string tmp_str0003;
   string tmp_str0004;
   string tmp_str0005;
   string tmp_str0006;
   string tmp_str0007;
   string tmp_str0008;
   double Ld_FFF8;
   double Ld_FFF0;
   double Ld_FFE8;
   double Ld_FFE0;
   double Ld_FFD8;
   double Ld_FFD0;
   double Ld_FFC8;
   double Ld_FFC0;
   double String_Double_00000000;

   Ld_FFF8 = 0;
   Ld_FFF0 = 0;
   Ld_FFE8 = 0;
   Ld_FFE0 = 0;
   Ld_FFD8 = 0;
   Ld_FFD0 = 0;
   Ld_FFC8 = 0;
   Ld_FFC0 = 0;
   Gi_0000 = 0;
   Gd_0001 = 0;
   Gi_0002 = 0;
   Gi_0003 = 0;
   Gi_0004 = 0;
   Gi_0005 = 0;
   Gi_0006 = 0;
   Gd_0007 = 0;
   Gi_0008 = 0;
   Gi_0009 = 0;
   Gi_000A = 0;
   Gd_000B = 0;
   Gi_000C = 0;
   Gi_000D = 0;
   Gi_000E = 0;
   Gd_000F = 0;
   Gi_0010 = 0;
   Gi_0011 = 0;
   Gi_0012 = 0;
   Gd_0013 = 0;
   Gi_0014 = 0;
   Gi_0015 = 0;
   Gi_0016 = 0;
   Gd_0017 = 0;
   Gi_0018 = 0;
   Gd_0019 = 0;
   Gi_001A = 0;
   Gi_001B = 0;
   Gd_001C = 0;
   Gi_001D = 0;
   Gi_001E = 0;
   Gi_001F = 0;
   Gd_0020 = 0;
   Gi_0021 = 0;
   Gd_0022 = 0;
   Gi_0023 = 0;
   Gi_0024 = 0;
   Gd_0025 = 0;
   Gi_0026 = 0;
   Gi_0027 = 0;
   Gi_0028 = 0;
   Gd_0029 = 0;
   Gi_002A = 0;
   Gd_002B = 0;
   Gi_002C = 0;
   Gi_002D = 0;
   Gd_002E = 0;
   Gi_002F = 0;
   Gi_0030 = 0;
   Gi_0031 = 0;
   Gd_0032 = 0;
   Gi_0033 = 0;
   Gd_0034 = 0;
   Gi_0035 = 0;
   Gi_0036 = 0;
   Gd_0037 = 0;
   Gi_0038 = 0;
   Gi_0039 = 0;
   Gi_003A = 0;
   Gi_003B = 0;
   Gi_003C = 0;

   ObjectCreate(0, "accequity", OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
   ObjectSet("accequity", OBJPROP_CORNER, 3);
   ObjectSet("accequity", OBJPROP_XDISTANCE, 1480);
   ObjectSet("accequity", OBJPROP_YDISTANCE, 420);
   tmp_str0000 = "Account Equity :" + DoubleToString(AccountEquity(), 2);
   ObjectSetText("accequity", tmp_str0000, 10, "Arial", 65535);
   ObjectCreate(0, "profitloss", OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
   ObjectSet("profitloss", OBJPROP_CORNER, 3);
   ObjectSet("profitloss", OBJPROP_XDISTANCE, 1490);
   ObjectSet("profitloss", OBJPROP_YDISTANCE, 400);
   Gd_003D = AccountEquity();
   tmp_str0001 = "Total Profit/Loss :" + DoubleToString((Gd_003D - AccountBalance()), 2);
   ObjectSetText("profitloss", tmp_str0001, 10, "Arial", 65535);
   ObjectCreate(0, "ordtotal", OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
   ObjectSet("ordtotal", OBJPROP_CORNER, 3);
   ObjectSet("ordtotal", OBJPROP_XDISTANCE, 1550);
   ObjectSet("ordtotal", OBJPROP_YDISTANCE, 380);
   tmp_str0002 = "Total Order :" + DoubleToString(OrdersTotal(), 0);
   ObjectSetText("ordtotal", tmp_str0002, 10, "Arial", 65535);
   ObjectCreate(0, "expdate", OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
   ObjectSet("expdate", OBJPROP_CORNER, 3);
   ObjectSet("expdate", OBJPROP_XDISTANCE, 10);
   ObjectSet("expdate", OBJPROP_YDISTANCE, 10);
   tmp_str0003 = "Expired Date :" + TimeToString(Il_0118, 1);
   ObjectSetText("expdate", tmp_str0003, 10, "Arial", 16777215);
   ObjectCreate(0, "title", OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
   ObjectSet("title", OBJPROP_CORNER, 3);
   ObjectSet("title", OBJPROP_XDISTANCE, 700);
   ObjectSet("title", OBJPROP_YDISTANCE, 490);
   ObjectSetText("title", "EA Dragon Fire X.10 ", 20, "Lucida Console", 255);
   ObjectCreate(0, "copyrightname", OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
   ObjectSetText("copyrightname", "Copyright ©2021 IM-Team FX", 12, "Lucida Console", 255);
   ObjectSet("copyrightname", OBJPROP_CORNER, 3);
   ObjectSet("copyrightname", OBJPROP_XDISTANCE, 750);
   ObjectSet("copyrightname", OBJPROP_YDISTANCE, 470);
   if(Ib_0040)
     {
      TrailingAlls(Id_0020, Id_0028, Id_0078);
     }
   if(Ib_0041 && TimeCurrent() >= Il_00D0)
     {
      Gi_0000 = 0;
      Gi_003D = OrdersTotal() - 1;
      Gi_0000 = Gi_003D;
      if(Gi_003D >= 0)
        {
         do
           {
            OrderSelect(Gi_0000, 0, 0);
            if(OrderSymbol() == _Symbol)
              {
               if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050)
                 {
                  if(OrderType() == OP_BUY)
                    {
                     OrderClose(OrderTicket(), OrderLots(), Bid, Id_0008, 16711680);
                    }
                  if(OrderType() == OP_SELL)
                    {
                     OrderClose(OrderTicket(), OrderLots(), Ask, Id_0008, 255);
                    }
                 }
               Sleep(1000);
              }
            Gi_0000 = Gi_0000 - 1;
           }
         while(Gi_0000 >= 0);
        }
      Print("Closed All due to TimeOut");
     }
   if(Il_00C8 == Time[0])
      return;
   Il_00C8 = Time[0];
   Gd_0001 = 0;
   Ii_00E8 = OrdersTotal() - 1;
   if(Ii_00E8 >= 0)
     {
      do
        {
         OrderSelect(Ii_00E8, 0, 0);
         if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050)
           {
            if(OrderType() == OP_BUY || OrderType() == OP_SELL)
              {

               Gd_0001 = (Gd_0001 + OrderProfit());
              }
           }
         Ii_00E8 = Ii_00E8 - 1;
        }
      while(Ii_00E8 >= 0);
     }
   Ld_FFF8 = Gd_0001;
   if(Ib_0030 && (Gd_0001 < 0))
     {
      Gd_0045 = fabs(Gd_0001);
      Gd_0046 = (Id_0038 / 100);
      Gi_0002 = 0;
      Gi_0003 = 0;
      Gi_0047 = OrdersTotal() - 1;
      Gi_0003 = Gi_0047;
      if(Gi_0047 >= 0)
        {
         do
           {
            OrderSelect(Gi_0003, 0, 0);
            if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050)
              {
               if(OrderType() == OP_SELL || OrderType() == OP_BUY)
                 {

                  Gi_0002 = Gi_0002 + 1;
                 }
              }
            Gi_0003 = Gi_0003 - 1;
           }
         while(Gi_0003 >= 0);
        }
      if(Gi_0002 == 0)
        {
         Id_0128 = AccountEquity();
        }
      if((Id_0128 < Id_0130))
        {
         Id_0128 = Id_0130;
        }
      else
        {
         Id_0128 = AccountEquity();
        }
      Id_0130 = AccountEquity();
      if((Gd_0045 > (Gd_0046 * Id_0128)))
        {
         Gi_0004 = 0;
         Gi_0047 = OrdersTotal() - 1;
         Gi_0004 = Gi_0047;
         if(Gi_0047 >= 0)
           {
            do
              {
               OrderSelect(Gi_0004, 0, 0);
               if(OrderSymbol() == _Symbol)
                 {
                  if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050)
                    {
                     if(OrderType() == OP_BUY)
                       {
                        OrderClose(OrderTicket(), OrderLots(), Bid, Id_0008, 16711680);
                       }
                     if(OrderType() == OP_SELL)
                       {
                        OrderClose(OrderTicket(), OrderLots(), Ask, Id_0008, 255);
                       }
                    }
                  Sleep(1000);
                 }
               Gi_0004 = Gi_0004 - 1;
              }
            while(Gi_0004 >= 0);
           }
         Print("Closed All due to Stop Out");
         Ib_0100 = false;
        }
     }
   Gi_0005 = 0;
   Gi_0006 = 0;
   Gi_004D = OrdersTotal() - 1;
   Gi_0006 = Gi_004D;
   if(Gi_004D >= 0)
     {
      do
        {
         OrderSelect(Gi_0006, 0, 0);
         if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050)
           {
            if(OrderType() == OP_SELL || OrderType() == OP_BUY)
              {

               Gi_0005 = Gi_0005 + 1;
              }
           }
         Gi_0006 = Gi_0006 - 1;
        }
      while(Gi_0006 >= 0);
     }
   Ii_00EC = Gi_0005;
   if(Gi_0005 == 0)
     {
      Ii_00B0 = 0;
     }
   Ld_FFF0 = 0;
   Ld_FFE8 = 0;
   Ii_00E8 = OrdersTotal() - 1;
   if(Ii_00E8 >= 0)
     {
      do
        {
         OrderSelect(Ii_00E8, 0, 0);
         if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050)
           {
            if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderType() == OP_BUY)
              {
               Ib_00F9 = true;
               Ib_00FA = false;
               Ld_FFF0 = OrderLots();
               break;
              }
            if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderType() == OP_SELL)
              {
               Ib_00F9 = false;
               Ib_00FA = true;
               Ld_FFE8 = OrderLots();
               break;
              }
           }
         Ii_00E8 = Ii_00E8 - 1;
        }
      while(Ii_00E8 >= 0);
     }
   if(Ii_00EC > 0 && Ii_00EC <= MaxTrades)
     {
      RefreshRates();
      Gd_0007 = 0;
      Gi_0008 = 0;
      Gi_0009 = 0;
      Gi_000A = 0;
      Gi_004D = OrdersTotal() - 1;
      Gi_0008 = Gi_004D;
      if(Gi_004D >= 0)
        {
         do
           {
            OrderSelect(Gi_0008, 0, 0);
            if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderType() == OP_BUY)
              {
               Gi_000A = OrderTicket();
               if(Gi_000A > Gi_0009)
                 {
                  Gd_0007 = OrderOpenPrice();
                  Gi_0009 = Gi_000A;
                 }
              }
            Gi_0008 = Gi_0008 - 1;
           }
         while(Gi_0008 >= 0);
        }
      Id_0090 = Gd_0007;
      Gd_000B = 0;
      Gi_000C = 0;
      Gi_000D = 0;
      Gi_000E = 0;
      Gi_004D = OrdersTotal() - 1;
      Gi_000C = Gi_004D;
      if(Gi_004D >= 0)
        {
         do
           {
            OrderSelect(Gi_000C, 0, 0);
            if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderType() == OP_SELL)
              {
               Gi_000E = OrderTicket();
               if(Gi_000E > Gi_000D)
                 {
                  Gd_000B = OrderOpenPrice();
                  Gi_000D = Gi_000E;
                 }
              }
            Gi_000C = Gi_000C - 1;
           }
         while(Gi_000C >= 0);
        }
      Id_0098 = Gd_000B;
      if(Ib_00F9)
        {
         Gd_004D = (Id_0090 - Ask);
         if((Gd_004D >= (PipStep * _Point)))
           {
            Ib_00F8 = true;
           }
        }
      if(Ib_00FA)
        {
         Gd_004D = (Bid - Id_0098);
         if((Gd_004D >= (PipStep * _Point)))
           {
            Ib_00F8 = true;
           }
        }
     }
   if(Ii_00EC < 1)
     {
      Ib_00FA = false;
      Ib_00F9 = false;
      Ib_00F8 = true;
      Id_0060 = AccountEquity();
     }
   if(Ib_00F8)
     {
      Gd_000F = 0;
      Gi_0010 = 0;
      Gi_0011 = 0;
      Gi_0012 = 0;
      Gi_004D = OrdersTotal() - 1;
      Gi_0010 = Gi_004D;
      if(Gi_004D >= 0)
        {
         do
           {
            OrderSelect(Gi_0010, 0, 0);
            if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderType() == OP_BUY)
              {
               Gi_0012 = OrderTicket();
               if(Gi_0012 > Gi_0011)
                 {
                  Gd_000F = OrderOpenPrice();
                  Gi_0011 = Gi_0012;
                 }
              }
            Gi_0010 = Gi_0010 - 1;
           }
         while(Gi_0010 >= 0);
        }
      Id_0090 = Gd_000F;
      Gd_0013 = 0;
      Gi_0014 = 0;
      Gi_0015 = 0;
      Gi_0016 = 0;
      Gi_004D = OrdersTotal() - 1;
      Gi_0014 = Gi_004D;
      if(Gi_004D >= 0)
        {
         do
           {
            OrderSelect(Gi_0014, 0, 0);
            if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderType() == OP_SELL)
              {
               Gi_0016 = OrderTicket();
               if(Gi_0016 > Gi_0015)
                 {
                  Gd_0013 = OrderOpenPrice();
                  Gi_0015 = Gi_0016;
                 }
              }
            Gi_0014 = Gi_0014 - 1;
           }
         while(Gi_0014 >= 0);
        }
      Id_0098 = Gd_0013;
      if(Ib_00FA != false)
        {
         if(Ib_0004)
           {
            fOrderCloseMarket(false, true);
            Id_00E0 = NormalizeDouble((Multiplier * Ld_FFE8), Id_0010);
           }
         else
           {
            Gd_0019 = 0;
            returned_i = Ii_0000;
            if(returned_i == 0)
              {

               Gd_0019 = Lots;
              }
            if(returned_i == 1)
              {

               returned_double = MathPow(Multiplier, Ii_00D8);
               Gd_0019 = NormalizeDouble((Lots * returned_double), Id_0010);
              }
            if(returned_i == 2)
              {

               Gi_001A = 0;
               Gd_0019 = Lots;
               Gi_004F = HistoryTotal() - 1;
               Gi_001B = Gi_004F;
               if(Gi_004F >= 0)
                 {
                  do
                    {
                     if(OrderSelect(Gi_001B, 0, 1))
                       {
                        if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050)
                          {
                           Gl_004F = OrderCloseTime();
                           Gl_0050 = Gi_001A;
                           if(Gl_0050 < Gl_004F)
                             {
                              Gi_001A = OrderCloseTime();
                              if((OrderProfit() < 0))
                                {
                                 Gd_0019 = NormalizeDouble((OrderLots() * Multiplier), Id_0010);
                                }
                              else
                                {
                                 Gd_0019 = Lots;
                                }
                             }
                          }
                       }
                     else
                       {
                        Gd_0017 = -3;
                        break;
                       }
                     Gi_001B = Gi_001B - 1;
                    }
                  while(Gi_001B >= 0);
                 }
              }
            if((AccountFreeMarginCheck(_Symbol, 1, Gd_0019) <= 0))
              {
               Gd_0017 = -1;
              }
            else
              {
               Gi_0051 = GetLastError();
               if(Gi_0051 == 134)
                 {
                  Gd_0017 = -2;
                 }
               else
                 {
                  Gd_0017 = Gd_0019;
                 }
              }
            Id_00E0 = Gd_0017;
           }
         if(Ib_0005 != false)
           {
            Ii_00D8 = Ii_00EC;
            if((Id_00E0 > 0))
              {
               RefreshRates();
               tmp_str0004 = Is_00B8 + "-";
               tmp_str0005 = (string)Ii_00EC;
               tmp_str0004 = tmp_str0004 + tmp_str0005;
               Ii_00FC = OpenPendingOrder(1, Id_00E0, Bid, Id_0008, Ask, 0, 0, tmp_str0004, Ii_0050, 0, 42495);
               if(Ii_00FC < 0)
                 {
                  Print("Error: ", GetLastError());
                  return ;
                 }
               Gd_001C = 0;
               Gi_001D = 0;
               Gi_001E = 0;
               Gi_001F = 0;
               Gi_0051 = OrdersTotal() - 1;
               Gi_001D = Gi_0051;
               if(Gi_0051 >= 0)
                 {
                  do
                    {
                     OrderSelect(Gi_001D, 0, 0);
                     if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderType() == OP_SELL)
                       {
                        Gi_001F = OrderTicket();
                        if(Gi_001F > Gi_001E)
                          {
                           Gd_001C = OrderOpenPrice();
                           Gi_001E = Gi_001F;
                          }
                       }
                     Gi_001D = Gi_001D - 1;
                    }
                  while(Gi_001D >= 0);
                 }
               Id_0098 = Gd_001C;
               Ib_00F8 = false;
               Ib_0100 = true;
              }
           }
        }
      else
        {
         if(Ib_00F9)
           {
            if(Ib_0004)
              {
               fOrderCloseMarket(true, false);
               Id_00E0 = NormalizeDouble((Multiplier * Ld_FFF0), Id_0010);
              }
            else
              {
               Gd_0022 = 0;
               returned_i = Ii_0000;
               if(returned_i == 0)
                 {

                  Gd_0022 = Lots;
                 }
               if(returned_i == 1)
                 {

                  returned_double = MathPow(Multiplier, Ii_00D8);
                  Gd_0022 = NormalizeDouble((Lots * returned_double), Id_0010);
                 }
               if(returned_i == 2)
                 {

                  Gi_0023 = 0;
                  Gd_0022 = Lots;
                  Gi_0053 = HistoryTotal() - 1;
                  Gi_0024 = Gi_0053;
                  if(Gi_0053 >= 0)
                    {
                     do
                       {
                        if(OrderSelect(Gi_0024, 0, 1))
                          {
                           if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050)
                             {
                              Gl_0053 = OrderCloseTime();
                              Gl_0054 = Gi_0023;
                              if(Gl_0054 < Gl_0053)
                                {
                                 Gi_0023 = OrderCloseTime();
                                 if((OrderProfit() < 0))
                                   {
                                    Gd_0022 = NormalizeDouble((OrderLots() * Multiplier), Id_0010);
                                   }
                                 else
                                   {
                                    Gd_0022 = Lots;
                                   }
                                }
                             }
                          }
                        else
                          {
                           Gd_0020 = -3;
                           break;
                          }
                        Gi_0024 = Gi_0024 - 1;
                       }
                     while(Gi_0024 >= 0);
                    }
                 }
               if((AccountFreeMarginCheck(_Symbol, 0, Gd_0022) <= 0))
                 {
                  Gd_0020 = -1;
                 }
               else
                 {
                  Gi_0055 = GetLastError();
                  if(Gi_0055 == 134)
                    {
                     Gd_0020 = -2;
                    }
                  else
                    {
                     Gd_0020 = Gd_0022;
                    }
                 }
               Id_00E0 = Gd_0020;
              }
            if(Ib_0005)
              {
               Ii_00D8 = Ii_00EC;
               if((Id_00E0 > 0))
                 {
                  tmp_str0005 = Is_00B8 + "-";
                  tmp_str0006 = (string)Ii_00EC;
                  tmp_str0005 = tmp_str0005 + tmp_str0006;
                  Ii_00FC = OpenPendingOrder(0, Id_00E0, Ask, Id_0008, Bid, 0, 0, tmp_str0005, Ii_0050, 0, 16711680);
                  if(Ii_00FC < 0)
                    {
                     Print("Error: ", GetLastError());
                     return ;
                    }
                  Gd_0025 = 0;
                  Gi_0026 = 0;
                  Gi_0027 = 0;
                  Gi_0028 = 0;
                  Gi_0055 = OrdersTotal() - 1;
                  Gi_0026 = Gi_0055;
                  if(Gi_0055 >= 0)
                    {
                     do
                       {
                        OrderSelect(Gi_0026, 0, 0);
                        if(OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0050 && OrderSymbol() == _Symbol &

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

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

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

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

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

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

Стоимость полного кода
2 631₽ ≈ $32.16