- Вопросы от начинающих MQL5 MT5 MetaTrader 5
- Предложения и благодарности [Ответы новичкам в картинках]
- Пиши и зарабатывай на MQL5
{
double lot=Lots;
int orders=HistoryTotal(); // history orders total
int losses=0; // number of losses orders without a break
//--- select lot size
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//--- calcuulate number of losses orders without a break
if(DecreaseFactor>0)
{
for(int i=orders-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("Error in history!");
break;
}
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
continue;
//---
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
if(losses>2)
ExpertRemove();
}
//--- return lot size
if(lot<0.1) lot=0.1;
return(lot);
{
double lot=Lots;
int orders=HistoryTotal(); // history orders total
int losses=0; // number of losses orders without a break
//--- select lot size
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//--- calcuulate number of losses orders without a break
if(DecreaseFactor>0)
{
for(int i=orders-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("Error in history!");
break;
}
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
continue;
//---
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
if(losses>2)
ExpertRemove();
}
//--- return lot size
if(lot<0.1) lot=0.1;
return(lot);
DecreaseFactor в данном коде не объявлен, значит вам не ответят на этот вопрос
эксперт будет удаляться с графика если будет 3 и более убыточных сделок
Что такое в этом коде значит DecreaseFactor>0 и будет ли ли срабатывать остановка после двух убыточных сделок советника ?
int LotsOptimized()
{
int losses=0; // number of losses orders without a break
for(int i=HistoryTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("История закрытых ордеров недоступна!");
break;
}
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
continue;
//---
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
if(losses>=2)ExpertRemove();
return(0);
}
Вот что Вам нужно
Два и более убыточных ордера подряд выгрузят советника
Управляя отображением истории закрытых ордеров на вкладке "История счета" можно продолжить работу, но не в текущий день
Вот что Вам нужно
Вопрос после того как сработает ExpertRemove() придется заново устаналивать эксперт?После того как отключиться советник в истории будут сохранены его сделки и при сдледущем включении он будет видеть сови сделки .а там 2 убыточные уже есть ,будет ли он дальше работать или придеться утановить нвый меджик?
он будет постоянно выгружаться, надо будет сменить магик,
либо явно прописывать какие сделки считать, Т.е. считать только те сделки, которые были открыты и закрыты с момента запуска эксперта
Вопрос после того как сработает ExpertRemove() придется заново устаналивать эксперт?После того как отключиться советник в истории будут сохранены его сделки и при сдледущем включении он будет видеть сови сделки .а там 2 убыточные уже есть ,будет ли он дальше работать или придеться утановить нвый меджик?
У Вас рассматриваются все ордера в истории без учета магик-номера.
Учитываются только ордера символа, на котором установлен эксперт
Вы подчистили код ,но мне нужно было там еще чтобы и по максимуму относительно баланса я мог подбирать лот .
он будет постоянно выгружаться, надо будет сменить магик,
либо явно прописывать какие сделки считать, Т.е. считать только те сделки, которые были открыты и закрыты с момента запуска эксперта
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования