Авто Magic - страница 3

 
prostotrader:

Василий!

ЧТО ВЫ ВИДИТЕ НА СКРИНШОТЕ? 

Возможно данный скриншот должен намекнуть, что если не генерить мэджик, какую-то ситуацию с false нельзя будет отработать. А Вывод false, говорит, что такие ситуации есть.
 
Vasiliy Sokolov:
Возможно данный скриншот должен намекнуть, что если не генерить мэджик, какую-то ситуацию с false нельзя будет отработать. А Вывод false, говорит, что такие ситуации есть.

Браво!

//+------------------------------------------------------------------+
//|                                                    AutoMagic.mq5 |
//|                                      Copyright 2017 prostotrader |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017 prostotrader"
#property link      "https://www.mql5.com"
#property version   "1.00"
//-------------------------------------------------------------------+
// Get Magic function                                                |
//+------------------------------------------------------------------+
ulong GetMagic()
  {
   ulong cur_magic = ulong(ChartID());
   cur_magic <<= 16;
   if(cur_magic > 0) return(cur_magic);
   return(0);
  }
//-------------------------------------------------------------------+
// Is my magic function                                              |
//+------------------------------------------------------------------+
bool IsMyMagic(const ulong m_magic)
  {
   ulong cur_magic=m_magic;
   cur_magic>>=16;
   ulong s_magic=GetMagic();
   s_magic>>=16;
   if(s_magic == cur_magic) return(true);
   return(false);
  }
//-------------------------------------------------------------------+
int OnInit()
  {
   ulong m_magic=GetMagic();
   Print("Symbol = ",Symbol()," Magic = ",m_magic, " Timeframe = ", EnumToString(Period()));
   for(int i=0; i<5;i++)
     {
//Тестовая проверка на 5 магиков из диаппазона (65535)
      Print(IsMyMagic(m_magic+i));
     }
//Минус 1 диаппозона
   Print(IsMyMagic(m_magic-1));
//Превышение диаппозона
   Print(IsMyMagic(m_magic+65536));
   return(INIT_SUCCEEDED);
  }
//--------------------


 Добавлено

Ошибся с перегрузкой терминала (не в тот терминал посмотрел)

Ничего перегружать не нужно! 

 
prostotrader:


Добавлять символы можно сколь угодно, но если убрать хоть один символ,

то необходимо перегрузить терминал (все советники). 

ужас, зачем вы городите это с файлами??

Используйте CRC32 по Symbol().  И будет вам однозначное счастье.
 
o_O:
ужас, зачем вы городите это с файлами??

Используйте CRC32 по Symbol().  И будет вам однозначное счастье.

Простите, КАКИМИ ФАЙЛАМИ?

Добавлено

Мама дорогая, в коде всего 23 строчки! 

 
prostotrader:

Простите, КАКИМИ ФАЙЛАМИ?

Добавлено

Мама дорогая, в коде всего 23 строчки! 

Вы сейчас наверно от счастья прыгаете? - Надо же очередной критик облажался со своим комментарием.

А вы не думали, что любой человеку, который откроет эту тему, в первую очередь будет смотреть код расположенный в начальном посте? Кто же догадается, что через три страницы вы всё кардинально измените?

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

 
Dmitry Fedoseev:

Вы сейчас наверно от счастья прыгаете? - Надо же очередной критики облажался со своим комментарием.

А вы не думали, что любой человеку, который откроет эту тему, в первую очередь будет смотреть код расположенный в начальном посте. И кто же догадается, что через три страницы вы всё кардинально измените?

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

Я не злопямятный.

Отстали бы Вы от меня, пожалуйста

 

Еще маленький прикольчик:

Идет битва за быстродействие, да такая жесткая, все лишнее выкидывается нещадно, вместо обычной проверки символа и магика остается только проверка магика.

Вот такая вот (взято здесь):

ulong GetMagic()
  {
   ulong cur_magic = ulong(ChartID());
   cur_magic <<= 16;
   if(cur_magic > 0) return(cur_magic);
   return(0);
  }
//-------------------------------------------------------------------+
// Is my magic function                                              |
//+------------------------------------------------------------------+
bool IsMyMagic(const ulong m_magic)
  {
   ulong cur_magic=m_magic;
   cur_magic>>=16;
   ulong s_magic=GetMagic();
   s_magic>>=16;
   if(s_magic == cur_magic) return(true);
   return(false);
  }

 

 
prostotrader:

Я не злопямятный.

Отстали бы Вы от меня, пожалуйста

Напомнило анекдот:

Женщина идет ночью по темному переулку и вдруг слышит за собой шаги. Оборачивается и обнаруживает что за ней идет громадный мужик. Она ускоряет шаг. Он тоже. Она еще быстрее. И он не отстает. Она бежит! И сзади шаги побежали… Она забегает в тупик. Мужки ее хватает, разворачивает… Женщина кричит:

- Что вы собираетесь со мной делать?
- Не знаю, это же ваш сон, мадам… 

 

Есть ещё небольшая доработка с автомагиком, но 

что-то лениво сейчас делать.

Продолжение сдедует... 

 
prostotrader:

Продолжение сдедует... 

Пойду попкорном запасаться!