Что делать? Доработать советника, естественно. Зачем в маркет сразу?
Совет простой - рассчитывайте текущую свободную маржу (используйте для это стандартные функции mql, как это сделать в инете много примеров).
Советники тестируются с параметрами по умолчанию и депозитом 5000. Самый простой способ уменьшить лот по умолчанию. Если-же уменьшать некуда, то лучше такие советники не писать.
Можно конечно и проверить на остаток средств после открытия ордера в текущий момент, а не по цене отложки.
Можно конечно и проверить на остаток средств после открытия ордера в текущий момент, а не по цене отложки.
Vitalie Postolache:
Что делать? Доработать советника, естественно. Зачем в маркет сразу?
Советник, рабочий, и по тихоньку работает у меня на центовом счете, я просто не ставлю расстояние до отложки 2 пунка....
Что делать? Доработать советника, естественно. Зачем в маркет сразу?
Anastasia Danilova:
Советник, рабочий, и по тихоньку работает у меня на центовом счете, я просто не ставлю расстояние до отложки 2 пунка....
Советник, рабочий, и по тихоньку работает у меня на центовом счете, я просто не ставлю расстояние до отложки 2 пунка....
Так вы определитесь, вам маржи не хватает, или расстояние стоплевел слишком мало?
Это всё и многое другое должно проверяться советником в торговом окружении счёта ДО отправки торгового приказа на сервер и в случае несоответствия ордера условиям торговли на счёте - приказ не отправлять, а пытаться или скорректировать ошибочное значение, или уведомить терйдера, в чём состоит ошибка и как её исправить.
У вас, похоже, проверок нет, или если есть, то не на все случаи.
Да есть проверки... все согласно требованиям Маркета...наверное :(
Есть у меня абсолютно все проверки!!! просто создаются невыносимые условия для работы...
Anastasia Danilova:
Есть у меня абсолютно все проверки!!! просто создаются невыносимые условия для работы...
Никто эти условия не создаёт. Просто запускается советник в тестере, и смотрится журнал. Если есть ошибка, номер ошибки и тем-более причину никто не будет выяснять, никому это не надо. Я сталкивался с такой проблемой, написал что сделать, но это было проигнорировано. Как знаете...
Есть у меня абсолютно все проверки!!! просто создаются невыносимые условия для работы...
Alexey Viktorov:
Никто эти условия не создаёт. Просто запускается советник в тестере, и смотрится журнал. Если есть ошибка, номер ошибки и тем-более причину никто не будет выяснять, никому это не надо. Я сталкивался с такой проблемой, написал что сделать, но это было проигнорировано. Как знаете...
Спасибо Вам за подсказку, уже работаю над этим..
Никто эти условия не создаёт. Просто запускается советник в тестере, и смотрится журнал. Если есть ошибка, номер ошибки и тем-более причину никто не будет выяснять, никому это не надо. Я сталкивался с такой проблемой, написал что сделать, но это было проигнорировано. Как знаете...
Пример функции расчета лота для текущей маржи:
double calculateLotSize()
{
double stopLoss = ((MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD))*3) * MarketInfo(Symbol(), MODE_POINT);
double takeProfit = ((MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD))*2) * MarketInfo(Symbol(), MODE_POINT);
double minLot = MarketInfo(Symbol(),MODE_MINLOT);
double maxLot = MarketInfo(Symbol(),MODE_MAXLOT);
double OneLotMargin = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double MarginAmount = AccountBalance()/3.0;
double lotMM = MarginAmount/OneLotMargin;
double LotStep = MarketInfo(Symbol(),MODE_LOTSTEP);
lotMM = NormalizeDouble(lotMM/LotStep,0)*LotStep;
if(lotMM < minLot) {
lotMM = minLot;
}
if(lotMM > maxLot) {
lotMM = maxLot;
}
return(lotMM);
}
double calculateLotSize()
{
double stopLoss = ((MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD))*3) * MarketInfo(Symbol(), MODE_POINT);
double takeProfit = ((MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD))*2) * MarketInfo(Symbol(), MODE_POINT);
double minLot = MarketInfo(Symbol(),MODE_MINLOT);
double maxLot = MarketInfo(Symbol(),MODE_MAXLOT);
double OneLotMargin = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double MarginAmount = AccountBalance()/3.0;
double lotMM = MarginAmount/OneLotMargin;
double LotStep = MarketInfo(Symbol(),MODE_LOTSTEP);
lotMM = NormalizeDouble(lotMM/LotStep,0)*LotStep;
if(lotMM < minLot) {
lotMM = minLot;
}
if(lotMM > maxLot) {
lotMM = maxLot;
}
return(lotMM);
}

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Советник работает на отложках и для активации отложки может не хватать маржи, маркет не пропускает, подскажите что делать.
Просто такой алгоритм работы, ни кто отложку каждые 2 пункта ставить не будет
Отложка не одна, а может быть несколько.