Библиотеки: Maximum Percentage of Equity Risk

 

Maximum Percentage of Equity Risk:

Этот код позволяет вам установить максимальный процент риска от эквити.

Он проверяет, соответствуют ли риску запрашиваемые лоты на покупку/продажу. Если нет, лоты автоматически исправляются так, чтобы они подходили под установленный риск.

Автор: Remi PASSANELLO

 
У вас нет версии MQL4?
 
Roszey:
Пожалуйста, у вас нет версии MQL4?
bool UseMaximumPercentageatRisk = true;
double MaximumPercentageatRisk =1;
bool IsMicroAccount = true ; //for accounts allowing 0.01 lots
double GetLots(double lotsize_bn)
  {

   int tmpdecimal=1;
   if(IsMicroAccount)
     {
      tmpdecimal=2;
     }
   double old_lot=lotsize_bn;
   if((NormalizeDouble(AccountFreeMargin()*(MaximumPercentageatRisk/100)/1000.0,tmpdecimal)<lotsize_bn) && UseMaximumPercentageatRisk)
     {
      lotsize_bn=NormalizeDouble(AccountFreeMargin()*(MaximumPercentageatRisk/100)/1000.0,tmpdecimal);
      if(lotsize_bn<MarketInfo(Symbol(),MODE_MINLOT))
        {
         lotsize_bn=MarketInfo(Symbol(),MODE_MINLOT);
         Print("RPTrade-Lot adjusted from ",old_lot," to minimum size allowed by the server of ",lotsize_bn," but it DOES NOT comply with Maximum Risk condition. User interaction is required!");
        }
      else
        {
         Print("RPTrade-Lot adjusted from ",old_lot," to ",lotsize_bn," to comply with Maximum Risk condition. Each trade can risk only ",MaximumPercentageatRisk,"% of free margin.");
        }
     }
   return (lotsize_bn);
  }

Должно быть что-то вроде этого ;-)

R.

 
А не подскажете как его пристроить к советнику?
 

I was looking at your code in MQL5 for "Maximum Percentage of Equity Risk". 
I have some doubts regarding to how to use it. I have the mqh file in the include file and use #include <RPTrade.mqh> at the expert that I want to use. 
Can you elaborate more on how to use this code in a expert advisor please? I'm new to coding. I have made expert advisors, but I don't know how to call a class or function in another file.

Мне нужно вызвать функцию GetLots (lotize), правильно? И в запросе на заказ нужно использовать значение "lotize" для лотов?

Спасибо!

 
patagonia2015:

Здравствуйте, Patagonia2015,

Сначала вы должны добавить 2 входа в ваш советник:

bool 	 UseMaximumPercentageRisk=true;
double 	 MaximumPercentageRisk=25;

Затем вы должны вызвать функцию GetLots() и установить в скобках желаемый размер лота, например, call:

double  MyLotSize;
MyLotSize = GetLots (100);

И в соответствии с тем, что вы ввели как MaximumPercentageRisk и ваш эквити счета, вы получите правильный размер.

Например, если MaximumPercentageRisk = 1, а ваш капитал = 1000$, функция вернет 0,01 лота.

Торгуйте с низким риском, рынки на самом деле дикие ;-)

 

Здравствуйте, спасибо, что поделились этой информацией.

Я новичок, но мне бы хотелось иметь возможность быть последовательным в отношении размера лота, и я хотел бы знать, как я могу использовать ваш код для этого?

Заранее спасибо

 
Remi Passanello эквити счета, вы получите нужный размер.

Например, если MaximumPercentageRisk = 1, а ваш капитал = 1000$, функция вернет 0,01 лота.

Торгуйте с низким риском, рынки на самом деле дикие ;-)

Извините, вы немного запутали меня, когда сказали"вы должны вызвать функцию GetLots() и установить желаемый размер лота в скобках"

Ядумал, что вся суть в том, чтобы вы получили соответствующие лоты, основанные на выбранном вами риске и текущем балансе счета.

Немного ясности было бы очень признательно. Спасибо
 
Muhammad Shamsuddeen Muhammad #:
Извините, вы немного запутали меня, когда сказали"вы должны вызвать функцию GetLots() и установить желаемый размер лота в скобках"

Ядумал, что вся суть в том, чтобы вы получили соответствующие лоты, основанные на выбранном вами риске и текущем балансе счета.

Немного ясности было бы очень признательно. Спасибо
Я думал точно о том же.