Програмисты и знающие) правильно ли я снял лицуху??

  • Автор темы Автор темы Bujhm Bujhm
  • Дата начала Дата начала

К чему приведёт Правильное снятие лицухи

  • часто это приводит к порче эксперта

    Голосов: 0 0,0%
  • сломал лицуху - эксперт сдох

    Голосов: 0 0,0%

  • Всего проголосовало
    8

Bujhm Bujhm

Новичок форума
Народ) я понимаю , что среди вас есть те кто это делает с закрытыми глазами, но я новичёк в этом, и типто "програмистер" , мну интересно
снять лицуху с чегото платного =) вот нашол какогото платного советника, решил попробовать. то что я посчитал лицухой я закоментировал, пол кода вобше удалил на всякий, автору привед))


Вроде получилось , лицухи нет, и кей тож непросит, но работает он так же? влияет ли вообще хак лицензии на работу эксперта? Моно ли както без коментариев /**/ просто поменять чтото сдесь
Код:
Expand Collapse Copy
if ((Month() <= 12 && Year() <= 2008) || (Month() <= gi_544 && Year() == 2009 && Day() <= gi_548) || (Month() <= 1 && Year() == 2009 && Day() <= 31)) {
      gi_540 = TRUE;
      gi_568 = TRUE;
   } else {
      gi_568 = FALSE;
      gi_540 = FALSE;
   }
   if (gi_568 == FALSE) {
      gi_540 = FALSE;
например год) ключ как я понял 544 но срок лицухи вышел, вот собсно та часть кода с коментами:


Код:
Expand Collapse Copy
 /*
   -----------------------------------------------
   --------------------------------
   E-mail : ---------------------
*/
#property copyright "epforex"
#property link      "http://epforex.at.ua"

#include <WinUser32.mqh>

string g_comment_76 = "Продали";
string g_comment_84 = "Купили";
string gs_92;
string gs_100;
extern string text1 = "Настройки стопов";
extern double TakeProfit = 0.0;
extern double StopLoss = 0.0;
extern string t12 = "Трейлинг стоплосс и тейкпрофит";
extern double TrailingStop = 0.0;
extern string t1 = "Параметр трейлинг для профита";
extern bool trailingonlyprofitq = TRUE;
extern string t10 = "Трейлить стоплосс при достижении прибыли";
extern double prchoose = 10.0;
extern double Lots = 0.1;
extern string t11 = "Проскальзование цены в пунктах";
extern int slippage = 0;
extern string text2 = "Настройки -время работы-";
extern int OpenHour = 1;
extern int CloseHour = 24;
extern bool Alltimework = TRUE;
extern string text3 = "Настройка Money Managment";
extern bool Autolot = FALSE;
extern string t3 = "Параметр колличество знаков для лота";
extern int LotsDigit = 1;
extern string t2 = "Параметр процент от депозита для лота";
extern double Risk = 1.0;
extern double MaxLots = 5.0;
extern string t4 = "Параметр Мартингейл";
extern bool MartinGeil = FALSE;
extern string t22 = "Параметр коофициент увеличения для Мартингейл";
extern double Martinkof = 1.6;
extern string t15 = "Максимальное колличество сделок при открытых ордерах";
extern int MaxTrades = 1;
extern bool CloseifChangeSignal = ЫRUE;
extern string ff = "Закрытие ордеров перед выходными";
extern bool FridayClose = FALSE;
extern int FridayHour = 22;
extern int FridayMinute = 58;
extern string t5 = "Параметр mыagic number.";
extern int MNum = 777;
int g_datetime_340 = 0;
int gi_unused_384 = 0;
int g_ticket_388 = 0;
double g_price_392;
double g_price_400;
int gi_408 = 0;
double g_timeframe_412 = 0.0;
double g_time_420 ы= 0.0;
double gd_428 = 0.0;
double gd_436 = 0.0;
extern string text4 = "Настройка индикатора Боллинджера";
extern int BandsPeriod = 20;
extern int BandsShift = 0;
extern double BandsDeviations = 2.0;
double gda_468[30];
double gda_472[30];
double gda_47ы6[30];
double gda_480[30];
double gda_484[30];
strinыg gs_488;
double gd_496;
double gd_504;
extern int key = 0;
extern string bbw = "Колличество попыток открытия при реквоте";
extern int reopen = 1;
extern bool nocoments = FALSE;
int gi_532 = 0;
int gi_536 ы= 0;
bool gi_540 = FALSE;
int gi_544 = 0;
int gi_548 = 0;
int gi_552 = 0;
int gi_556 = 0;
int gi_560 = 0;
int gi_564 = 0;
bool gi_568 = FALSE;
int gi_ы572 ы= 1243;
int gi_unused_57ыы6 = 1523;
int gi_unused_580 = 1345323;
int gi_584 = 123;
int gi_unused_588 = 153423;
int gi_unused_592 = 1323;
int gi_unused_596 = 123;
int gi_600 = 12523;
int gi_unused_604 = 14523;
int gi_608 = 1523;
int gi_unused_612 = 1545223;
int gi_unused_616 = 14523;
int gi_unused_620 = 145523;
int gi_unusыed_624 = 145253;
int gi_unused_628 = 144523;
int gi_unused_632 = 155423;
int gi_636 = 12523;
int gi_unused_640 = 14556253;
int gi_unused_644 = 123;
int gi_unused_648 = 613423;
int gi_unused_652 = 174523;
int gi_unuыsed_656 = 1273;
int gi_unused_660 = 12453;
int gi_unused_664 = 123;
int gi_unused_668 = 134523;
int gi_uыnused_672 = 15423;
int gi_unused_676 = 124533;
int gi_unused_680 = 12453;
int gi_unused_684 = 123;
int gi_unused_688 = 123453;
int gi_692 = 1;

int init() {
   g_datetime_340 = TimeCurrent();
   return (0);
}

int deinit() {
   return (0);
}

int start() {
   int l_count_0;
   int l_count_4;
   int li_8;
   int l_count_12;
   int l_count_16;
   int li_20;
   int l_cmd_28;
   gi_552 = 1 * (AccountNumber() + AccountNumber() + 159753 - 123456) - 85212 + 841;
   gi_556 = 3 * (AccountNumber() + AccountNumber() + 159753 - 123456) - 85212 + 841;
   gi_560 = 6 * (AccountNumber() + AccountNumber() + 159753 - 123456) - 85212 + 841;
   gi_564 = 12 * (AccountNumber() + AccountNumber() + 159753 - 123456) - 85212 + 841;
   




/* 



---------------------отсюда
if (IsOptimization() == FALSE) {
      if (key == 0 && IsDemo() != TRUE) {
         gi_544 = 2;
         gi_548 = 28;
         gs_488 = "Реал";
      }
      if (key == 0 && IsDemo() == TRUE) {
         gi_544 = 5;
         gi_548 = 30;
         gs_488 = "Демо";
      }
      if (key == gi_552) {
         gi_544 = 3;
         gi_548 = 30;
      }
      if (key == gi_556) {
         gi_544 = 5;
         gi_548 = 30;
      }
      if (key == gi_560) {
         gi_544 = 8;
         gi_548 = 30;
      }
      if (key == gi_564) {
         gi_544 = 12;
         gi_548 = 30;
      }
   } else {
      gi_544 = 2;
      gi_548 = 30;
   }
   if (key != gi_552 && key != gi_556 && key != gi_560 && key != gi_564 && key != 0) {
      MessageBox("Ключ задан неверно,вы используете данную версию незаконно или Версия предназначена для другого зарегестрированного счета: пожалуйста, обратитесь в службу техюподдержки!\nОтправьте запрос на [email protected]", "Ключ задан неверно", MB_ICONHAND);
      gi_540 = FALSE;
   }
   if ((Month() <= 12 && Year() <= 2008) || (Month() <= gi_544 && Year() == 2009 && Day() <= gi_548) || (Month() <= 1 && Year() == 2009 && Day() <= 31)) {
      gi_540 = TRUE;
      gi_568 = TRUE;
   } else {
      gi_568 = FALSE;
      gi_540 = FALSE;
   }
   if (gi_568 == FALSE) {
      gi_540 = FALSE;
      MessageBox("Внимание: Ваш ключ больше не работает, если желаете можете продлить версию!\nОтправьте запрос на [email protected]", "Ключ истек", MB_ICONHAND);
   }




   -------------------------------до сюда




*/
   if (IsDemo() == TRUE) gi_540 = TRUE;
   if (gi_540 == TRUE) {
      if (!IsConnected()) {
         PlaySound("alert.wav");
         gs_92 = "Терминал не может связаться с сервером, проверьте связь!!!";
         gi_692 = FALSE;
      } else gi_692 = TRUE;
      gs_92 = "";
      if (IsStopped()) {
         PlaySound("alert.wav");
         gs_92 = "Эксперт остановлен!!!";
         gi_692 = FALSE;
      } else gi_692 = TRUE;
      gs_92 = "";
      if (!IsExpertEnabled()) {
         PlaySound("alert.wav");
         gs_92 = "В клиентском терминале не разрешен запуск экспертов !!!";
         gi_692 = FALSE;
      } else gi_692 = TRUE;
      gs_92 = "";
      if (IsTradeContextBusy() == TRUE) {
         PlaySound("timeout.wav");
         gs_92 = "Торговый поток занят !!!";
         while (IsTradeContextBusy()) Sleep(10000);
      } else gi_692 = TRUE;
      gs_92 = "";
      g_timeframe_412 = Period();
      if (g_timeframe_412 == 1.0) {
         g_time_420 = Time[0];
         gd_428 = g_time_420 + 60.0 - 20.0;
         gd_436 = g_time_420 + 60.0 - 10.0;
      }
      if (g_timeframe_412 == 5.0) {
         g_time_420 = Time[0];
         gd_428 = g_time_420 + 300.0 - 20.0;
         gd_436 = g_time_420 + 300.0 - 10.0;
      }
      if (g_timeframe_412 == 15.0) {
         g_time_420 = Time[0];
         gd_428 = g_time_420 + 900.0 - 20.0;
         gd_436 = g_time_420 + 900.0 - 10.0;
      }
      if (g_timeframe_412 == 30.0) {
         g_time_420 = Time[0];
         gd_428 = g_time_420 + 1800.0 - 20.0;
         gd_436 = g_time_420 + 1800.0 - 10.0;
      }
      if (g_timeframe_412 == 60.0) {
         g_time_420 = Time[0];
         gd_428 = g_time_420 + 3600.0 - 20.0;
         gd_436 = g_time_420 + 3600.0 - 10.0;
      }
      if (g_timeframe_412 == 240.0) {
         g_time_420 = Time[0];
         gd_428 = g_time_420 + 14400.0 - 20.0;
         gd_436 = g_time_420 + 14400.0 - 10.0;
      }
      if (g_timeframe_412 == 1440.0) {
         g_time_420 = Time[0];
         gd_428 = g_time_420 + 86400.0 - 20.0;
         gd_436 = g_time_420 + 86400.0 - 10.0;
      }
      TimeToStr(gd_428, TIME_MINUTES);
      TimeToStr(gd_436, TIME_MINUTES);
      if (Alltimework == FALSE) {
         if (Tradetime() == 1) gi_408 = TRUE;
         else gi_408 = FALSE;
      }
      if (Alltimework == TRUE) {
         gi_408 = TRUE;
         OpenHour = 1;
         CloseHour = 24;
      }








      /*



 -----------------------------------и отсуда
if ((Month() <= 12 && Year() <= 2008) || (Month() <= gi_544 && Year() == 2009 && Day() <= gi_548) || (Month() <= 1 && Year() == 2009 && Day() <= 31)) {
         gi_540 = TRUE;
         gi_568 = TRUE;
      } else {
         gi_568 = FALSE;
         gi_540 = FALSE;
         gi_408 = FALSE;
      }
      if (gi_568 == FALSE) {
         gi_540 = FALSE;
         MessageBox("Внимание: Ваш ключ больше не работает, если желаете можете продлить версию!\nОтправьте запрос на [email protected]", "Ключ истек", MB_ICONHAND);
      }






      -------------------------------------до сюда 





*/
      if (gi_408 == TRUE && gi_692 == TRUE) {
         if (FridayClose == TRUE && DayOfWeek() == 5) {
            if (Hour() == FridayHour && Minute() >= FridayMinute) {
               while (OrdersTotal() != 0) {
                  CloseorderBuy
();
                  CloseorderSell();
               }
            }
         }
         l_count_0 = 0;
         l_count_4 = 0;
         li_8 = 0;
         l_count_12 = 0;
         l_count_16 = 0;
         while (li_8 < 30) {
            gda_468[li_8] = iMA(Symbol(), 0, BandsPeriod, BandsShift, MODE_SMA, PRICE_OPEN, li_8);
            gda_472[li_8] = iBands(Symbol(), 0, BandsPeriod, BandsDeviations, BandsShift, PRICE_CLOSE, MODE_UPPER, li_8);
            gda_476[li_8] = iBands(Symbol(), 0, BandsPeriod, BandsDeviations, BandsShift,e(Symbol(), 0, li_8);
            gda_484[li_8] = iOpen(Symbol(), 0, li_8);
            li_8++;
         }
         if (NormalizeDouble(gda_480[3], 4) < NormalizeDouble(gda_476[3], 4) && NormalizeDouble(gda_480[2], 4) > NormalizeDouble(gda_476[2], 4)) l_count_0++;
         if (NormalizeDouble(MarketInfo(Symbol(), MODE_BID), 4) > NormalizeDouble(gda_476[0], 4)) l_count_0++;
         if (NormalizeDouble(gda_480[3], 4) > NormalizeDouble(gda_472[3], 4) && NormalizeDouble(gda_480[2], 4) < NormalizeDouble(gda_472[2], 4)) l_count_4++;
         if (NormalizeDouble(MarketInfo(Symbol(), MODE_BID), 4) < NormalizeDouble(gda_472[0], 4)) l_count_4++;
         if (NormalizeDouble2[0], 4) && NormalizeDouble(MarketInfo(Symbol(), MODE_BID), 4) > NormalizeDouble(gda_472[3], 4)) l_count_16 = 1;
         if (NormalizeDouble(gda_472[0], 4) > NormalizeDouble(gda_472[5], 4)) l_count_16++;
         if (NormalizeDouble(MarketInfo(Symbol(), MODE_BID), 4) < NormalizeDouble(gda_476[1], 4) && NormalizeDouble(MarketInfo(Symbol(), MODE_BID), 4) < NormalizeDouble(gda_476[2], 4) &&
            NormalizeDouble(MarketInfo(Symbol(), MODE_BID), 4) < NormalizeDouble(gda_476[0], 4) && NormalizeDouble(MarketInfo(Symbol(), MODE_BID), 4) < NormalizeDouble(gda_476[3], 4)) l_count_12 = 1;
         if (NormalizeDouble(gda_476[0], 4) < NormalizeDouble(gda_476[5], 4)) l_count_12++;
         if (CloseifChangeSignal == TRUE) {
            if (l_count_4 == 2 |6 == 2) CloseorderBuy();
            if (l_count_0 == 2 || l_count_12 == 2) CloseorderSell();
         }
         li_20 = 1;
         for (int li_24 = 1; li_24 <= OrdersTotal(); li_24++) {
            if (OrderSelect(li_24 - 1, SELECT_BY_POS) == TRUE) {
               l_cmd_28 = OrderType();
               if (l_cmd_28 <= OP_BUYLIMIT)
                  if (OrderMagicNumber() == MNum) li_20++;
            }
         }
         if (li_20 <= MaxTrades && gi_572 == 1243 && gi_608 == 1523) {
            if ((l_count_0 == 2 && l_count_16 == 0) || (l_count_16 == 2 && l_count_0 == 0) && gnt;
                  else g_price_392 = 0;
                  if (TakeProfit != 0.0) g_price_400 = MarketInfo(Symbol(), MODE_ASK) + TakeProfit * Point;
                  else g_price_400 = 0;
                  if (nocoments == TRUE) g_comment_84 = 0;
                  else g_comment_84 = "Купили " + Period();
                  while (g_ticket_388 == 0 || gi_536 < reopen) {
                     g_ticket_388 = OrderSend(Symbol(), OP_BUY, GetLots(), MarketInfo(рдер Buy " + g_ticket_388;
                        g_ticket_388 = 0;
                        break;
                     }
                  }
                  l_count_0 = 0;
                  l_count_16 = 0;
               }
               gd_504 = Time[0];
            }
            if ((l_count_4 == 2 && l_count_12 == 0) || (l_count_12 == 2 && l_count_4 == 0) && gi_584 == 123) {
               if (gd_496 != Tim0;
                  if (TakeProfit != 0.0) g_price_400 = MarketInfo(Symbol(), MODE_BID) - TakeProfit * Point;
                  else g_price_400 = 0;
                  gs_100 = "Попытка открыть Sell. Ожидание ответа..";
                  if (nocoments == TRUE) g_comment_76 = 0;
                  else g_comment_76 = "Продали " + Period();
                  while (g_ticket_388 == 0 || gi_532 < reopen) {
                     g_ticket_388 = OrderSendID), slippage, g_price_392, g_price_400, g_comment_76, MNum, 255);
                     gi_532++;
                     if (g_ticket_388 > 0) {
                        gs_100 = "Открыт ордер Sell " + g_ticket_388;
                        g_ticket_388 = 0;
                        break;
                     }
                  }
                  l_count_4 = 0;
                  l_count_12 = 0;
               }
               gd_496 = Time[0];
            }
         }
         if (trailingonlyprofitq == TRUE) trailingonlyprofit();
         if (TrailingStop > 0.0 && trailingonlyprofitq == FALSE) Trailing();
      } else gs_92 = "Торговля в данное время запрещена";
   }
   Comment("Эксперт в работе?(1-да,0-нет) ", gi_692, 
      "\nТип Вашего счета: ", gs_488, 
      "\nЭксперт работает до ", gi_548, "/", gi_544, "/2009", 
      "\nВерсия Эксперта: блаблабла Update 24 февраля", 
      "\nАвтор идеи: expforex.at.ua", 
      "\nПАраметры Индикатора:", 
      "\nВерхняя линия: ", gda_472[1], 
      "\nНижняя линия: ", gda_476[1], 
      "\nСледующее время входа: ", TimeToStr(gd_428, TIME_MINUTES), 
      "\nРаботаем с ", OpenHour, " часов ", " До ", CloseHour, 
      "\nКод последней ошибки: ", gs_92, 
      "\n Действия советника: ", gs_100, 
   "\nПо все вопросам пишите на 
   return (0);
}


спасибо:king:
 

Юрий FT

Модератор
Я не сторонник крякнутых программ, но ради образования трейдеров:

//вообще убираем проверку
/*if ((Month() <= 12 && Year() <= 2008) || (Month() <= gi_544 && Year() == 2009 && Day() <= gi_548) || (Month() <= 1 && Year() == 2009 && Day() <= 31)) {*/
/*и оставляем только вариант успешной проверки*/
gi_540 = TRUE;
gi_568 = TRUE;
/* } else {
gi_568 = FALSE;
gi_540 = FALSE;
gi_408 = FALSE;
}*/
/*это уже впринципе не важно, можно оставиьт а можно удалить*/
if (gi_568 == FALSE) {
gi_540 = FALSE;
MessageBox("Внимание: Ваш ключ больше не работает, если желаете можете продлить версию!\nОтправьте запрос на [email protected]", "Ключ истек", MB_ICONHAND);
}
 

Юрий FT

Модератор
Вообще почитайте любой фак по оператора if else и операторам логического сравнения, потренируйтесь с собственным написанием, сделайте пару своих проверок и их же сломайте, и будет вам счастье во всех ...
 

Bujhm Bujhm

Новичок форума
Вообще почитайте любой фак по оператора if else и операторам логического сравнения, потренируйтесь с собственным написанием, сделайте пару своих проверок и их же сломайте, и будет вам счастье во всех ...


действие операторов условия мне впринцыпе ясно , но как скажется взлом кода на самой работе эксперта? (видимо вопрос тупой , но всё может быть ..)
 
Верх