Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1616

 

Привет! Вопрос может не по теме, но может посоветуете какой форум есть. Я в этом деле новичок.

Ситуация такая. Написал советник и выставил на продажу, а через три месяца обнаружил, что мой советник продается нелегально на других сайтах (уже нашел три сайта).

Точнее сказать там не только мой советник продаётся, а можно найти практически любой советник , который есть на сайте Mql5.

Может есть информация  - решают ли программисты Mql5 эту проблему?

Спасибо.

 
Nerd Trader #:

Да, не айс. Так нормально?

Это не эквивалентно Sleep(100)? Ведь пока не выполнится break программа подвиснет в цикле.

Эквивалентно.

И тут-то мы приходим к ООП, где каждая кнопка - экземпляр класса кнопки, каждая со своим обработчиком нажатия кнопки с отслеживанием длительности задержки в собственном таймере.

Либо отслеживание состояний каждой из кнопок в общем таймере программы - если не ООП

 
Mikhail Voropaev #:

Привет! Вопрос может не по теме, но может посоветуете какой форум есть. Я в этом деле новичок.

Ситуация такая. Написал советник и выставил на продажу, а через три месяца обнаружил, что мой советник продается нелегально на других сайтах (уже нашел три сайта).

Точнее сказать там не только мой советник продаётся, а можно найти практически любой советник , который есть на сайте Mql5.

Может есть информация  - решают ли программисты Mql5 эту проблему?

Спасибо.

Скиньте мне в личку URL каждого такого сайта.

 
Artyom Trishkin #:

Эквивалентно.

И тут-то мы приходим к ООП, где каждая кнопка - экземпляр класса кнопки, каждая со своим обработчиком нажатия кнопки с отслеживанием длительности задержки в собственном таймере.

Либо отслеживание состояний каждой из кнопок в общем таймере программы - если не ООП

Про ООП понятно, а вот про собственный таймер не до конца. Что имеется в виду? Разные начала работы таймеров и учет задержек? Но учет времени он же один. Или что то еще есть не изведанное?

 
Valeriy Yastremskiy #:

Про ООП понятно, а вот про собственный таймер не до конца. Что имеется в виду? Разные начала работы таймеров и учет задержек? Но учет времени он же один. Или что то еще есть не изведанное?

Моё косноязычие ...

Конечно же не "собственный таймер", а собственный обработчик, работающий в таймере.

 
Artyom Trishkin #:

Скиньте мне в личку URL каждого такого сайта.

Могу вам скинуть , попозже немного. Я все их сохраняю. Правда некоторые уже отключилась. 
А так вообще их много, которые копируют маркет . С скидкой типо. 
 
Valeriy Yastremskiy #:

Про ООП понятно, а вот про собственный таймер не до конца. Что имеется в виду? Разные начала работы таймеров и учет задержек? Но учет времени он же один. Или что то еще есть не изведанное?

Я когда-то написал статью на эту тему.

 
Sergey Gridnev #:
Я когда-то написал статью на эту тему.

Спасибо, хорошая локализация применений)

 
MakarFX #:
а если "ms" сделать глобально
Похоже OnTimer обрабатывает события параллельно с основным потоком и это то, что надо для анимации кнопки, но так не стало лучше. 
GetMicrosecondCount()-ms в любом случае будет давать разницу больше чем 100000 и без нажатия кнопки. Можно задать рамки добавив ещё
&& GetMicrosecondCount()-ms<120000, условие выполняется 1 раз, но также и самостоятельно без нажатия.

P.S. "ms = 0" также не имеет смысла обнулять.


 
Nerd Trader #:
Похоже OnTimer обрабатывает события параллельно с основным потоком и это то, что надо для анимации кнопки, но так не стало лучше. 
GetMicrosecondCount()-ms в любом случае будет давать разницу больше чем 100000 и без нажатия кнопки. Можно задать рамки добавив ещё
&& GetMicrosecondCount()-ms<120000, условие выполняется 1 раз, но также и самостоятельно без нажатия.

P.S. "ms = 0" также не имеет смысла обнулять.


а если так

//+------------------------------------------------------------------+
void OnTimer()
  {
   if(ms!=0&&GetMicrosecondCount()-ms>100000)
     {
      ObjectSetInteger(0,"button1",OBJPROP_STATE,false);
      ms=0;
     }
  }
//+------------------------------------------------------------------+

Причина обращения: