Нужна помощь в модернизации советника ММ функции

指定

заменить с минимальным вмешательством в генератор шаблонов

стратегий в одном терминале может быть много


AccountBalance() * RiskInPercent / 100

на

(AccountBalance() - (all potential losses of all opened and pending orders))* RiskInPercent / 100

 

//Maximum amount of money to risk 
   double moneyToRisk = NormalizeDouble(AccountBalance() * RiskInPercent / 100, 7);
   

double sqMMRiskFixedBalancePct(string symbol, int orderType, double price, double sl, double RiskInPercent, int decimals, double LotsIfNoMM, double MaximumLots, double multiplier, double sizeStep) {
   Verbose("Computing Money Management for order -  Risk fixed % of account balance");

   if(UseMoneyManagement == false) {
      Verbose("Use Money Management = false, MM not used");
      return (mmLotsIfNoMM);
   }
      
   symbol = correctSymbol(symbol);
   sl = NormalizeDouble(sl, (int) MarketInfo(symbol, MODE_DIGITS));
   
   double openPrice = price > 0 ? price : (orderType == OP_BUY ? sqGetAsk(symbol) : sqGetBid(symbol));
   double LotSize=0;

   if(RiskInPercent < 0 ) {
      Verbose("Computing Money Management - Incorrect RiskInPercent size, it must be above 0");
      return(0);
   }
   
   double PointValue = MarketInfo(symbol, MODE_TICKVALUE) / MarketInfo(symbol, MODE_TICKSIZE);    
   double Smallest_Lot = MarketInfo(symbol, MODE_MINLOT);
   double Largest_Lot = MarketInfo(symbol, MODE_MAXLOT);    
   double LotStep = MarketInfo(symbol, MODE_LOTSTEP);

   //Maximum amount of money to risk 
   double moneyToRisk = NormalizeDouble(AccountBalance() * RiskInPercent / 100, 7);
                                                                                                                                                       
   //Maximum drawdown of this order if we buy 1 lot 
   double oneLotSLDrawdown = NormalizeDouble(PointValue * MathAbs(openPrice - sl), 7);
   if(oneLotSLDrawdown > 0) {
  LotSize = moneyToRisk / oneLotSLDrawdown;
   }
   else {
  LotSize = 0;
   }

   LotSize = LotSize * multiplier;
   
   // round computed trade size 
   LotSize = roundDown(LotSize, sizeStep, decimals);

   //--- MAXLOT and MINLOT management

   Verbose("Computing Money Management - Smallest_Lot: ", DoubleToStr(Smallest_Lot), ", Largest_Lot: ", DoubleToStr(Largest_Lot),", Computed LotSize: ", DoubleToStr(LotSize));
   Verbose("Max money to risk: ", DoubleToStr(moneyToRisk), ", SL:", DoubleToStr(sl), ", One lot drawdown: ", DoubleToStr(oneLotSLDrawdown), ", Point value: ", DoubleToStr(PointValue));

   if(LotSize <= 0) {
      Verbose("Calculated LotSize is <= 0. Using LotsIfNoMM value: ", DoubleToStr(LotsIfNoMM), ")");
LotSize = LotsIfNoMM;
}
   
   if(LotSize > MaximumLots) {
      Verbose("LotSize is too big. LotSize set to maximal allowed value (MaximumLots): ", DoubleToStr(MaximumLots));
      LotSize = MaximumLots;
   }

   //--------------------------------------------

   if (LotSize < Smallest_Lot) {
      Verbose("Calculated LotSize is too small. Minimal allowed lot size from the broker is: ", DoubleToStr(Smallest_Lot), ". Please, increase your risk or set fixed LotSize.");
      LotSize = 0;
   }
   else if (LotSize > Largest_Lot) {
      Verbose("LotSize is too big. LotSize set to maximal allowed market value: ", DoubleToStr(Largest_Lot));
      LotSize = Largest_Lot;
   }

   return (LotSize);
}

ファイル:

類似した注文
Нужен советник который можно установить на МТ5, функции которые требуются; 1) отключать возможность торговать если трейдер допустил просадку в -2% от депозита (уровень просадки админ может менять) 2) отключать возможность торговать если трейдер сделал тейк на более чем 10% от депозита (уровень тейка админ может менять) функция торговли автоматически отключается на 24 часа, также админ может включать функцию. Доп.инфу
Есть советник MT 5 для Мосбиржи с простой стратегией основанной на двух скользящих средних: на нижней МА покупка, на верхней МА продажа. Нужно исправить две вещи: 1. Сейчас на покупку выставляются лимитные ордера, а продажа набранной позиции осуществляется тейк-профитом. Нужно изменить советник, так, чтобы закрывалась позиция также лимитным ордером, а не тейк-профитом. Здесь нужно учесть что закрытие может быть
Есть советник, нужно только поменять название,описание, сделать привязку к счету, чтобы была защита,чтобы мы могли клиенту давать советник, и была привязка к 1-3 счетам только. Если возможно , сделать привязку к времени, чтобы была привязка лицензии еще на время, например на месяц, 2-3 по ценам договоримся отдельно
Нужен эксперт который будет проверять есть ли интернет соединение, есть ли связь с брокером, есть ли обновления котировок если нет то реконнект аккаунта через интервал времини. терминалов можеть быть дестяки открыто в каждом терминале свой реконнект MQL5 expert цена вопросы? конверт mql5 на mql5 смотреть файл
Нужен советник который может скачать файл с любым расширением (png, jpg, exe и т.д.) по заданной ссылке и сохранить в указанную папку. Без использования сторонних библиотек, только WinAPI. Файл советника нужен с открытым исходным кодом
Куплю Вашего прибыльного советника дорого Должна быть возможность протестировать его на истории и реальные статистические показатели РЕАЛЬНОГО счета Желательно не мартингейл, после тестирования и предоставления статистики счета предложу свою цену
Тех задания 1. Открывает сделки по сигналу индикатора. Перед открытием смотреть на фильтр и если фильтр тоже в этом направлении то открывает сделку если фильтр показывает тренд в противоположенную сторону то не открывает сделку. 2. Можно было выбирать торговлю но БООМ или КРАШ. 3. Стоплос 2 типа по пипсам и по кирпичикам. (при закрытие по кирпичикам если фильтр меняет тренд то задаем N кирпичиков после смени тренда
Необходимо разработать ПО для торговли на финансовых рынках с возможностью подключения к различным брокерам и управлением торговыми операциями по нашим сигналам. Сигналы поступают в табличку формата .csv, которая находится на удаленном сервере. Видим это примерно так: в нашу таблицу поступает сигнал negative (на продажу) или positive (на покупку) актива. Клиент получает этот сигнал и заданным количеством лотов
Это будет сеточный робот с набором 25-30 функций . К нему идет утилита ( торговая панель ) . Система будет работать как в автономном режиме , так и полу автономном , где трейдер задает точку входа, а робот ее завершает. Нужен опытный и быстрый мастер с реализацией чистого кода . Важна быстрая обратная связь, ходьбы 1-3 раза в день
Нужна консультация, а именно разъяснение механизма отключения сервера брокера на выходные дни и как это влияет на советника, слабые стороны. Что можно сделать с советником чтобы предотвратить сбой алгоритмов в будущем

プロジェクト情報

予算
30 - 50 USD
VAT(付加価値税) (22%): 6.6 - 11 USD
合計: 37 - 61 USD
開発者用
27 - 45 USD

依頼者

出された注文4
裁定取引数0