Офф-топ » Общение на свободные темы » Помогите подправить советник
+ Подписаться
Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя
  1. 282
    Комментарии
    4
    Темы
    282
    Репутация Pro
    Аватар для morze  
    В начале пути

    2 Медалей
    Цитата Сообщение от DECIDE Посмотреть сообщение
    хотел глянуть(Фунт.rar), но там не исходный код, а скомпилированный
    а другого у меня нет:weep:
  2. 4,819
    Комментарии
    10
    Темы
    4852
    Репутация Pro
    Аватар для Максимъ  
    Снеговик-флудовик

    5 Медалей
    Цитата Сообщение от morze Посмотреть сообщение
    а другого у меня нет:weep:
    Тогда беда. Ищи декомпилятор. Один человек, помнится, бесплатно декомпилировал. Только помни - это уголовнонаказуемо. :D
  3. 75
    Комментарии
    0
    Темы
    75
    Репутация Pro
    Аватар для vladimir123  
    В начале пути

    2 Медалей
    Э-э-эххх молодеЖ-Ж!

    Вот Ваш файл...

    И вот САМ кхе-кхе ССЫЛКА
    Вложения Вложения
  4. 4,819
    Комментарии
    10
    Темы
    4852
    Репутация Pro
    Аватар для Максимъ  
    Снеговик-флудовик

    5 Медалей
    Цитата Сообщение от vladimir123 Посмотреть сообщение
    Э-э-эххх молодеЖ-Ж!
    Спасибо за старания, но криминалом не занимаемся. :)
  5. 282
    Комментарии
    4
    Темы
    282
    Репутация Pro
    Аватар для morze  
    В начале пути

    2 Медалей
    Цитата Сообщение от vladimir123 Посмотреть сообщение
    Э-э-эххх молодеЖ-Ж!

    Вот Ваш файл...

    И вот САМ кхе-кхе ССЫЛКА
    СПАСИБО!!!!
  6. 282
    Комментарии
    4
    Темы
    282
    Репутация Pro
    Аватар для morze  
    В начале пути

    2 Медалей
    Макс может теперь поправишь советник?
  7. 4,819
    Комментарии
    10
    Темы
    4852
    Репутация Pro
    Аватар для Максимъ  
    Снеговик-флудовик

    5 Медалей
    Цитата Сообщение от morze Посмотреть сообщение
    Макс может теперь поправишь советник?
    Теперь подправлю, если код получен не преступным путем... :evil:

    Выложи на форум в BB-коде CODE /CODE
  8. 282
    Комментарии
    4
    Темы
    282
    Репутация Pro
    Аватар для morze  
    В начале пути

    2 Медалей
    Цитата Сообщение от Максимъ Посмотреть сообщение

    Выложи на форум в BB-коде CODE /CODE
    Это как? А то я совсем в этом нечего непонимаю!
  9. 4,819
    Комментарии
    10
    Темы
    4852
    Репутация Pro
    Аватар для Максимъ  
    Снеговик-флудовик

    5 Медалей
    Цитата Сообщение от morze Посмотреть сообщение
    Это как? А то я совсем в этом нечего непонимаю!
    1. Открой файл с расширением .mq4.
    2. Выдели все (Ctrl+A).
    3. Скопируй все (Ctrl+C).
    4. Вставь в сообщение BB-код [CODE] и закрывающий к нему тег.
    5. Вставь на форум (Ctrl+V) между открывающим и закрывающим [CODE].
  10. 282
    Комментарии
    4
    Темы
    282
    Репутация Pro
    Аватар для morze  
    В начале пути

    2 Медалей
    Код:
    /*
       Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
       Website: http://purebeam.biz
       E-mail : purebeam@gmail.com
    */
    #property copyright "Copyright © 2008, Leurn"
    #property link      "leurnforex@mail.ru"
    
    extern string FridayTimeToSet = "22:50";
    extern bool WaitNewBarAtStart = TRUE;
    extern double Lots = 1.0;
    extern int TakeProfit = 150;
    extern int StopLoss = 5;
    extern int TrailStop = 20;
    extern int TrailStep = 5;
    extern string OrdersComment = "Cerpiy";
    int g_pos_120;
    int g_magic_124;
    int g_stoplevel_128;
    int g_spread_132;
    double g_lots_136;
    double g_price_144;
    double g_price_152;
    double g_maxlot_160;
    double g_minlot_168;
    double g_lotstep_176;
    double g_price_184;
    double g_price_192;
    string g_comment_200;
    bool gi_208;
    bool gi_212;
    bool gi_216;
    bool gi_220;
    bool gi_224;
    bool gi_228;
    int g_datetime_232;
    int g_str2time_236;
    
    int init() {
       g_magic_124 = StringGetChar(Symbol(), 0) + 61008 + StringGetChar(Symbol(), 1) * 2 + 3 * StringGetChar(Symbol(), 3) + StringGetChar(Symbol(), 4) << 2;
       g_maxlot_160 = MarketInfo(Symbol(), MODE_MAXLOT);
       g_minlot_168 = MarketInfo(Symbol(), MODE_MINLOT);
       g_lotstep_176 = MarketInfo(Symbol(), MODE_LOTSTEP);
       g_lots_136 = GlobalVariableGet("SHI_Lots");
       if (g_lots_136 <= 0.0) g_lots_136 = Lots;
       if (g_lots_136 < g_minlot_168) g_lots_136 = g_minlot_168;
       else {
          if (g_lots_136 > g_maxlot_160) g_lots_136 = g_maxlot_160;
          else g_lots_136 = NormalizeDouble(g_lots_136 / g_lotstep_176, 0) * g_lotstep_176;
       }
       gi_212 = FALSE;
       g_datetime_232 = 0;
       g_price_184 = 0;
       g_price_192 = 0;
       g_comment_200 = OrdersComment + " Magic#=" + g_magic_124;
       return (0);
    }
    
    int start() {
       if (!IsTesting()) {
          if (!IsExpertEnabled()) {
             Comment("В торговом терминале запрещён запуск экспертов.");
             return (0);
          }
          if (!IsTradeAllowed()) {
             Comment("Торговля запрещена или торговый поток занят.");
             return (0);
          }
          Comment("");
       }
       g_stoplevel_128 = MarketInfo(Symbol(), MODE_STOPLEVEL);
       g_spread_132 = MarketInfo(Symbol(), MODE_SPREAD);
       g_str2time_236 = StrToTime(FridayTimeToSet);
       if (!WaitNewBarAtStart) gi_208 = TRUE;
       else {
          if (DayOfWeek() == 5) {
             if (g_datetime_232 == 0) g_datetime_232 = iTime(NULL, PERIOD_D1, 0);
             if (g_datetime_232 < iTime(NULL, PERIOD_D1, 0)) gi_208 = TRUE;
             else {
                if (g_datetime_232 == iTime(NULL, PERIOD_D1, 0) && TimeCurrent() >= g_str2time_236) gi_208 = TRUE;
                else gi_208 = FALSE;
             }
          } else {
             if (g_datetime_232 == 0) g_datetime_232 = iTime(NULL, PERIOD_D1, 0);
             if (g_datetime_232 < iTime(NULL, PERIOD_D1, 0)) gi_208 = TRUE;
             else gi_208 = FALSE;
          }
       }
       if (gi_208 && !gi_212 && g_price_184 == 0.0 && g_price_192 == 0.0) {
          if (DayOfWeek() == 5 && TimeCurrent() >= g_str2time_236) {
             g_price_184 = NormalizeDouble(iHigh(NULL, PERIOD_D1, 0) + g_spread_132 * Point, Digits);
             g_price_192 = NormalizeDouble(iLow(NULL, PERIOD_D1, 0), Digits);
          } else {
             g_price_184 = NormalizeDouble(iHigh(NULL, PERIOD_D1, 1) + g_spread_132 * Point, Digits);
             g_price_192 = NormalizeDouble(iLow(NULL, PERIOD_D1, 1), Digits);
          }
       }
       if (!gi_212 && Ask + g_stoplevel_128 * Point > g_price_184 && g_price_184 > 0.0) {
          Comment("УРОВЕНЬ ОРДЕРА BUYSTOP - ", DoubleToStr(g_price_184, Digits), " СЛИШКОМ БЛИЗОК К ТЕКУЩЕЙ ЦЕНЕ!!!");
          return (0);
       }
       if (!gi_212 && Bid - g_stoplevel_128 * Point < g_price_192 && g_price_192 > 0.0) {
          Comment("УРОВЕНЬ ОРДЕРА SELLSTOP - ", DoubleToStr(g_price_192, Digits), " СЛИШКОМ БЛИЗОК К ТЕКУЩЕЙ ЦЕНЕ!!!");
          return (0);
       }
       Comment("");
       gi_216 = FALSE;
       gi_220 = FALSE;
       for (g_pos_120 = OrdersTotal() - 1; g_pos_120 >= 0; g_pos_120--) {
          OrderSelect(g_pos_120, SELECT_BY_POS);
          if (OrderSymbol() != Symbol() || OrderMagicNumber() != g_magic_124 || OrderType() > OP_SELL) continue;
          if (OrderType() == OP_SELL) {
             gi_220 = TRUE;
             if (TrailStop >= g_stoplevel_128) {
                if (OrderOpenPrice() - Ask > TrailStop * Point && OrderStopLoss() > OrderOpenPrice() || OrderStopLoss() == 0.0) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0, CLR_NONE);
                else
                   if (OrderOpenPrice() - Ask > TrailStop * Point && OrderStopLoss() > Ask + (TrailStop + TrailStep) * Point && OrderStopLoss() <= OrderOpenPrice()) OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Ask + TrailStop * Point, Digits), OrderTakeProfit(), 0, CLR_NONE);
             }
          } else {
             if (OrderType() == OP_BUY) {
                gi_216 = TRUE;
                if (TrailStop >= g_stoplevel_128) {
                   if (Bid - OrderOpenPrice() > TrailStop * Point && OrderStopLoss() < OrderOpenPrice()) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0, CLR_NONE);
                   else
                      if (Bid - OrderOpenPrice() > TrailStop * Point && OrderStopLoss() < Bid - (TrailStop + TrailStep) * Point && OrderStopLoss() >= OrderOpenPrice()) OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Bid - TrailStop * Point, Digits), OrderTakeProfit(), 0, CLR_NONE);
                }
             }
          }
       }
       gi_224 = FALSE;
       gi_228 = FALSE;
       for (g_pos_120 = OrdersTotal() - 1; g_pos_120 >= 0; g_pos_120--) {
          OrderSelect(g_pos_120, SELECT_BY_POS);
          if (OrderSymbol() != Symbol() || OrderMagicNumber() != g_magic_124 || OrderType() <= OP_SELL) continue;
          if (OrderType() == OP_SELLSTOP) {
             if (gi_216) OrderDelete(OrderTicket());
             else gi_228 = TRUE;
          } else {
             if (OrderType() == OP_BUYSTOP) {
                if (gi_220) OrderDelete(OrderTicket());
                else gi_224 = TRUE;
             }
          }
       }
       if (gi_228 && gi_224) {
          gi_212 = TRUE;
          g_datetime_232 = iTime(NULL, PERIOD_D1, 0);
       }
       if (gi_212 && !gi_220 && !gi_228 && !gi_216 && !gi_224) {
          gi_212 = FALSE;
          g_price_184 = 0;
          g_price_192 = 0;
          return (0);
       }
       RefreshRates();
       if (!gi_216 && !gi_224 && gi_208 && !gi_212) {
          if (StopLoss < g_stoplevel_128 + g_spread_132) g_price_144 = g_price_192;
          else g_price_144 = NormalizeDouble(g_price_184 - StopLoss * Point, Digits);
          if (TakeProfit < g_stoplevel_128 - g_spread_132 || TakeProfit == 0) g_price_152 = 0;
          else g_price_152 = NormalizeDouble(g_price_184 + TakeProfit * Point, Digits);
          OrderSend(Symbol(), OP_BUYSTOP, g_lots_136, g_price_184, 0, g_price_144, g_price_152, g_comment_200, g_magic_124, 0, Red);
       }
       if (!gi_220 && !gi_228 && gi_208 && !gi_212) {
          if (StopLoss < g_stoplevel_128 + g_spread_132) g_price_144 = g_price_184;
          else g_price_144 = NormalizeDouble(g_price_192 + StopLoss * Point, Digits);
          if (TakeProfit < g_stoplevel_128 - g_spread_132 || TakeProfit == 0) g_price_152 = 0;
          else g_price_152 = NormalizeDouble(g_price_192 - TakeProfit * Point, Digits);
          OrderSend(Symbol(), OP_SELLSTOP, g_lots_136, g_price_192, 0, g_price_144, g_price_152, g_comment_200, g_magic_124, 0, Blue);
       }
       return (0);
    }

Вверх
РегистрацияX

чтобы писать, читать, комментировать