повторно
Здравствуйте уважаемые. Если возможно, впишите пожалуйста в код советника "Лот от баланса".Буду Вам очень признателен.
С уважением Рефа
Здравствуйте Я в программировании неграмотный,но вот нашёл в инете следующее:
внешние переменные
double Lots = 0.1;//начальный лот
extern double MaximumRisk = 0.1;//прогресия лота на каждые 500 баланса +0.1 лот. например депозит стал 1000 лот =0.2, 1500 лот =0.3 итд
extern double DecreaseFactor = 3.0;
extern double balans = 500; //шаг баланса
далее функцию которая ниже ставите перед стартом.
double LotsOptimized() {
double minlot = MarketInfo(Symbol(), MODE_MINLOT);
double maxlot = MarketInfo(Symbol(), MODE_MAXLOT);
double lot = Lots;
int orders = OrdersHistoryTotal();
int losses = 0;
lot = NormalizeDouble(AccountFreeMargin() * MaximumRisk / balans, 2);
if (DecreaseFactor > 0.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.0) break;
if (OrderProfit() < 0.0) losses++;
}
if (losses > 1) lot = NormalizeDouble(lot - lot * losses / DecreaseFactor, 2);
}
if(lot < minlot) lot = minlot;
if(lot > maxlot) lot = maxlot;
return (lot);}
далее в коде находите функцию OrderSend и вставляете в нее где лот
LotsOptimized()
ticket=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,stop,Ask+Takeprofit*Point,"",MagicNumber,0,Green);
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
может быть подойдёт для данной совы
помогите пожалуйста