/*-----------------------------+
|			       |
| Shared by www.Aptrafx.com    |
|			       |
+------------------------------*/
#property  copyright "Copyright 2005, Alberto Mengozzi - Menalbi"
#property  link "alberto.mengozzi@gmail.com"
#property  show_inputs
extern bool   AccountIsReal = False;
int    var_80 = 0;
int    var_84 = 327142;
extern int    PassWord = 1111;
extern int    ProfileFactor = 2;
extern bool   CloseOpenCycle = False;
extern bool   CloseOpenFriday = False;
extern int    ToHourFriday = 10;
double var_108 = 15;
int    var_116 = 31;
bool   var_120 = False;
double var_124 = 20;
double var_132 = 70;
int    var_140 = -1;
int    var_144 = -1;
int    var_148 = -1;
int    var_152 = -1;
int    var_156 = -1;
int    var_160 = -1;
string var_164 = "0123Patterns";
string var_172 = "Version 3.12";
string var_180 = "";
string var_188 = "DEMO";
string var_196 = "REAL-TIME";
string var_204 = "Copyright © 2005, Alberto Mengozzi";
string var_212 = "alberto.mengozzi@gmail.com";
string var_220 = "http://br.groups.yahoo.com/group/0123PatternsBRA/";
string var_228 = "StrategyBuilder FX, LLC";
int    var_236 = 3;
bool   var_240 = True;
int    var_244 = 0;
int    var_248 = 23;
bool   var_252 = True;
string var_256 = "good.wav";
bool   var_264 = True;
double var_268 = 0;
bool   var_276 = True;
bool   var_280 = True;
double var_284 = 5;
double var_292 = 6;
double var_300 = 20;
double var_308 = 0;
double var_316 = 1;
double var_324 = 0;
double var_332 = 0;
double var_340 = 0;
double var_348 = 0;
double var_356 = 0;
bool   var_364 = True;
int    var_368 = 21;
int    var_372 = 105;
double var_376;
double var_384;
double var_392;
double var_400;
double var_408;
double var_416;
double var_424;
double var_432;
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
int start()
{
int    var_start_0;
double var_start_4;
double var_start_12;
double var_start_20;
double var_start_28;
double var_start_36;
double var_start_44;
double var_start_52;
double var_start_60;
double var_start_68;
double var_start_76;
double var_start_84;
int    var_start_92;
int    var_start_96;
int    var_start_100;
int    var_start_104;
int    var_start_108;
int    var_start_112;
double var_start_116;
double var_start_124;
double arr_start_132[];
int    var_start_136;
int    var_start_140;
int    var_start_144;
double var_start_148;
double var_start_156;
double var_start_164;
int    var_start_172;
int    var_start_176;
bool   var_start_180;
bool   var_start_184;
double var_start_188;
/*[
if (!AccountIsReal)
   {
   if (var_84 != AccountNumber())
      {
      Alert("ERROR: Operações na conta: " + AccountNumber() + "","\n","NÃO ESTÃO HABILITADAS!","\n","Tecle F7 e insira o número correto.");
      return(0);
      }
   if (!IsDemo())
      {
      Alert("ERROR: Este TS ",var_164," não está habilitado ","\n","para a conta REAL: " + AccountNumber() + "","\n","Informações: " + var_212 + "");
      return(0);
      }
   var_180 = var_188;
   }
if (AccountIsReal)
   {
   if (var_80 != AccountNumber())
      {
      Alert("ERROR: Operações na conta: " + AccountNumber() + "","\n","NÃO ESTÃO HABILITADAS!","\n","Tecle F7 e insira o número correto.");
      return(0);
      }
   if (IsDemo())
      {
      Alert("ERROR: Este TS ",var_164," não está habilitado ","\n","para a conta DEMO: " + AccountNumber() + "","\n","Informações: " + var_212 + "");
      return(0);
      }
   var_180 = var_196;
   }
if (PassWord != 1011)
   {
   Alert("ERROR: Você não inseriu o PASSWORD correto!!!","\n","Solicite-o no Grupo Yahoo! - ",var_220,"","\n","ou pelo e-mail - ",var_212,"");
   return(0);
   }
if (var_228 != AccountCompany())
   {
   Alert("ERROR: Este TS ",var_164," só trabalha com ","\n","",var_228,".");
   return(0);
   }
if (var_120)
   {
   if (ProfileFactor == 1923)
      {
      var_392 = 1.0;
      if (MathAbs(CurTime() - var_332) > var_316 * 43200.0)
         {
         var_332 = CurTime();
         Alert("ATENÇÃO: ProfileFactor = 1923 \n Voce pode PERDER ate \n 80% do SALDO INICIAL.\n Voce esta operando no \n ProfileFactor SUPER-AGRESSIVO!!!","\n","Tenha em mente que ele e \n TREMENDAMENTE ARRISCADO!!!");
         }
      }
   }
if (ProfileFactor == 0)
   {
   if (MathAbs(CurTime() - var_332) > var_316 * 86400.0)
      {
      var_332 = CurTime();
      Alert("ATENÇÃO: ProfileFactor = 0\n Você está operando no ProfileFactor AGRESSIVO!!!","\n","Tenha em mente que ele é muito ARRISCADO!!!");
      }
   }
if (Period() != 240)
   {
   Alert("ERROR: O TS ",var_164," está habilitado somente para gráficos de 4 HORAS.");
   return(0);
   }
if (var_264)
   {
   var_start_0 = var_116 - DayOfYear();
   if ((var_start_0 <= 5) && (var_start_0 > 0))
      {
      if (MathAbs(CurTime() - var_324) > var_316 * var_start_0 * 3600.0)
         {
         var_324 = CurTime();
         Alert("ATENÇÃO: Falta(m) ",var_start_0," dia(s)","\n"," para encerrar o TS ",var_164,".");
         }
      }
   if (var_start_0 == 0)
      {
      if (MathAbs(CurTime() - var_324) > var_316 * 900.0)
         {
         var_324 = CurTime();
         Alert("ATENÇÃO: O seu TS ",var_164," EXPIRA HOJE.");
         }
      }
   if (var_start_0 < 0)
      {
      if (!ExistPositions())
         {
         Comment("ATENÇÃO!!!\n O TS " + var_164 + " - " + var_172 + " - " + var_180 + " - EXPIROU!!!!!");
         return(0);
         }
      if (ExistPositions())
         {
         if (MathAbs(CurTime() - var_324) > var_316 * 600.0)
            {
            var_324 = CurTime();
            Alert("ATENÇÃO: \n O TS " + var_164 + " - " + var_172 + " - " + var_180 + " - EXPIROU!!!!! \n Agora encerrando todas as operações \n para que possa REMOVER \n O TS " + var_164 + " - " + var_172 + " - " + var_180 + ".");
            }
         }
      }
   }
if (Symbol() != "EURUSD")
   {
   if (Symbol() != "EURUSDm")
      {
      Alert("ERROR: O TS ",var_164," está habilitado\n somente para as paridades EURUSD ou EURUSDm!!!");
      return(0);
      }
   }
]*/
if (!(((((var_108 == 1000) || (var_108 == 10)) || (var_108 == 15)) || (var_108 == 20)) || (var_108 == 25)))
   {
   Alert("ERROR: INVÁLIDO o valor do TakeProfit que você escolheu.","\n","Valores VÁLIDOS (10, 15, 20, 25 ou 1000).","\n","Aperte a tecla F7 e coloque um dos três valores citados acima.");
   return(0);
   }
if (ProfileFactor == 0) var_392 = 0.7;
if (ProfileFactor == 1) var_392 = 0.5;
if (ProfileFactor == 2) var_392 = 0.3;
if (ProfileFactor == 3) var_392 = 0.2;
if (!(((((ProfileFactor == 1923) || (ProfileFactor == 0)) || (ProfileFactor == 1)) || (ProfileFactor == 2)) || (ProfileFactor == 3)))
   {
   Alert("ERROR: Valores VÁLIDOS para o PROFILEFACTOR:","\n","(Agressivo = 0; Moderado = 1; Conservador = 2; Super-Conservador = 3)");
   return(0);
   }
if (AccountLeverage() == 100) var_400 = 0.003;
if (AccountLeverage() == 200) var_400 = 0.05;
if (!(AccountLeverage() == 200))
   {
   Alert("ERROR: Leverage VÁLIDA, somente 1:200 Conta Mini");
   return(0);
   }
if (Bars < 200)
   {
   Alert("ERROR: Número de barras menor que 200");
   return(0);
   }
if (MathAbs(CurTime() - var_356) > var_316 * 900.0)
   {
   var_356 = CurTime();
   RefreshRates();
   Print("ATENÇÃO: Fiz um RefreshRates() na conta.");
   }
if (CloseOpenCycle)
   {
   if (!ExistPositions())
      {
      Comment("ATENÇÃO!!!\n Fechamos todas as operações.\n Você já pode desligar o TS.\n E se quiser, também fechar a plataforma MT4.\n Para continuar operando, mude o \n CloseOpenCycle para False.");
      return(0);
      }
   if (ExistPositions())
      {
      if (MathAbs(CurTime() - var_340) > var_316 * 3600.0)
         {
         var_340 = CurTime();
         Alert("ATENÇÃO: \n Encerrando todas as operações \n para que possa desligar \n o TS e fechar a plataforma.");
         }
      }
   }
if (CloseOpenFriday && (DayOfWeek() == 5) && (Hour() >= ToHourFriday))
   {
   if (!ExistPositions())
      {
      Comment("ATENÇÃO!!!\n Fechamos todas as operações.\n Você já pode desligar o TS.\n E se quiser, também fechar a plataforma MT4.\n Bom final de semana!!!");
      return(0);
      }
   if (ExistPositions())
      {
      if (MathAbs(CurTime() - var_348) > var_316 * 3600.0)
         {
         var_348 = CurTime();
         Alert("ATENÇÃO: \n Encerrando todas as operações \n para que possa desligar \n o TS e fechar a plataforma \n no final de semana.");
         }
      }
   }
if (!AccountIsReal)
   {
   if (!ExistPositions())
      {
      var_376 = MathRound(AccountEquity());
      var_384 = MathRound(AccountBalance());
      var_376 = var_376;
      var_416 = FileOpen("initialdata.dat",FILE_BIN|FILE_WRITE);
      if (var_416 < 1.0)
         {
         Comment("can't open file error-",GetLastError());
         return(0);
         }
      FileWriteDouble(var_416,var_376,8);
      FileClose(var_416);
      }
   if (ExistPositions())
      {
      var_416 = FileOpen("initialdata.dat",FILE_BIN);
      if (var_416 > 0.0)
         {
         var_376 = FileReadDouble(var_416,8);
         FileClose(var_416);
         }
      }
   }
if (AccountIsReal)
   {
   if (!ExistPositions())
      {
      var_376 = MathRound(AccountEquity());
      var_384 = MathRound(AccountBalance());
      var_376 = var_376;
      var_416 = FileOpen("initialdatareal.dat",FILE_BIN|FILE_WRITE);
      if (var_416 < 1.0)
         {
         Comment("can't open file error-",GetLastError());
         return(0);
         }
      FileWriteDouble(var_416,var_376,8);
      FileClose(var_416);
      }
   if (ExistPositions())
      {
      var_416 = FileOpen("initialdatareal.dat",FILE_BIN);
      if (var_416 > 0.0)
         {
         var_376 = FileReadDouble(var_416,8);
         FileClose(var_416);
         }
      }
   }
var_408 = NormalizeDouble(var_376 * 0.01 * var_400 * var_392,2);
var_start_4 = (Ask - Bid) / Point;
if (iClose(NULL,PERIOD_M5,0) >= iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,0))
   var_start_12 = MathRound((iHigh(NULL,PERIOD_M5,0) - iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,0)) / Point);
      else
   var_start_12 = MathRound((iLow(NULL,PERIOD_M5,0) - iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,0)) / Point);
if (iClose(NULL,PERIOD_M5,1) >= iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,1))
   var_start_20 = MathRound((iHigh(NULL,PERIOD_M5,1) - iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,1)) / Point);
      else
   var_start_20 = MathRound((iLow(NULL,PERIOD_M5,1) - iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,1)) / Point);
if (iClose(NULL,PERIOD_M5,2) >= iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,2))
   var_start_28 = MathRound((iHigh(NULL,PERIOD_M5,2) - iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,2)) / Point);
      else
   var_start_28 = MathRound((iLow(NULL,PERIOD_M5,2) - iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,2)) / Point);
if (iClose(NULL,PERIOD_M5,3) >= iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,3))
   var_start_36 = MathRound((iHigh(NULL,PERIOD_M5,3) - iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,3)) / Point);
      else
   var_start_36 = MathRound((iLow(NULL,PERIOD_M5,3) - iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,3)) / Point);
if (iClose(NULL,PERIOD_M5,4) >= iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,4))
   var_start_44 = MathRound((iHigh(NULL,PERIOD_M5,4) - iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,4)) / Point);
      else
   var_start_44 = MathRound((iLow(NULL,PERIOD_M5,4) - iMA(NULL,PERIOD_M5,var_368,0,MODE_EMA,PRICE_CLOSE,4)) / Point);
if (iClose(NULL,PERIOD_M5,0) >= iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,0))
   var_start_52 = MathRound((iHigh(NULL,PERIOD_M5,0) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,0)) / Point);
      else
   var_start_52 = MathRound((iLow(NULL,PERIOD_M5,0) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,0)) / Point);
if (iClose(NULL,PERIOD_M5,1) >= iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,1))
   var_start_60 = MathRound((iHigh(NULL,PERIOD_M5,1) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,1)) / Point);
      else
   var_start_60 = MathRound((iLow(NULL,PERIOD_M5,1) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,1)) / Point);
if (iClose(NULL,PERIOD_M5,2) >= iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,2))
   var_start_68 = MathRound((iHigh(NULL,PERIOD_M5,2) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,2)) / Point);
      else
   var_start_68 = MathRound((iLow(NULL,PERIOD_M5,2) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,2)) / Point);
if (iClose(NULL,PERIOD_M5,3) >= iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,3))
   var_start_76 = MathRound((iHigh(NULL,PERIOD_M5,3) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,3)) / Point);
      else
   var_start_76 = MathRound((iLow(NULL,PERIOD_M5,3) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,3)) / Point);
if (iClose(NULL,PERIOD_M5,4) >= iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,4))
   var_start_84 = MathRound((iHigh(NULL,PERIOD_M5,4) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,4)) / Point);
      else
   var_start_84 = MathRound((iLow(NULL,PERIOD_M5,4) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,4)) / Point);
var_start_136 = IndicatorCounted();
var_start_140 = 1;
for (var_start_92 = 300; var_start_92 >= 0; var_start_92--)
   {
   if (iClose(NULL,PERIOD_M5,var_start_92) >= iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,var_start_92))
      arr_start_132[var_start_92] = MathRound((iHigh(NULL,PERIOD_M5,var_start_92) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,var_start_92)) / Point);
         else
      arr_start_132[var_start_92] = MathRound((iLow(NULL,PERIOD_M5,var_start_92) - iMA(NULL,PERIOD_M5,var_372,0,MODE_EMA,PRICE_CLOSE,var_start_92)) / Point);
   }
var_start_144 = Bars - 50;
var_start_148 = MathAbs(var_start_52);
for (var_start_92 = 0; var_start_92 < OrdersTotal(); var_start_92++)
   {
   if (OrderSelect(var_start_92,SELECT_BY_POS))
      {
      if (OrderSymbol() == Symbol()) var_start_164 = var_start_164 + OrderProfit();
      }
   }
if (AccountLeverage() == 100) var_start_176 = NormalizeDouble(var_300 * var_408 * 10.0,0);
if (AccountLeverage() == 200) var_start_176 = NormalizeDouble(var_300 * var_408,0);
var_start_172 = var_376 + var_start_176 + var_236;
if (AccountEquity() > var_start_172)
   {
   CloseOpenOrders();
   CloseAllPendingOrders();
   if (var_252) PlaySound(var_256);
   return(0);
   }
if (MathAbs(CurTime() - var_308) > var_316 * 20.0)
   {
   var_308 = CurTime();
   var_start_116 = (Ask + Point * var_284 / 2) / Point / var_284;
   var_start_100 = var_start_116;
   var_start_100 = var_start_100 * var_284;
   var_start_116 = var_start_100 * Point - var_284 * var_292 / 2 * Point;
   var_start_180 = 0;
   var_start_184 = 0;
   if (((var_start_52 >= var_124) && (var_start_52 <= var_132)) || (var_start_52 <= -var_132)) var_start_180 = 1;
   if (((var_start_52 <= -var_124) && (var_start_52 >= -var_132)) || (var_start_52 >= var_132)) var_start_184 = 1;
   var_424 = iHigh(NULL,PERIOD_M5,0) + (MathRound(var_284 * var_292 / 2) + var_284) * Point;
   var_432 = iLow(NULL,PERIOD_M5,0) - (MathRound(var_284 * var_292 / 2) + var_284) * Point;
   if (ExistPositions()) CloseOrdersfromEXTREME();
   for (var_start_92 = 0; var_start_92 < var_292; var_start_92++)
      {
      var_start_124 = var_start_116 + var_start_92 * Point * var_284;
      if (var_start_180)
         {
         if (IsPosition(var_start_124,Point * var_284,1) == 0)
            {
            var_start_188 = 0;
            if (var_268 > 0.0) var_start_188 = var_start_124 - Point * var_268;
            if (var_start_124 > Ask) var_start_108 = 4; else var_start_108 = 2;
            if (((var_start_124 > Ask) && var_276) || ((var_start_124 <= Ask) && var_280))
               {
               var_start_104 = OrderSend(Symbol(),var_start_108,var_408,var_start_124,0,var_start_188,var_start_124 + Point * var_108,var_164,23112005,0,var_140);
               }
            }
         }
      if (var_start_184)
         {
         if (IsPosition(var_start_124,Point * var_284,0) == 0)
            {
            var_start_188 = 0;
            if (var_268 > 0.0) var_start_188 = var_start_124 + Point * var_268;
            if (var_start_124 > Bid) var_start_108 = 3; else var_start_108 = 5;
            if (((var_start_124 < Bid) && var_276) || ((var_start_124 >= Bid) && var_280))
               {
               var_start_104 = OrderSend(Symbol(),var_start_108,var_408,var_start_124,0,var_start_188,var_start_124 - Point * var_108,var_164,23112005,0,var_148);
               }
            }
         }
      }
   }
Comment("",var_204," - ",var_212,"    -    ",var_164," - ",var_172," - " + var_180 + "\n","Grupo Yahoo! - ",var_220,"\n","Saldo inicial = ",var_376,"\n","Saldo projetado = ",var_start_172,"\n","Lotes em negociacao = ",var_408);
return(0);
}
//+------------------------------------------------------------------+
bool IsPosition(double inp_IsPosition_0, double inp_IsPosition_8, int inp_IsPosition_16)
{
int ordtotal;
int cnt;
int ordtype;
ordtotal = OrdersTotal();
for (cnt = 0; cnt < ordtotal; cnt++)
   {
   OrderSelect(cnt,SELECT_BY_POS);
   if ((OrderSymbol() == Symbol()) && ((OrderMagicNumber() == 23112005) || (OrderComment() == var_164)))
      {
      ordtype = OrderType();
      if (MathAbs(OrderOpenPrice() - inp_IsPosition_0) < inp_IsPosition_8 * 0.9)
         {
         if ((inp_IsPosition_16 && (((ordtype == OP_BUY) || (ordtype == OP_BUYLIMIT)) || (ordtype == OP_BUYSTOP))) || (!inp_IsPosition_16 && (((ordtype == OP_SELL) || (ordtype == OP_SELLLIMIT)) || (ordtype == OP_SELLSTOP)))) return(True);
         }
      }
   }
return(False);
}
//+------------------------------------------------------------------+
bool ExistPositions()
{
int cnt;
for (cnt = 0; cnt < OrdersTotal(); cnt++)
   {
   if (OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
      {
      if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == 23112005)) return(True);
      }
   }
return(False);
}
//+------------------------------------------------------------------+
void CloseAllPendingOrders()
{
int ordtotal;
int cnt;
int ordtype;
int result;
ordtotal = OrdersTotal();
for (cnt = ordtotal - 1; cnt >= 0; cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS);
   if ((OrderSymbol() == Symbol()) && ((OrderMagicNumber() == 23112005) || (OrderComment() == var_164)))
      {
      ordtype = OrderType();
      if (ordtype > OP_SELL) result = OrderDelete(OrderTicket());
      }
   }
return;
}
//+------------------------------------------------------------------+
void CloseOpenOrders()
{
int ordtotal;
int cnt;
int ordtype;
int result;
ordtotal = OrdersTotal();
for (cnt = ordtotal - 1; cnt >= 0; cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS);
   ordtype = OrderType();
   result = 0;
   if ((OrderSymbol() == Symbol()) && ((OrderMagicNumber() == 23112005) || (OrderComment() == var_164)))
      {
      if (ordtype == OP_BUY)  result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,var_144);
      if (ordtype == OP_SELL) result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,var_152);
      if (ordtype > OP_SELL)  result = OrderDelete(OrderTicket());
      }
   }
return;
}
//+------------------------------------------------------------------+
void CloseOrdersfromEXTREME()
{
int ordtotal;
int cnt;
int ordtype;
int result;
ordtotal = OrdersTotal();
for (cnt = ordtotal - 1; cnt >= 0; cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS);
   if ((OrderSymbol() == Symbol()) && ((OrderMagicNumber() == 23112005) || (OrderComment() == var_164)))
      {
      ordtype = OrderType();
      result = 0;
      if ((ordtype == OP_BUYLIMIT)  && (OrderOpenPrice() <= var_432)) result = OrderDelete(OrderTicket());
      if ((ordtype == OP_BUYSTOP)   && (OrderOpenPrice() >= var_424)) result = OrderDelete(OrderTicket());
      if ((ordtype == OP_SELLLIMIT) && (OrderOpenPrice() >= var_424)) result = OrderDelete(OrderTicket());
      if ((ordtype == OP_SELLSTOP)  && (OrderOpenPrice() <= var_432)) result = OrderDelete(OrderTicket());
      }
   }
return;
}
             
            
Comments