Я пытаюсь открыть сделку, используя определенный лот, рассчитанный по моей формуле.
Когда я пытался купить, он говорит,
что я не могу из-за
ошибки 134 = Недостаточно денег.
Пожалуйста, дайте мне знать, как я могу рассчитать деньги, необходимые для покупки много.
Если этот предмет можно купить за те деньги, которые у меня есть.
Можно перед открытием ордера рассчитать максимальный лот
и если значение по собственной формуле превышает максимальный
лот, то присвоить не своё значение а возможно допустимый лот.
Можно перед открытием ордера рассчитать максимальный лот
и если значение по собственной формуле превышает
максимальный лот, то присвоить не своё значение а возможно допустимый лот.
Но как это сделать?
Но как это сделать?
Используйте готовые проверки, которые тут: https://www.mql5.com/en/articles/2555
Но как это сделать?
Вот расчёт максимального лота
//+------------------------------------------------------------------+ //| Расчет лота по риску в процентах | //+------------------------------------------------------------------+ double LotMax(double PercentRisk=100){ double Free = AccountFreeMargin(), OneLT = MarketInfo(Symbol(),MODE_MARGINREQUIRED), MinLT = MarketInfo(Symbol(),MODE_MINLOT), MaxLT = MarketInfo(Symbol(),MODE_MAXLOT), LTstep = MarketInfo(Symbol(),MODE_LOTSTEP), MaxLots=0.0; MaxLots = MathFloor(Free*PercentRisk/100/OneLT/LTstep)*LTstep; if (MaxLots>MaxLT) MaxLots=MaxLT; if (MaxLots<=0.0 || MaxLots<MinLT || (MaxLots*OneLT)>Free) MaxLots=0.0; return(NormalizeDouble(MaxLots,2));}
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Я пытаюсь открыть сделку, используя определенный лот, рассчитанный по моей формуле.
Когда я пытался купить, он говорит, что я не могу из-за ошибки 134 = Недостаточно денег.
Пожалуйста, дайте мне знать, как я могу рассчитать деньги, необходимые для покупки много. Если этот предмет можно купить за те деньги, которые у меня есть.
Это на MQL4. Пожалуйста, примите это к сведению.