Новый 500 билд MetaTrader 4: Торговля с чарта и сайт компании в клиентском терминале - страница 39

lilita
35
lilita  
1. пока терминал билд 500 и старше будет читать *.ex4 файлы скомпилирование ранними версиями metaeditor.exe, борьба с пиратсвом - только на словах.
2. раз MetaQuotes Software Corp взела на себя роль судьи, то надо понимать что вы способствуйте распространению плагиата. Так как переделаний декомпил, будет компилирован и тем самым станет легальным. 
3. нету дима без огня - потому я не верю в безкористность борцов за правду. Я думаю что это связано с идеей навезать пользователам свой продукт: Code Base, сигналы и так далее.
lilita
35
lilita  
lilit:
1. пока терминал билд 500 и старше будет читать *.ex4 файлы скомпилирование ранними версиями metaeditor.exe, борьба с пиратсвом - только на словах.
2. раз MetaQuotes Software Corp взела на себя роль судьи, то надо понимать что вы способствуйте распространению плагиата. Так как переделаний декомпил, будет компилирован и тем самым станет легальным. 
3. нету дима без огня - потому я не верю в безкористность борцов за правду. Я думаю что это связано с идеей навезать пользователам свой продукт: Code Base, сигналы и так далее.


Да и невозможно запретить МТ4 читать раннее скомпилированные *.ex4 файлы. Так как разработчики советников врятли будет всем своим клиентам (купившим продукт), висилать перекомпилирование, буильдom 500 и старше, версии купленых советников. И сами MetaQuotes Software Corp с "Code Base" тогда попадает в ту же яму.

Пока на реальних счетах будет работать билды от 451 и моложе, на данный момент принудительно можо обновить токо пользователей демо акаунтов, все попытки глобально повлиять на использование ломаных советников в заробативании денег, приводит на НЕТ. 

P.S. Последняя версия metaeditor.exe больше похожа на дефект, чем на эффект. Потому что в корне проблему нерешает, только создает ощущение "ненадежности продукта".

Somm2
14
Somm2  
Gans-deGlucker:
Возможно у Вас в терминале есть чей-то код, взломанный декомпилятором. Может Вы его и не используете, а он есть. Как про суслика :) Возможно, терминал это каким то образом способен теперь разглядеть. А возможно, Вы забивали в Яндекс или Гугл поисковый запрос "convert ex4 to mq4" ради любопытства. А терминал может в состоянии прочесть ваши куки браузера. Гадать на свечках можно до бесконечности. Мы же по сути ничего не знаем, что может этот терминал. Система абсолютно закрыта для конечного пользователя в данном плане. А все, что касается изменений безопасности, является неразглашаемым.

Код может быть, советники качаю; в поисковиках не искал и, вообще, темой декомпиляции не интересовался. НО, не компилируются именно мои рабочие советники, если же открыть MACD Sample и переименовать в MACD Sample 1 все работает прекрасно. Отсюда могу сделать вывод, что компилятор, что-то не устраивает в моем коде, но он об этом молчит. Интеллектуальная собственность это хорошо, но практическая работа полностью парализована. Огромное спасибо разработчикам за такой вот подарочек(((

Очень хотелось бы получить ответ на традиционный вопрос: Что делать?

Anatoli Kazharski
34205
Anatoli Kazharski  
Zapad755:

Код может быть, советники качаю; в поисковиках не искал и, вообще, темой декомпиляции не интересовался. НО, не компилируются именно мои рабочие советники, если же открыть MACD Sample и переименовать в MACD Sample 1 все работает прекрасно. Отсюда могу сделать вывод, что компилятор, что-то не устраивает в моем коде, но он об этом молчит. Интеллектуальная собственность это хорошо, но практическая работа полностью парализована. Огромное спасибо разработчикам за такой вот подарочек(((

Очень хотелось бы получить ответ на традиционный вопрос: Что делать?

Предоставить код на проверку в Сервисдеск. 
Mikhail Chistyakov
919
Mikhail Chistyakov  
Zapad755:

Код может быть, советники качаю; в поисковиках не искал и, вообще, темой декомпиляции не интересовался. НО, не компилируются именно мои рабочие советники, если же открыть MACD Sample и переименовать в MACD Sample 1 все работает прекрасно. Отсюда могу сделать вывод, что компилятор, что-то не устраивает в моем коде, но он об этом молчит. Интеллектуальная собственность это хорошо, но практическая работа полностью парализована. Огромное спасибо разработчикам за такой вот подарочек(((

Очень хотелось бы получить ответ на традиционный вопрос: Что делать?


Код сюда выложить. Ну порежьте Вы там самое страшное и сверхсекретное оружие-мегаграаль. Поверьте, тут много чего видели. А проблему (если она действительно есть) это поможет решить.
Somm2
14
Somm2  
Gans-deGlucker:

Код сюда выложить. Ну порежьте Вы там самое страшное и сверхсекретное оружие-мегаграаль. Поверьте, тут много чего видели. А проблему (если она действительно есть) это поможет решить.
Предложение кому то попробовать скомпилировать. У меня вместо EX4 создается пустой текстовый документ 
Просьба не пинать, не программист, работает и хорошо.
//+------------------------------------------------------------------+
   //|                                           APVT1109.mq4 |
   //|                                          
   //+------------------------------------------------------------------+ 
 
   //---- input parameters
      
   extern double    MyLots=1;
   extern int       Expert_ID = 1715;
   extern int       ATRN=12;
   extern int       QOPEN=1;
   extern double    Delta=0.004;
   extern double    DeltaTP=0.0014;


   extern int       StartHour=03;
   extern int       ExpHour     = 22;
   extern int       StopHour     = 21;
   extern int       CloseHour     = 23;
     
   //+------------------------------------------------------------------+
   //| expert start function                                    |
   //+------------------------------------------------------------------+  
   
int start()

     {

  
   double TodayMax = iHigh(NULL,PERIOD_D1,0);
   double TodayMin = iLow(NULL,PERIOD_D1,0);
   
   
   double MA0=iMA(NULL,0,1,0,3,PRICE_TYPICAL,0);
   double MA1=iMA(NULL,0,1,0,3,PRICE_TYPICAL,1);
   
   double Piv =iMA(NULL,PERIOD_D1,1,0,3,PRICE_TYPICAL,1);  
   double ATR = iATR(NULL,0,12,0);
   
   
   
   double SELL =NormalizeDouble (Piv+Delta,5);  
   double BUY =NormalizeDouble (Piv-Delta,5); 
    
   datetime NowDay = iTime(Symbol(), PERIOD_D1, 0);
   datetime ExpTime = NowDay + ExpHour*3600;
   
 
    
   double bid   =MarketInfo("EURUSD",MODE_BID); 
   double ask   =MarketInfo("EURUSD",MODE_ASK); 
      
     
      if ((TimeHour(CurTime())>StartHour)&&(TimeHour(CurTime())<StopHour))
        
        {
  Comment ("Pivot=",Piv);        
  
  int QSELL= CountSells(); // количество открытых селлов
  int QSELLSTOP = CountSellStops(); // количество установленных селлстопов

   if ((MA0 >= Piv+0.0015+Delta)&&(QSELL<QOPEN)&&(QSELLSTOP<1))                                                              
     
       {
         int ticket = (OrderSend(Symbol(), OP_SELLSTOP, MyLots, SELL,3,Piv+Delta+ATR*ATRN,Piv+Delta-DeltaTP,"APVT_1210",Expert_ID,ExpTime));
         PlaySound("alert.wav");

       }           
//----------------------------------------------------------------------------------- BuyStop GO_TO_PIV

   int QBUY= CountBuys(); // Количество открытых баев
   int QBUYSTOP = CountBuyStops(); // количество установленных байстопов
   
   
   if ((MA0 <=Piv-0.0015-Delta )&&(QBUY<QOPEN)&&(QBUYSTOP<1) )                                    
     
       {           
        ticket = (OrderSend(Symbol(), OP_BUYSTOP, MyLots, BUY,3, Piv-Delta-ATR*ATRN, Piv-Delta+DeltaTP,"APVT_1210",Expert_ID,ExpTime));
        PlaySound("alert.wav");
       }                         
 
   } 
       
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
  
  
   if (TimeHour(CurTime())==CloseHour) // Проверка времени закрытия всех позиций
  {
//   Print ("Рабочее время закончилось, закрываем позиции");

  
   
    if ( OrdersTotal() > 0  )   
    {
      OrderSelect(0, SELECT_BY_POS, MODE_TRADES );
      if (( OrderType() == OP_BUY )&&(OrderMagicNumber()==Expert_ID)) OrderClose(OrderTicket(),OrderLots(),Bid,30,Red);
//      Print ("Закрыта позиция по тикету =", OrderTicket());
    }
  
    if ( OrdersTotal() > 0  )   
    {
      OrderSelect(0, SELECT_BY_POS, MODE_TRADES );
      if (( OrderType() == OP_SELL )&&(OrderMagicNumber()==Expert_ID)) OrderClose(OrderTicket(),OrderLots(),Ask,30,Red);
//      Print ("Закрыта позиция по тикету =", OrderTicket());
    } 
        

   }
           
          else  return(0);}
          
   //----
         
   //----
      return(0);
   //+------------------------------------------------------------------+


int CountBuys() // Функция расчета количества открытых позиций BUY
   {
   int l_count_4 = 0;
   int l_ord_total_12 = OrdersTotal();
   for (int l_pos_8 = 0; l_pos_8 < l_ord_total_12; l_pos_8++) {
      OrderSelect(l_pos_8, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != Expert_ID) continue;
      if (OrderType() == OP_BUY) l_count_4++;
   }
   return (l_count_4);
}


int CountBuyStops() // Функция расчета количества установленных отложенных ордеров BUYSTOP
   {
   int l_count_4 = 0;
   int l_ord_total_12 = OrdersTotal();
   for (int l_pos_8 = 0; l_pos_8 < l_ord_total_12; l_pos_8++) {
      OrderSelect(l_pos_8, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != Expert_ID) continue;
      if (OrderType() == OP_BUYSTOP) l_count_4++;
   }
   return (l_count_4);
}


// Функция расчета количества открытых позиций SELL

int CountSells() 
   {
   int l_count_4 = 0;
   int l_ord_total_12 = OrdersTotal();
   for (int l_pos_8 = 0; l_pos_8 < l_ord_total_12; l_pos_8++) {
      OrderSelect(l_pos_8, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != Expert_ID) continue;
      if (OrderType() == OP_SELL) l_count_4++;
   }
   return (l_count_4);
}

// Функция расчета количества установленных отложенных ордеров SELLSTOP

int CountSellStops() 
   {
   int l_count_4 = 0;
   int l_ord_total_12 = OrdersTotal();
   for (int l_pos_8 = 0; l_pos_8 < l_ord_total_12; l_pos_8++) {
      OrderSelect(l_pos_8, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != Expert_ID) continue;
      if (OrderType() == OP_SELLSTOP) l_count_4++;
   }
   return (l_count_4);
}
lilita
35
lilita  
Zapad755:
Предложение кому то попробовать скомпилировать. У меня вместо EX4 создается пустой текстовый документ 
Просьба не пинать, не программист, работает и хорошо.

Все претензии к владельцу когда, я только данный код скомпилировала. 
Somm2
14
Somm2  
lilit:

Все претензии к владельцу когда, я только данный код скомпилировала

Скомпилированный запустился, значит что то у меня. Буду писать в сервис. Всем спасибо.
Somm2
14
Somm2  
adamking:
Простите, с 1 июня билд 500 перестал компилировать.. это у Всех так или у меня только??

jegit:

Перестала работать компиляция((((((((((  Грустно

И оптимизация без результатов



Просьба к тем, у кого перестала работать компиляция, попробовать скомпилировать мой код(см. выше) и отписаться. Может это поможет локализовать проблему. 
Mikhail Chistyakov
919
Mikhail Chistyakov  
Zapad755:


Просьба к тем, у кого перестала работать компиляция, попробовать скомпилировать мой код(см. выше) и отписаться. Может это поможет локализовать проблему. 

Проблема локализована и выявлена. Нельзя писать двух "_" в имени переменных. Переименуете - и все нормально откомпилится. Кстати компилится то он и так нормально. Другое дело потом изменить нельзя. В этом, я так понимаю была суть проблемы. Метаквотс, это 5 за "интеллектуальное решение" задачи.