Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 890

 
Alexey Viktorov:

ctrl+tab и ctrl+shift+tab не спасёт отца русской демократии?

оно беспорядочно (рандомно) переключает, а я хочу по порядку

это удобнее, быстрее и позволит скрыть панель графиков

 
Artyom Trishkin:

Спасибо.

 
Трейдер Внатуре:

оно беспорядочно (рандомно) переключает, а я хочу по порядку

это удобнее, быстрее и позволит скрыть панель графиков

Должно переключать в том порядке, в котором открыты были графики. А вот если вы их потом перемешали рандомно, перетягивая мышкой, то и ...

 

Господа, помогите пожалуйста с алгоритмом. Лето, голова не варит совсем. Задача расчитать общий объем, который предстоит открыть с условием увеличения торгового объема.

Дано:

b - базовый лот (объем первого ордера).

m - мультипликатор или коэфициент увеличения объема. Например, объем второго ордера = b*m. Объем третьего ордера = b*m*m.

t - общее количество ордеров, которое предстоит открыть.


Так, например, объем каждого последующего ордера расчитывается по формуле:

v=b*(m^(i-1)), где i - порядковый номер этого ордера, то есть если это второй ордер в серии, то v=b*m, если третий - b*m^2.

Так вот, сейчас задача вывести формулу общего объема всех ордеров, которые предстоит открыть (t).

 
leonerd:

v=b*(m^(i-1)), где i - порядковый номер этого ордера, то есть если это второй ордер в серии, то v=b*m, если третий - b*m^2.

Так вот, сейчас задача вывести формулу общего объема всех ордеров, которые предстоит открыть (t).

если формула правильная, у Вас все готово, в цикле v +=b*(m^(i-1)) , предварительно обнулите v=0.0 или если в t хотите получить сумму, то t=0.0 ; в  цикле t +=v;

 
Igor Makanu:

если формула правильная, у Вас все готово, в цикле v +=b*(m^(i-1)) , предварительно обнулите v=0.0 или если в t хотите получить сумму, то t=0.0 ; в  цикле t +=v;

да, я что-то не подумал про цикл... Но так опытным путем вроде получил:

vol_total=b*m^t-b


b(m^t-1)

 
leonerd:

да, я что-то не подумал про цикл... Но так опытным путем вроде получил:

b(m^t-1)

тогда просто проверьте свои обе формулы в цикле - они должны быть одинаковыми ;)

 
Igor Makanu:

тогда просто проверьте свои обе формулы в цикле - они должны быть одинаковыми ;)

ок, с циклом действительно как-то надежнее.

Подскажите, пожалуйста, есть какой-то готовый класс для определения суммарной маржи с учетом хеджинга.

Например, по мартингейлу я расчитал объемы ордеров. Они разнонаправленные. Цены их выставления тоже есть. Мне сейчас надо оценить общую маржу, которую придется зарезервировать под эти ордера. Под ордерами в данном случае понимаю открытые рыночные ордера, активированные.

 
leonerd:

ок, с циклом действительно как-то надежнее.

Подскажите, пожалуйста, есть какой-то готовый класс для определения суммарной маржи с учетом хеджинга.

Например, по мартингейлу я расчитал объемы ордеров. Они разнонаправленные. Цены их выставления тоже есть. Мне сейчас надо оценить общую маржу, которую придется зарезервировать под эти ордера. Под ордерами в данном случае понимаю открытые рыночные ордера, активированные.

я под МТ5 мало пишу, с маржой совсем не разбирался, где то в статьях про подготовку экспертов для Маркета должно точно быть

посмотрел что у меня под рукой для МТ4, примерно так маржа рассчитывается:

bool checkmargin(double lot,int ordertype)
  {
   double m=NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck(_Symbol,ordertype,lot),2);
   bool result = AccountBalance()-m>0 ? true : false;
   return(result);
  }
 
Igor Makanu:

я под МТ5 мало пишу, с маржой совсем не разбирался, где то в статьях про подготовку экспертов для Маркета должно точно быть

посмотрел что у меня под рукой для МТ4, примерно так маржа рассчитывается:

Спасибо, мне и для МТ4 и для МТ5 надо. Но вы не учитываете тут разнонаправленные ордера и коэффициент Margin hedge.

Есть несколько ордеров order1,..., orderN все они рыночные (будут) Buy или Sell, направления известны: dir1,...,dirN. Объемы тоже vol1,...,volN. Цены открытия также open_price1,...,open_priceN. Задача расчитать суммарный размер маржи. Но ордера еще не открыты... В этом сложность, как я понимаю для всяких кросскурсов это будет проблемно, т.к. хоть цена открытия ордера по кросскурсу-то известна, нам нужен курс пары для пересчета в валюту депозита, а его мы заранее знать не можем...

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