Некорректный расчет ГО (из-за новых изменений в риск-параметрах биржи) - страница 20

 

Кстати, попробуйте спросить у ИИ следующее

"Формула расчета ГО модулем SpectraIM"

 
prostotrader #:
Формула расчета ГО модулем SpectraIM

Ответ Chat GPT

Формула расчета ГО модулем SpectraIM не предоставлена в открытых источниках.
Для получения подробной информации и методики расчета следует обратиться к официальным документам и руководству пользователя программы SpectraIM.
 
prostotrader #:

Если бы были буржуи, то они (Биржа) не посмели бы сделать так, а так как остались одни СНГ,

то сделали, и ничего добиться не получится, но попробую написать в ЦБ

Весь регламент биржи составлен таким образом, что биржа никогда ни перед кем ни за что не несет ответственности.

 

В описании модуля расчета ГО есть следующее

Уже немного проясняется, какие параметры важны для расчета ГО фьючерса

 

Добрый вечер. Не знаю как использовать функцию SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS? Просто беру с сайта биржи параметры инструмента  "гарантийное обеспечение на первом уровне лимита концентрации** (ГО, руб.) и вбиваю в EXCEL, периодически корректирую. Вопрос в другом как в МТ5 (индикатор, скрипт, советник) считать списание и зачисление вариационной маржи? Может быть кто подскажет, как доделать индикатор из статьи Дмитрия Федосеева " Основы программирования на MQL5 - Время ". Я плохой программист. Как взять цену (в пунктах) закрытия помеченных баров, выводит в секундах?

//+------------------------------------------------------------------+
//|                                                            M.mq5 |
//|                                                            Koles |
//|                                                 koles-33@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Koles"
#property link      "koles-33@mail.ru"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1
//--- plot TimePoint
#property indicator_label1  "TimePoint"
#property indicator_type1   DRAW_ARROW
#property indicator_color1  clrYellow
#property indicator_style1  STYLE_SOLID
#property indicator_width1  5
//--- input parameters
input int Hour=18;
input int Minute=45;
//--- indicator buffers
double TimePointBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);                 // Точки после запятой
//--- indicator buffers mapping
   SetIndexBuffer(0,TimePointBuffer,INDICATOR_DATA);
//--- setting a code from the Wingdings charset as the property of PLOT_ARROW
   PlotIndexSetInteger(0,PLOT_ARROW,34);
   PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,0);
//---  короткое имя индикатора
   string short_name="M("+IntegerToString(Hour)+","+IntegerToString(Minute)+")";
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int start=1;
   if(prev_calculated==0)
     {
      start=1;
     }
   else
     {
      start=prev_calculated-1;
     }
//---   
   for(int i=start;i<rates_total;i++)
     {
      if(TimeCross(Hour,Minute,time[i],time[i-1]))
        {
         TimePointBuffer[i]=close[i];
        }
      else
        {
         TimePointBuffer[i]=EMPTY_VALUE;
        }
   //--- Выведем значения в три строчки 
   Comment(StringFormat("Выводим цены\nTimePointBuffer[i] = %G",TimePointBuffer[i])); 
     }   
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool TimeCross(int aHour,int aMinute,datetime aTimeCur,datetime aTimePre)
  {
//--- заданное время от начала дня
   datetime PointTime=aHour*3600+aMinute*60;
//--- текущее время от начала дня
   aTimeCur=aTimeCur%86400;
//--- предыдущее время от начала дня
   aTimePre=aTimePre%86400;
   if(aTimeCur<aTimePre)
     {
      //--- переход через полночь
      if(aTimeCur>=PointTime || aTimePre<PointTime)
        {
         return(true);
        }
     }
   else
     {
      if(aTimeCur>=PointTime && aTimePre<PointTime)
        {
         return(true);
        }
     }
   return(false);
  }
//+------------------------------------------------------------------+
 

В новой версии (8.0 Spectra) внесены изменения ГО.

Теперь ГО будет резервироваться в соответствии с уровнем риска клиента

 22.01.2025 Внесённые изменения:
 • Добавлен раздел "2.6.9. Сервисы МБ в рамках Указания 6681-У - регулирование маржинальной торговли
 брокерских клиентов".
 • Поток FORTS_REFDATA_REPL:
 ○В таблицу fut_sess_contents добавлены поля trade_period_access, buy_deposit_erc, sell_deposit_erc,
 buy_deposit_hrc, sell_deposit_hrc, buy_deposit_lrc, sell_deposit_lrc, buy_deposit_mrc, sell_deposit_mrc.
 ○Начиная с версии 8.0 поле is_trade_evening в таблице fut_sess_contents объявляется устаревшим и будет
 удалено в версии 8.6. Вместо него следует использовать поле trade_period_access.
 ○В таблицу opt_sess_contents добавлены поля trade_period_access, base_im_covered_sell_erc,
 base_im_covered_sell_hrc, base_im_covered_sell_lrc, base_im_covered_sell_mrc, base_im_sell_erc,
 base_im_buy_erc, base_im_sell_hrc, base_im_buy_hrc, base_im_sell_lrc, base_im_buy_lrc,
 base_im_sell_mrc, base_im_buy_mrc.
 ○Начиная с версии 8.0 поле is_trade_evening в таблице opt_sess_contents объявляется устаревшим и будет
 удалено в версии 8.6. Вместо него следует использовать поле trade_period_access.
 ○В таблицу sess_option_series добавлено поле d_sess_assign.
 ○Начиная с версии 8.0 поля pos_transfer_begin и pos_transfer_end в таблице session объявляются устарев
шим и будут удалены в версии 8.6.
 • Поток FORTS_INFO_REPL:
 ○В таблицу investor добавлено поле client_risk_level.
 ○В таблицу base_contracts_params добавлены поля mr1_lrc, mr2_lrc, mr3_lrc, mr1_mrc, mr2_mrc, mr3_mrc,
 mr1_hrc, mr2_hrc, mr3_hrc, mr1_erc, mr2_erc, mr3_erc.
 • Добавлен новый поток FORTS_RMT_REPL - ГО без заявок и текущий оперативный риск. Таблицы:
 ○rmt_im - ГО без заявок и текущий оперативный риск в разрезе клиентов
 ○sys_events - Таблица событий
    buy_deposit_erc: double;            // d16.2 Базовое ГО покупателя для КОУР (руб)
    sell_deposit_erc: double;           // d16.2 Базовое ГО продавца для КОУР (руб)
    buy_deposit_hrc: double;            // d16.2 Базовое ГО покупателя для КПУР (руб)
    sell_deposit_hrc: double;           // d16.2 Базовое ГО продавца для КПУР (руб)
    buy_deposit_lrc: double;            // d16.2 Базовое ГО покупателя для КНУР (руб)
    sell_deposit_lrc: double;           // d16.2 Базовое ГО продавца для КНУР (руб)
    buy_deposit_mrc: double;            // d16.2 Базовое ГО покупателя для КСУР (руб)
    sell_deposit_mrc: double;           // d16.2 Базовое ГО продавца для КСУР (руб)


Интересно, на сколько быстро это нововведение появится в Финаме

 
prostotrader #:
Интересно, на сколько быстро это нововведение появится в Финаме

А разве Финам не берёт максимальное ГО?

 
Aleksey Vyazmikin #:

А разве Финам не берёт максимальное ГО?

Я не знаю как берет Финам сейчас (не торгую с МТ-5 там), но уровни риска очень сильно отличаются.

 
prostotrader #:

Я не знаю как берет Финам сейчас (не торгую с МТ-5 там), но уровни риска очень сильно отличаются.

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

 
prostotrader #:

В новой версии (8.0 Spectra) внесены изменения ГО.

Теперь ГО будет резервироваться в соответствии с уровнем риска клиента


Интересно, на сколько быстро это нововведение появится в Финаме

Напишу им вопрос по этому поводу, может, что ответят.