Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 688

 
Artyom Trishkin:

Да ну? Правда?

А я всегда думал, что сиё (^) есть возведение в степень.

Попытайтесь скомпилировать этот пример:

//+------------------------------------------------------------------+
//|                                                       Test_1.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart(void)
  {
   double a=2;
   double b=3;
   double c=a^b;
   int g=0;
//---
  }
//+------------------------------------------------------------------+

и желание язвить пропадёт само собой.
 

 
Artyom Trishkin:
Возведение в степень.

У меня есть часы поломанные -- они два раза в день гарантированно показывают очень точное время.

Возведение в степень https://www.mql5.com/ru/docs/math/mathpow 

Так что, здесь Карпутов прав -- ^ -- это "исключающее ИЛИ"

смотрим список операций https://www.mql5.com/ru/docs/basis/operations/rules 

 
Vladimir Karputov:

Попытайтесь скомпилировать этот пример:

//+------------------------------------------------------------------+
//|                                                       Test_1.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart(void)
  {
   double a=2;
   double b=3;
   double c=a^b;
   int g=0;
//---
  }
//+------------------------------------------------------------------+

и желание язвить пропадёт само собой.
 

и он компилируется? У меня нет...

'^' - illegal operation use

И вот что Вики вещает:

Знак возведения в степень: ^ (в типографской и рукописной записи формул не применяется; используется в программировании, наряду с более редкими символами ↑ и **, а также в «линейной» текстовой записи формул).

 

Господа, хорош спорить. Я тоже думаю, что этот знак по крайней мере в 4-рке был возведением в степень.

Лучше скажите почему это:

Bars(_Symbol,_Period);//равно 0 при отключенном подключении к Интернет

не работает при отключенном подключении к Интернет? 

 
Vladimir Karputov:

Попытайтесь скомпилировать этот пример:

//+------------------------------------------------------------------+
//|                                                       Test_1.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart(void)
  {
   double a=2;
   double b=3;
   double c=a^b;
   int g=0;
//---
  }
//+------------------------------------------------------------------+

и желание язвить пропадёт само собой.
 

Я не поддался на шутку-провокацию, т.к. сразу увидел ошибку )

А вы, Карпутов, хитрец-молодец, оказывается.

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

 
Andrey F. Zelinsky:

У меня есть часы поломанные -- они два раза в день гарантированно показывают очень точное время.

Возведение в степень https://www.mql5.com/ru/docs/math/mathpow 

Так что, здесь Карпутов прав -- ^ -- это "исключающее ИЛИ"

смотрим список операций https://www.mql5.com/ru/docs/basis/operations/rules 

А если человек привёл формулу не из mql ?

Если он просто взял её где-то в иных источниках?

Обычно так обозначают возведение в степень.

Конечно его пример (если его без ошибок написать) показывает, что этот знак именно в коде mql НЕ является возведением в степень (pow()), но тут нужно уточнять что имел в виду вопрошающий. А судя по его формуле GHPR=(BalanceClose/BalanceOpen)^(1/N), он НЕ имел в виду синтаксис mql, так как в ней явно прослеживаются значения double, а не char, кои нужны для побитовых операций.

 
Andrey F. Zelinsky:
Я не поддался на провокацию, т.к. сразу увидел ошибку.

 char a='a', b='b';
//--- операция исключающее ИЛИ
   char c=a^b;
   Print("a = ",a,"  b = ",b);
   Print("a ^ b = ",c);
// Результат будет такой:
// a = 97   b = 98
// a ^ b = 3

Побитовые операции выполняются только сцелыми числами.

 
Andrey F. Zelinsky:

Я не поддался на шутку-провокацию, т.к. сразу увидел ошибку )

А вы, Карпутов, хитрец, оказывается.

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

Это ты меня новичком назвал? Спасибо - хорошо сохранился оказывается...

Так мне интересно, а сам тов.Карпутов смог скомпилировать свой код...

 
Artyom Trishkin:

Это ты меня новичком назвал. Спасибо - хорошо сохранился оказывается...

Так мне интересно, а сам тов.Карпутов смог скомпилировать свой код...

Артём, есть же мудрость народная: "Век живи, век учись".

И Сократ говорил: "Я знаю, что ничего не знаю". 

Насчёт что "смог Карпутов" -- я не в курсе.

 
формула взята отсюда - https://www.mql5.com/ru/articles/1492
Математика в трейдинге. Оценка результатов торговых сделок
Математика в трейдинге. Оценка результатов торговых сделок
  • 2007.08.15
  • MetaQuotes Software Corp.
  • www.mql5.com
Все мы слышали фразу "Никакая полученная прибыль в прошлом не гарантирует успешных результатов в будущем". Но необходимость оценки торговых систем тем не менее является актуальной. В этой статье мы рассмотрим некоторые простые и удобные методики оценки торговых результатов.
Причина обращения: