[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 149
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
подскажите пож-та новичку, AccountBalance() - показывает количество средств на балансе, а мне нужно высчитать свой расчетный баланс (calc_balance),
суть его простая, только пока не поддается написанию, есть общее кол-во открытых и отложенных ордеров (Orderstotal),например 3 шт., макс.риск на одну открытую позицию 2%,
для того чтобы открыть следующую сделку мне надо посчитать макс. риск (2%) от расчетного баланса, т.е. логика формулы примерная будет такой: calc_balance=AccountBalance()-2%-2%-2%,
то есть последовательное вычитание - а вот как это в коде написать пока не получается, надеюсь на Вашу помощь.
Заранее спасибо!
Подскажите как Средства (AccountEquity() ) и Залог (AccountMargin() ) отдельно для позиций Бай и Селл?
Господа, может кто нибудь посоветует индикатор или советник, выставляющий уровни поддержки и сопротивления, на D1, без лагов желательно)))
Всем доброго времени суток! У меня возникла проблема, и я не могу понять в чем дело.
Даны две функции. Если я вызываю 1, то ничего не работает. То втором случае, все работает. Подскажите в чем ошибка?
Заранее спасибо!
int OrderBuy(double pLots, string pComment, int pMagic, int pDatetime, color pColor) { int ticket = 0; int err = 0; int c = 0; int NumberOfTries = 100; for (c = 0; c < NumberOfTries; c++) { RefreshRates(); ticket = OrderSend(Symbol(), OP_BUY, pLots, Ask, 0, Ask-0.0005, Ask+0.0005, pComment, pMagic, pDatetime, pColor); err = GetLastError(); if (err == 0/* NO_ERROR */) break; if (!(err == 4/* SERVER_BUSY */ || err == 137/* BROKER_BUSY */ || err == 146/* TRADE_CONTEXT_BUSY */ || err == 136/* OFF_QUOTES */)) break; Sleep(5000); } return(ticket); } int OrderSell(double pLots, string pComment, int pMagic, int pDatetime, color pColor) { int ticket = 0; int err = 0; int c = 0; int NumberOfTries = 100; for (c = 0; c < NumberOfTries; c++) { RefreshRates(); ticket = OrderSend(Symbol(), OP_SELL, pLots, Bid, 0, Bid+0.0005, Bid-0.0005, pComment, pMagic, pDatetime, pColor); err = GetLastError(); if (err == 0/* NO_ERROR */) break; if (!(err == 4/* SERVER_BUSY */ || err == 137/* BROKER_BUSY */ || err == 146/* TRADE_CONTEXT_BUSY */ || err == 136/* OFF_QUOTES */)) break; Sleep(5000); } return(ticket); } //вызовы функций ticket = OrderBuy(lot, "---"+count+" ---", MagicNumber, 0, HotPink); Print(ticket+":тикет");//здесь выдает -1 if (ticket < 0) { Print("Error: ", GetLastError());//здесь выдает "0"; return (0); } ticket = OrderSell(lot, "---"+count+" ---", MagicNumber, 0, HotPink); Print(ticket+":тикет"); if (ticket < 0) { Print("Error: ", GetLastError()); return (0); }
double ld_MarginPosition = AccountFreeMargin() - AccountFreeMarginCheck();
Всем доброго времени суток! У меня возникла проблема, и я не могу понять в чем дело.
Даны две функции. Если я вызываю 1, то ничего не работает. То втором случае, все работает. Подскажите в чем ошибка?
Заранее спасибо!
Функция GetLastError(), которая в OrderSell и OrderBuy в цикле, обнуляет значение ошибки (см. справку по GetLastError ВНИМАТЕЛЬНО), поэтому
при вызове ф-ции даст 0. Попробуйте сделать распечатку непосредственно в цикле, тогда увидите, где из-за какой ошибки не открывается ордер.
Сделал простенький индикатор, который "переворачивает" инструмент. Иногда, для восприятия легче видеть пару наоборот, да и "замыливается" глаз, глядя на одну и ту же картинку. К сожалению во второй части, внизу график берется от Close[i], как, без чтения из файла(никогда даже не пробовал работать с файлом), можно вывести полноценный график, есть у кого-нибудь мысли.
Все равно не нашел ни поиском не среди функций Кима.
Как правильно рассчитать залог открытых ордеров отдельно?
считал так:
получались отличные значение от того что показывает терминал
double ld_MarginPosition = AccountFreeMargin() - AccountFreeMarginCheck();
не получится просто отнять мне нужны расчеты отдельно для каждого направления.