Получение значений открытого интереса не для текущего бара - страница 10

 
А для чего Вы вообще это делаете?
 
prostotrader:
А для чего Вы вообще это делаете?

Сравниваю на биржевых инструментах два показателя: 

  1. разницу между объёмом ордеров на покупку в текущий момент и между объёмом ордеров на продажу в текущий момент, с
  2. суммарным объёмом открытых позиций
то есть на график биржевого инструмента прикрепляю оба эти индикатора.

 
Karputov Vladimir:

Сравниваю на биржевых инструментах два показателя: 

  1. разницу между объёмом ордеров на покупку в текущий момент и между объёмом ордеров на продажу в текущий момент, с
  2. суммарным объёмом открытых позиций
то есть на график биржевого инструмента прикрепляю оба эти индикатора.

Это понятно, но для чего эти два графика?

Что ВЫ с ними собираетесь делать? 

 
prostotrader:

Это понятно, но для чего эти два графика?

Что ВЫ с ними собираетесь делать? 

Здесь два ответа (можете их рассматривать в концепции "И", "ИЛИ", "ИЛИ ИЛИ" - в общем на любителя):

  1. чисто академический интерес
  2. грести деньжищи с биржи :)

 
Karputov Vladimir:

Здесь два ответа (можете их рассматривать в концепции "И", "ИЛИ", "ИЛИ ИЛИ" - в общем на любителя):

  1. чисто академический интерес
  2. грести деньжищи с биржи :)

Пока Вы получите свои данные в функции OnCalculate - без штанов останетесь!
 
prostotrader:
Пока Вы получите свои данные в функции OnCalculate - без штанов останетесь!
Вы не поняли: у меня индикаторы и задача индикатора - визуализация. В данном случае нет нужды в чрезмерно "дёрганном" стакане. Скажу больше - стакан здесь даже нежелателен.
 

Больше захватить не смог, так как при обрыве связи показания индикаторов обнуляются:

Скриншоты торговой платформы MetaTrader

RTS-9.16, M1, 2016.09.12

ОАО ''Брокерский дом ''ОТКРЫТИЕ'', MetaTrader 5, Real

Взаимосвязь направления тренда по RTS-9.16, суммарного объёма открытых позиций и разницей между объёмм ордеров на покупку в текущий момент и объёмом ордеров на продажу в текущий момент

RTS-9.16, M1, 2016.09.12, ОАО ''Брокерский дом ''ОТКРЫТИЕ'', MetaTrader 5, Real


 

Для индикатора отрытого интереса ввёл небольшую модификацию: теперь, после первого запуска, если prev_calculate==0, то индикатор не будет заново переинициализировать свои индикаторные буферы. Что это даёт: например, присоединили индикатор на график, индикатор отработал некоторое время и тут вдруг прилетело prev_calculate==0 (может был обрыв связи, а может с историей что-то) - в этом случае индикатор не будет переинициализировать свои индикаторные буферы, а просто продолжит работать как ни в чём не бывало.

Реализация:

в области объявления глобальных переменных программы ведена переменная "StartDate":

double         BufferMinDown[];
//---
datetime       StartDate=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()

далее, при первом запуске (при prev_calculated==0) проверяется значение переменной "StartDate": если её значение меньше, чем D'2015.01.01 00:00' - значит это первый запуск индикатора, и переменной "StartDate" присваивается последнее известное время сервера

   if(prev_calculated==0)
     {
      Print("prev_calculated==0, StartDate=",StartDate);
      if(StartDate<D'2015.01.01 00:00')
        {
         StartDate=TimeCurrent();
        }
      else
        {
         return(rates_total);
        }
     }

в противном случае просто возвращается "rates_total".

Файлы:
 

Здравствуйте, еще раз! у меня снова вопрос  по применению констант SYMBOL_SESSION_SELL_ORDERS_VOLUME и SYMBOL_SESSION_INTEREST. При использовании выложенного в данной теме индикатора данные по этим константам погружаются, очевидно что для тестирования их применения на истории необходимо создание советника. При получении этих констант через SymbolInfoDouble(Symbol(),SYMBOL_SESSION_BUY_ORDERS_VOLUME) не в OnCalculate() на выходе получаются ноли.

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

Прошу ответить в данной теме и не перемещать сообщение, т.к. потом ответ найти невозможно, тем более что вопрос по теме.
 
Кажется я понял ответ на свой вопрос и заодно название темы, запустил советник в реальном времени все работает на истории нет. Выходит на вопрос как получить значения ОИ и объема заявок на поккупку/продажу на истории ответ -  никак...
Причина обращения: