С понятием "планка" знакомы ? Если нет, то рекомендую весьма, иначе приведёт она вас с таким вот расчётом к коляну. Он любит такие формулы )))
micle:
С понятием "планка" знакомы ? Если нет, то рекомендую весьма, иначе приведёт она вас с таким вот расчётом к коляну. Он любит такие формулы )))
С понятием "планка" знакомы ? Если нет, то рекомендую весьма, иначе приведёт она вас с таким вот расчётом к коляну. Он любит такие формулы )))
Большое спасибо, Ваш ответ был очень полезен.
Возможно, другие участники знают альтернативные варианты решения?
dj_nsk:
Ваше решение почему не устраивает?
Большое спасибо, Ваш ответ был очень полезен.
Возможно, другие участники знают альтернативные варианты решения?
Так не пробовали?
double MaxLots(string symbol,ENUM_ORDER_TYPE action) { double FreeMargin,Margin1Lot,Lots=0,OpenPrice; if(action==ORDER_TYPE_BUY) OpenPrice=SymbolInfoDouble(symbol,SYMBOL_ASK); else OpenPrice=SymbolInfoDouble(symbol,SYMBOL_BID); //Текущий размер свободных средств FreeMargin=AccountInfoDouble(ACCOUNT_FREEMARGIN); //Размер средств для открытия 1 лота OrderCalcMargin(action,symbol,1.0,OpenPrice,Margin1Lot); if(Margin1Lot!=0) Lots=FreeMargin/Margin1Lot; return(Lots); }
vicmos:
Спасибо, попробовал. Ещё и через методы класса CAccountInfo (например, MaxLotCheck()). Похоже на правду, но есть странность. Иногда (пока закономерность не понял) если робот, например, находится в лонге и надо развернуться на всю катушку в шорт - он выдаёт мне "not enough money". Ищу дальше...
Так не пробовали?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день!
Весь форум облазил, уже и самому смешно, но не могу ничего найти - помогите, пожалуйста.
В советнике перед входом в позицию по фьючерсу РТС надо вычислить максимально доступный объём сделки (с учётом баланса по счёту и свойств самого фьючерса). Не верю, что нет какой-то простой функции, но найти не смог.
Использую так: int(AccountInfoDouble(ACCOUNT_BALANCE)/SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL)) - но это же как-то криво!