Советники: Функция расчета размера лота от риска на депозит

 

Функция расчета размера лота от риска на депозит:

Функция рассчитывает размер лота открываемой позиции. В качестве параметров передаются цена открытия сделки, цена уровня стоп-лосса и риск на сделку в процентах от депозита

Автор: Anton Iaroshenko

 
Лучше, или даже правильней брать %% не от еквити, а от свободной маржи.
 
Alexey Viktorov #:
Лучше, или даже правильней брать %% не от еквити, а от свободной маржи.

От баланса.

 
fxsaber #:

От баланса.

Кому от чего нравится. Не важно. Меня просто чуток подклинило и я подумал о максимальном размере лота. Так сказать на всю котлету…

 
fxsaber #:

От баланса.

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

 
Vitaly Muzichenko #:

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

Мне сложно привести убедительные аргументы. При распределении рисков внутри портфеля и расчета доли риска самого портфеля исхожу именно из баланса.

 
Alexey Viktorov #:
Лучше, или даже правильней брать %% не от еквити, а от свободной маржи.

Функцию легко модернизировать для этого случая.

Меня смущает, однако, одна непонятка

Есть SYMBOL_TRADE_TICK_VALUE_PROFIT - Рассчитанная стоимость тика для прибыльной позиции

и есть SYMBOL_TRADE_TICK_VALUE_LOSS - Рассчитанная стоимость тика для убыточной позиции

ну и SYMBOL_TRADE_TICK_VALUE - не что иное как SYMBOL_TRADE_TICK_VALUE_PROFIT

Логика подсказывает, что если от стопа рассчитывать, то надо брать SYMBOL_TRADE_TICK_VALUE_LOSS. Но уместна ли эта логика?

 
Anton Iaroshenko #:

Функцию легко модернизировать для этого случая.

Меня смущает, однако, одна непонятка

Есть SYMBOL_TRADE_TICK_VALUE_PROFIT - Рассчитанная стоимость тика для прибыльной позиции

и есть SYMBOL_TRADE_TICK_VALUE_LOSS - Рассчитанная стоимость тика для убыточной позиции

ну и SYMBOL_TRADE_TICK_VALUE - не что иное как SYMBOL_TRADE_TICK_VALUE_PROFIT

Логика подсказывает, что если от стопа рассчитывать, то надо брать SYMBOL_TRADE_TICK_VALUE_LOSS. Но уместна ли эта логика?

Логика на мой взгляд правильная. Исходя из определения «РИСК» следует, что мы рассчитываем какой убыток, в случае неудачи мы готовы принять.

Но всё-же ещё одно замечание: Все постоянные величины, такие как SYMBOL_TRADE_TICK_VALUE_LOSS и прочие вычисляются при каждом обращении к функции. На форуме есть тема с обсуждением этой проблемы. Там несколько решений. Одно из них писать это не отдельной функцией, а классом в котором эти постоянные значения будут вычисляться только один раз.

 
Alexey Viktorov #:
при каждом обращении к функции

Думаю, что это вычисляется чуть ли не мгновенно. Как вариант выводить в глобальное пространство имен. А можете дать ссылку где это обсуждается?

 
Anton Iaroshenko #:

Думаю, что это вычисляется чуть ли не мгновенно. Как вариант выводить в глобальное пространство имен. А можете дать ссылку где это обсуждается?

Вы помните выражение «курочка по зёрнышку клюёт, но весь двор в помёте»…

Сейчас искал, но безрезультатно. Помню хорошо, поскольку участвовал в этом обсуждении.

Может fxsaber даст сцильку? Он там тоже участвовал.

 
Alexey Viktorov #:
Лучше, или даже правильней брать %% не от еквити, а от свободной маржи.

смотря для чего .. 

ещё разумно как % от максимума балансов двух контрольных моментов (последних двух недель/месяцев или балансовых операций). 

тогда MM "дружелюбен" к снятиям/пополнениям. Аккуратный вывод не ведёт к автоматическому уменьшению лотов. 

а по марже/экви вводить ограничения - хотя-бы чтобы маржин-кол (тьфу,тьфу и стопаут) не наступил раньше :-)

много может быть разных вариантов и каждый по своему правильный.

чтоб функция стала более-менее универсальной - параметр "риск" должен быть в реальных деньгах. Сумму в деньгах пользователь-программист может посчитать сам от экви/баланса/просадки/фазы_луны

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