расчет Мин/Мах цены от цены открытия до наст.момента (по времени, а не по барам) - страница 4

 
"Когда в isTesting()" - предлог "в" означает "внутри". Надо писать или "При isTesting()" или "В режиме isTesting()", или по-человечески - "В режиме тестирования". Удаление глобальных переменных это не есть освобождение памяти (даже не смотря на то, что может сопровождаться освобождением памяти), равно как и освобождение памяти не есть удалением глобальных переменных. В mql4 вообще не работают с памятью. Если пользоваться словами по назначению а не придумывать свою феню, то и не будет расхождения в понимании. Не надо упорствовать на своей терминологии. Если так упорны и настйчивы, тогда самостоятельно проведите эксперимент и узнайте что когда работает, и что когда не работает.
 
Integer >>:
 "Когда в из isTesting()" - предлог "в" означает "внутри". Надо писать или "При isTesting()" или "В режиме isTesting()", или по-человечески - "В режиме тестирования". Удаление глобальных переменных это не есть освобождение памяти (даже не смотря на то, что может сопровождаться освобождением памяти), равно как и освобождение памяти не есть удалением глобальных переменных. В mql4 вообще не работают с памятью. Если пользоваться словами по назначению а не придумывать свою феню, то и не будет расхождения в понимании. Не надо упорствовать на своей терминологии. Если так упорны и настйчивы, тогда самостоятельно проведите эксперимент и узнайте что когда работает, и что когда не работает.

)))

Ну я на программиста экзаменов не сдавал, так что не обессудьте за неотштампованность. "Черпаю", пока есть бесплатная возможность. Ну а если Вас это утомит - продолжу самостоятельные эксперименты с неизбежным непреднамеренным авторством собственной терминологии.

Хотя, если честно, самому иногда приходится понимать людей "между строк". Не раздражает, наоборот....

 
Так я не про программирование, про филологию - семантику. Понимание между строк - когда человек искренен, настойчив, но не знает как правильно выразиться, и при этом он готов воспринимать и понимать это одно, а когда хочет плясок под его дудку - другая тема.
 
Integer >>:
 Так я не про программирование, про филологию - семантику. Понимание между строк - когда человек искренен, настойчив, но не знает как правильно выразиться, и при этом он готов воспринимать и понимать это одно, а когда хочет плясок под его дудку - другая тема.

Я Вашу филологию в последнем предложении нифига не понял.

Насчет булевой функции isTesting() - даже представить себе не мог её внутренности, не то чтобы это ещё и иметь ввиду.

Поэтому кратко себе нарисовал: в isTesting() - в режиме тестирования, в !isTesting() - не в режиме тестирования. Не будьте таким раздражительным.

 
coaster писал(а) >>

Я Вашу филологию в последнем предложении нифига не понял.

Вот и пожалуйста - всего несколько слов пропустил, и смысл не понимаем.

-

Так я не про программирование, а про филологию, про один из ее раздеов - семантику. К вопросу понимания между строк - когда человек искренен, настойчив, но не знает как правильно выразиться, и при этом он готов воспринимать и понимать это одно, а когда хочет плясок под его дудку - другая тема.

-

И вообще, не по секрету скажу, эта тема семантики больше относится не к филологии, а к психотерапии. Есть такие умные дядьки - Ричард Бендлер и Джон Гриндер - всемирно известные и уважаемые, так вот эти дядьки разработали целую методику по работе с семантикой речи, и при помощи этой методики специалисты очень успешно вытаскивают овец заблудших из большой задницы, соответсвенно не уделять должного внимания семантической правильности своих речевых оборотов - это путь в большую задницу.

-

Моя раздражительность. Да! Я реально фигею!!!

 
Integer >>:

Затем, чтобы работая на счете, при запуске и отключении эксперта, глабальные переменные сохранялись, а при тестировании удалялись, чтобы переменные оставшиеся от предудущего прогона в тестере не влияли на результаты следующего прогона. В тестере свой префикс у переменных - if(IsTesting())gvp=gvp+"t_";

Интересно. У меня так -- я вообще не создаю глобальных переменных в тестере:

double GlobalsValues[];
string GlobalsNames[];

void GlobalsInit()
{
   ArrayResize(GlobalsValues, 0);
   ArrayResize(GlobalsNames, 0);
}

string GetGlobalFullName(string name)
{
   static string postfix;
   
   if (StringLen(postfix) == 0)
   {
      postfix = " " + AccountNumber() + " " + Symbol() + " " + PeriodAsString();
   }
   
   return (name + postfix);
}

void SetGlobal(string name, double value)
{
   if (!IsTesting())
   {
      string finalName = GetGlobalFullName(name);
      GlobalVariableSet(finalName, value);
   }
   else
   {
      int size = ArraySize(GlobalsNames);
      for (int i = 0; i < size; i++)
      {
         if (GlobalsNames[i] == name)
         {
            GlobalsValues[i] = value;
            return;
         }
      }
      ArrayResize(GlobalsNames, size + 1);
      ArrayResize(GlobalsValues, size + 1);
      
      GlobalsNames[size] = name;
      GlobalsValues[size] = value;
   }
}

double GetGlobal(string name)
{
   if (!IsTesting())
   {
      string finalName = GetGlobalFullName(name);
      return (GlobalVariableGet(finalName));
   }
   else
   {
      int size = ArraySize(GlobalsNames);
      for (int i = 0; i < size; i++)
      {
         if (GlobalsNames[i] == name)
         {
            return (GlobalsValues[i]);
         }
      }
   }
   
   return (0);
}

bool GetGlobalSafe(string name, double& value)
{
   bool res = false;
   if (!IsTesting())
   {
      string finalName = GetGlobalFullName(name);
      res = GlobalVariableCheck(finalName);
      
      if (res) 
      {
         value = GlobalVariableGet(finalName);
      }
      
      return (res);
   }
   else
   {
      int size = ArraySize(GlobalsNames);
      for (int i = 0; i < size; i++)
      {
         if (GlobalsNames[i] == name)
         {
            value = GlobalsValues[i];
            return (true);
         }
      }
   }
   
   value = 0;
   return (false);
}
 
TheXpert писал(а) >>

Интересно. У меня так -- я вообще не создаю глобальных переменных в тестере:

Будет ли это это быстрее работать? Добустим, в процессе тестирования наоткрывал эксперто 1000 ордеров, надо будет крутить в цикле массив длиной 1000 элементов. Если после закрытия ордера удалять элементы из массива, будет короче массив, но придется крутить его для удаления.

-

То что у меня - я особо не задумывался как лучше, стихийно произошло, по ходу дела.

 
Integer >>:

Будет ли это это быстрее работать? Добустим, в процессе тестирования наоткрывал эксперто 1000 ордеров, надо будет крутить в цикле массив длиной 1000 элементов. Если после закрытия ордера удалять элементы из массива, будет короче массив, но придется крутить его для удаления.

Согласен. Я не использую столько глобальных переменных, поэтому такой проблемы у меня не стоит. И я не говорю, что Ваш подход хуже\лучше -- он просто другой.

 
Integer >>:

Вот и пожалуйста - всего несколько слов пропустил, и смысл не понимаем.

-

Так я не про программирование, а про филологию, про один из ее раздеов - семантику. К вопросу понимания между строк - когда человек искренен, настойчив, но не знает как правильно выразиться, и при этом он готов воспринимать и понимать это одно, а когда хочет плясок под его дудку - другая тема.

-

И вообще, не по секрету скажу, эта тема семантики больше относится не к филологии, а к психотерапии. Есть такие умные дядьки - Ричард Бендлер и Джон Гриндер - всемирно известные и уважаемые, так вот эти дядьки разработали целую методику по работе с семантикой речи, и при помощи этой методики специалисты очень успешно вытаскивают овец заблудших из большой задницы, соответсвенно не уделять должного внимания семантической правильности своих речевых оборотов - это путь в большую задницу.

-

Моя раздражительность. Да! Я реально фигею!!!


Я ссылочку к цитате прикрепил. Пофилософствуйте на досуге.

)))))

 
coaster писал(а) >>

Я ссылочку к цитате прикрепил. Пофилософствуйте на досуге.

)))))

Пофилософствую. Я так рад, что осчастливил вас! Только ВАМ не здесь писать надо, наверно, а по той самой ссылочке.