Piotr Storozenko:
Добрый день.
Вставьте проверки на достаточность средств. Проверяйте размер лота. Нормализуйте цену выставления и объем сделки.
double Ask_=MarketInfo(Symbol(),MODE_ASK); double Bid_=MarketInfo(Symbol(),MODE_BID); int Digits_=(int)MarketInfo(Symbol(),MODE_DIGITS); if(MarketInfo(Symbol(),MODE_MARGINREQUIRED)*Lot()>AccountBalance()) return; if(AccountFreeMarginCheck(Symbol(),OP_SELL,Lot())<0.0) return; if(AccountFreeMarginCheck(Symbol(),OP_SELL,Lot())>0.0 && GetLastError()!=134) { OrderSend(Symbol(),OP_SELL,NormalizeDouble(Lot(),2),NormalizeDouble(Bid_,Digits_),50,0.0,0.0,"",0); } OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid_,Digits_),50)) {}; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double Lot() { double OutLot=0.01; double LotMin=MarketInfo(Symbol(),MODE_MINLOT); double LotStep=MarketInfo(Symbol(),MODE_LOTSTEP); OutLot=MathFloor(OutLot/LotStep)*LotStep; if(OutLot<LotMin) OutLot=LotMin; return NormalizeDouble((double)OutLot); }
Vladimir Tkach:
Спасибо, проверки о которых пишите в коде присутствуют, но попробую еще покомбинироварь с ними.
Вставьте проверки на достаточность средств. Проверяйте размер лота. Нормализуйте цену выставления и объем сделки.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день.
Попробовал сделать проверку валидации для Маркета. В отчете 1 ошибка - нет торговых операций. В советнике нет никаких ограничений по трейдингу, советник одновалютный, используется хеджинг на скореллированной паре ( для тестера указывается пара на которой тестируется) , советник не новостной.
Что может быть причиной?
Огромное спасибо за каждую подсказку.
Скрины результата валидации и теста в тестере прикреплены.