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

 

2stringo

Человек вообще мог скачать это с форума, где это добро лежит в открытом доступе.

Вот пожалуйста. https://www.mql5.com/ru/forum/134688/page573#594676

Теперь что, мы все, которые читаем этот форум и тянем куски кода себе - декомпилеры? Уж ответьте тоже здесь, будьте добры.

 
stringo:

В ближайшем будущем (в следующем билде) будет явная настройка спреда при тестировании. Уже сделали. Тестируем эту фичу.
Если это будет реализовано просто опцией в тестере, то от этого мало толку, так как реальный спред все время меняется. Притом разница в разы. Да и мы уже много лет и так его меняем своими средствами, и тестим при отключенном от сети терминале. Вот если бы была бы возможность импортировать файлы с асками и бидами с созданием автономных файлов hst и тестирование по ним без задания спреда. Вот это была бы революция. У многих брокеров сейчас можно взять историю с асками (FXOpen, RVD, FXCM и др.), а с применением такого режима, я думаю многие стали бы давть историю с асками. Такие тесты были бы уже значительно точнее. Из моего опыта, тестирование по средним спредам и тестирование при помощи скриптов, моделирующих тестер с асками и бидами дает результаты различающиеся почти в 2 раза, притом с учетом реальных спредов, как правило хуже. И я уже не мыслю тесты со средним спредом. Все, эра постоянных спредов закончилась и Вам как разработчикам это нужно четко уяснить. Пока Вам везет что нету особой альтернативы МТ4, поэтому Вы скорее и ленитесь и тянете резину как проще.
 
stringo:

Только не этого. Предъявите Ваши доказательства. Здесь.
Использованные мною функции лежат свободно в нете (скорее всего брал по первой ссылке) и уверен используются многими. Давайте и всех их объявим пиратами. Еще раз спасибо Gans-deGlucker за оказанную не только мне, и наверняка еще многим помощь. Только представил себе, что мог бы копаться в коде до скончания века, компилятор то не ругается: ошибок нет, где рыть непонятно.
 
stringo:
Поясните Вашу мысль. Я даже не понял, о чём Вы. Понимаю, что у Вас наболело. Но не понимаю, что.
У меня 500 билд уже чуть ли не нервный тик вызывает. А косяков не убавляется, а совсем наоборот.
 
stringo:

Решил проверить сам.

Модифицировал один из наших самых старых тестов. Компилируется. И работает.


Данный код уже не компилируется:

 

void start()
  {
   int    __res_int=0,i,start_time;
   double res_double=0;
//----
   start_time=GetTickCount();
   for(i=0;i<=10000000;i++)
     {
      __res_int+=i*i;
      __res_int++;
      res_double+=i*i;
      res_double++;
     }
   start_time=GetTickCount()-start_time;
//----
   Print("Time: ",start_time," ms, ResInt=",__res_int," ResDouble=",res_double);
//----
int l_iclose_32;
int l_iclose_24;
 l_iclose_32=l_iclose_24;
l_iclose_32=l_iclose_24;
 l_iclose_32=l_iclose_24;
l_iclose_32=l_iclose_24;
 l_iclose_32=l_iclose_24;
l_iclose_32=l_iclose_24;
 l_iclose_32=l_iclose_24;
l_iclose_32=l_iclose_24;
 l_iclose_32=l_iclose_24;
l_iclose_32=l_iclose_24;
 l_iclose_32=l_iclose_24;
l_iclose_32=l_iclose_24;
 l_iclose_32=l_iclose_24;
l_iclose_32=l_iclose_24;
 l_iclose_32=l_iclose_24;
l_iclose_32=l_iclose_24;
 l_iclose_32=l_iclose_24;
l_iclose_32=l_iclose_24;

получите в место компиляции - кукиш.

}

 

как уже ранее говорилось, чем больше повторяется "плохой" идентификатор тем больше возможность, что получите в место компиляции - кукиш.

можете попробовать оставить только две строки:

l_iclose_32=l_iclose_24;

l_iclose_32=l_iclose_24; 

и компиляция произайдет.
 

Я думаю все же проблема с компиляцией именно декомпилированных вещей - это не проблема. 

Например код вида:

string asd()

  {
   int a=2546546454645641;
   int b=26456565446543;
   int c=a+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+
   c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+
   b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+
   a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+
   b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+
   c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+
   b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+
   a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+
   b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+
   c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a+b+c+b+a;
  }


bool kjas;
int fake;
bool asd2=false;
int start()
  {

   if(kjas==true)fake=StrToDouble(asd());
   Print("GOOD");
  }

 Свободно компилируется. на 500 билде

и выводит в журнал:

2013.06.04 13:55:57	test EURUSD,M15: removed
2013.06.04 13:55:57	test EURUSD,M15: uninit reason 0
2013.06.04 13:55:57	test EURUSD,M15: GOOD
2013.06.04 13:55:57	test EURUSD,M15: loaded successfully

 

Заметили, что не компилируется код, в котором переменные начинаются с цифры?

Это запрещено документацией. Просто раньше это прокатывало. Теперь нельзя. Надо в компилятор добавить идентификацию и вывод ошибки при этом. 

 
lilit:

Данный код уже не компилируется:

 

 

как уже ранее говорилось, чем больше повторяется "плохой" идентификатор тем больше возможность, что получите в место компиляции - кукиш.

можете попробовать оставить только две строки:

l_iclose_32=l_iclose_24;

l_iclose_32=l_iclose_24; 

и компиляция произайдет.

lilit, скажите честно, зачем Вы так именуете переменные?

Вы хотите поймать МетаКвотс на чём?

Я уже вижу жульничество. Вы скачали в открытом доступе декомпил и делаете невинное лицо "я же в открытом доступе это скачала".

Вы покупаете в ломбарде ворованные видерегистраторы? Нет. Ок. Кто-то мог подарить Вам за просто так видеорегистратор. Он немного покоцанный, на SD-карточке ещё есть 3-минутные записи поездок прежнего владельца. Но чего волноваться, Вы же не разбивали правое боковое стекло у автомобиля - это сделал какой-то наркоман. А вы - чисты.

 
stringo:

lilit, скажите честно, зачем Вы так именуете переменные?

Вы хотите поймать МетаКвотс на чём?

Я уже вижу жульничество. Вы скачали в открытом доступе декомпил и делаете невинное лицо "я же в открытом доступе это скачала".

Вы покупаете в ломбарде ворованные видерегистраторы? Нет. Ок. Кто-то мог подарить Вам за просто так видеорегистратор. Он немного покоцанный, на SD-карточке ещё есть 3-минутные записи поездок прежнего владельца. Но чего волноваться, Вы же не разбивали правое боковое стекло у автомобиля - это сделал какой-то наркоман. А вы - чисты.


Я не сторонница, ворованного! 

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

Для вас все одинаковы, несмотря на то что было изначально, взял ли человек функцию:

       for (g_pos_316 = OrdersTotal() - 1; g_pos_316 >= 0; g_pos_316--){      <--- которая не является, чем то уникальным и с точки программирования,

или вес советник.

Я уже ранее писала что не ворую код, я его изучаю, и много раз идею одного кода реализовала в совсем другой интерпритации. 

Для того и пишется книги чтоб учиться, представте что было бы если все свои знания держали только при себе. У вас бы небыло этой работы! 

 

P.S. "Вы хотите поймать МетаКвотс на чём?" - я просто хочу понятних условий для всех сторон, чтоби вы к пользователам МТ4 относились как вашим товарищам по идее а не как "лохам" которые нечего несмислят. 

 
stringo:

lilit, скажите честно, зачем Вы так именуете переменные?

Вы не можете утверждать что это декомпил. Вам это в любом суде скажут.