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

 

И ещё. Честно говоря, не пойму то условие, при котором должна открыться позиция. Как можно вообще сравнивать спред и волатильность? )) Видимо чего-то ещё не знаю или не понимаю.

С уважением, Владимир.

 
MrBrooklin #:

Предположу, что этот советник при таких заданных условиях никогда не откроет позиции. Похоже, что переменная PerVolatiliti всегда равна нулю.

С уважением, Владимир.

Благодарю. Вы считаете, это баг, или я что-то неправильно сделал?
 
MrBrooklin #:

И ещё. Честно говоря, не пойму то условие, при котором должна открыться позиция. Как можно вообще сравнивать спред и волатильность? )) Видимо чего-то ещё не знаю или не понимаю.

С уважением, Владимир.

Спред часто бывает выше, чем волатильность на малых таймфреймах. В таких случаях открывать позиции с таким кодом, без индикаторов и стоплосса, не имеет смысла. Я перевел спред в проценты (((ask-bid)/ask)*100), чтобы спред и волатильность можно было сравнивать. И полагал, что SYMBOL_PRICE_VOLATILITY учитывает таймфрейм. Завтра буду разбираться с логами.
 
maxvoronin74 #:
Благодарю. Вы считаете, это баг, или я что-то неправильно сделал?

Не знаю, что это, но попробуйте сами на своём терминале получить значение волатильности SYMBOL_PRICE_VOLATILITY. Делается это очень просто. Создаёте новый советник и на каждом тике выводите на печать значение волатильности. Сделайте прогон этого советника, допустим, с начала этого года и по сегодняшнее число. Например, на моем терминале волатильность всегда равна нулю. А затем посмотрите, что задано в условиях советника Perevertysh20240508.mq5. Как оно может выполнится, если волатильность всегда равна нулю?

С уважением, Владимир.

P.S. Вот уже готовый вариант советника. Запускайте на своём терминале и смотрите во вкладке Журнал тестера - выведет хоть одно значение волатильности или нет. На 100% уверен, что ни одного значения волатильности больше нуля не получите.

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                                  Copyright 2024, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(SymbolInfoDouble(_Symbol,SYMBOL_PRICE_VOLATILITY) > 0)
      Print("Волатильность = ", SymbolInfoDouble(_Symbol,SYMBOL_PRICE_VOLATILITY));
  }
//+------------------------------------------------------------------+
 
MrBrooklin #:

Не знаю, что это, но попробуйте сами на своём терминале получить значение волатильности SYMBOL_PRICE_VOLATILITY. Делается это очень просто. Создаёте новый советник и на каждом тике выводите на печать значение волатильности. Сделайте прогон этого советника, допустим, с начала этого года и по сегодняшнее число. Например, на моем терминале волатильность всегда равна нулю. А затем посмотрите, что задано в условиях советника Perevertysh20240508.mq5. Как оно может выполнится, если волатильность всегда равна нулю?

С уважением, Владимир.

P.S. Вот уже готовый вариант советника. Запускайте на своём терминале и смотрите во вкладке Журнал тестера - выведет хоть одно значение волатильности или нет. На 100% уверен, что ни одного значения волатильности больше нуля не получите.

Благодарю. Тогда тем более надо увидеть формулу. Как ее найти в документации? Пока что это все, что я смог найти: https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants. И формулы тут нет. Может, какого-то параметра не хватает...

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger() , SymbolInfoDouble() и SymbolInfoString() . В качестве второго...
 
maxvoronin74 #:

Благодарю. Тогда тем более надо увидеть формулу. Как ее найти в документации? Пока что это все, что я смог найти: https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants. И формулы тут нет. Может, какого-то параметра не хватает...

Вероятнее всего, что эту формулу компания MetaQuote Вам никогда не предоставит. И что теперь делать дальше? Думаю, что нужно идти не в "лоб", а другим путём. Если найти чёткое определение волатильности на валютном рынке, то её формулу написать не составит особого труда. Вот, что выдал браузер на запрос в поисковике формула волатильности валютного рынка:

  1. Волатильность — Википедия (wikipedia.org)
  2. Волатильность валюты - простыми словами — Финансовый журнал — Финам.Ру (finam.ru)
  3. Калькулятор волатильности Форекс — Investing.com

И ещё нашёл немного информации на сайте АльфаБанка: "Какие индикаторы используются для измерения волатильности рынка? Индикаторы волатильности, такие как ATR (Средний истинный диапазон) и Bollinger Bands (Ленты Боллинджера), помогают трейдерам измерять и анализировать волатильность рынка для принятия решений о торговых стратегиях". Тогда, что мешает открыть, например, код индикатора ATR и из его расчётной части взять эту самую формулу?

С уважением, Владимир.

 
Уже 100500 сообщений про волатильность... Возьмите уже индикатор ATR, и будет вам счастье )
 
Artyom Trishkin #:
Уже 100500 сообщений про волатильность... Возьмите уже индикатор ATR, и будет вам счастье )

Доброе утро, Артём. Так в том-то и дело, что ему нужна только формула или если правильно понял суть вопроса, то готовая функция, чтобы вставить в код своего советника, а не индикатор. Отсюда и все эти заморочки. ))

С уважением, Владимир.

 
MrBrooklin #:

Доброе утро, Артём. Так в том-то и дело, что ему нужна только формула или если правильно понял суть вопроса, то готовая функция, чтобы вставить в код своего советника, а не индикатор. Отсюда и все эти заморочки. ))

С уважением, Владимир.

Хорошо. Расширю: взять ATR и поглядеть расчëт. 
 
Artyom Trishkin #:
Хорошо. Расширю: взять ATR и поглядеть расчëт. 

"Уважаемый" Владимир вы еще подаете заявки в публикации "Статьи"

самому то не смешно?

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