- FOREX - Тенденции, прогнозы и следствия (Эпизод № 35: Март 2014) Продолжение следует...
- Подправьте эксперт пожалуйста.
- Закрытие позиций. По сигналу индикатора.
Здравствуйте! Сижу целый день немогу понять в чем причина, если эксперт работает без ММ прекрасно ставится лот 0,01, если подключаю библиотеку Игоря Кима b-Lots.mqh лот идет минимальный 0,1, даже если оставить фиксированный лот. Спасибо!
Эту библиотеку Игорь написал еще в 2005 году. Тогда дилинговые центры с меньшим объемом, чем 0,1 не работали.
------------
Откройте код библиотеки и найдите в самом низу:
...
...
if (dLot<0.1) dLot=0.1;
return(dLot);
}
Исправьте 0.1 на 0.01. Теперь эксперт будет дружить с данной библиотекой ;)
Спасибо за помощь, пробовал пишет 2008.11.08 19:25:27 2008.11.03 15:39 exp FDAXZ8,M1: OrderSend error 134
2008.11.08 19:25:27 2008.11.03 15:39 Tester: not enough money for buy 0.10 FDAXZ8 at 5021.0 sl: 0.0 tp: 0.0 [2008.11.03 15:39]
все равно хочет открыться лотом 0,1
Нормальный эксперт работает любым лотом. Это просто в эксперте нет контроля на размер лота.
Хотя ошибка 134 говорит о недостатке средств для открытия сделки. Депозита не хватает.
Попробуйте сделать так:
=================================
В библиотеке убрать эту строчку (отмечена красным):
...
...
if (dLot<0.1) dLot=0.1;
return(dLot);
}
=================================
В советнике перед самым открытием поставить условие (отмечено зеленым):
.....
....
if (GetSizeLot()<0.01) return(0);
OrderSend(.....)
....
....
=================================
//=============================================================================== // Функция расчитывает объем лота исходя из заданного уровня риска //=============================================================================== double GetLots(string _Symbol) { double lot=Lots; double LotMin=MarketInfo(_Symbol,MODE_MINLOT); double LotMax=MarketInfo(_Symbol,MODE_MAXLOT); double LotStep=MarketInfo(_Symbol,MODE_LOTSTEP); if (Risk>0) lot=MathRound(AccountEquity()*Risk/10000.0/LotStep)*LotStep; lot=MathMax(LotMin,MathMin(LotMax,lot)); return(lot); }Пример кода, который я обычно использую.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования