Правильный расчет лота от % депо - страница 2

 
Roger:

Конечно, перепутал, по настоящему будет так - 100*100*100/100/100000=0.1

ах, извините, это я на золоте смотрел.. так что же по золоту теперь не торговать по вашей формуле ?

но все равно, даже киви,наверное, таким лотом не купить будет, а если взять евробакс, там вообще предел где-то 0.05 (речь о реале)..

 
Ну вот зачем передергивать, не нравится - не ешь, а точнее не умеешь пользоваться - не суйся. Если бы подставил в формулу как следует, все бы получилось, даже на золоте.
 
Roger:
Ну вот зачем передергивать, не нравится - не ешь, а точнее не умеешь пользоваться - не суйся. Если бы подставил в формулу как следует, все бы получилось, даже на золоте.

передергивают затвор..

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

 
keekkenen:

передергивают затвор..

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


При чем тут хамить? Вы первый пришли и  начали - формула - неправильная, а зачем это вообще надо. Даже не разобравшись, по наитию, хуже не будет, если сперва обгадить.

Если доллар стоит на втором месте, формула расчета другая. 

Факты, между прочим, тоже передергивают. 

 
Roger:
Ну вот зачем передергивать, не нравится - не ешь, а точнее не умеешь пользоваться - не суйся. Если бы подставил в формулу как следует, все бы получилось, даже на золоте.

ну, допустим, открылись таким (0.1) лотом, возникает резонный вопрос и сколько пунктов до дяди Коли осталось, сколько мы выдержим ?

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

 
Ну и какой нормальный будет открываться на 100% от депо? Задача была - я хочу открыться на 5% от своих свободных денег, сколько это будет в лотах. Больше никакой мысли не преследовалось.
 

keekkenen:

если у нас 100 баксов, плечо 100 и 100% риска, т.е. открываемся по полной, то что получаем ?


keekkenen:

ну, допустим, открылись таким (0.1) лотом, возникает резонный вопрос и сколько пунктов до дяди Коли осталось, сколько мы выдержим ?

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

Вы часто открываете позу на все депо, да еще на реальном счете (и по золоту)?

Ну и как результаты?

 
wenay:
Эта гарздо лучше, сдесь нет рассчета плеча тут другой способ решения. Мне очень понравился Расчет лота от % депо на данное растояние пп. т.е. "чтобы слить 20% депо за 10пп = надо ?лота" функция это вопрос и считает

Чето не заметил изменений в расчетах, тиквалуе как был =1 так и остался при изменении плеча, так и слить можно при изменении плеча.

Можете сами проверить скриптом вашу функцию, открыв сначала демо счет с размером плеча 1/200 и открыть еще один счет с размером 1/100 изменений в размере лота не происходит а тиквалуе как был равен 1 так и остался, по моему самый простой способ это просто внести начальное плечо во внешних переменных и от него скакать в расчетах проверено работает, при изменении плеча в автомате на меньшее сразу лот рассчитывается по меньшему плечу.

int start()
  {

   double  tic  = MarketInfo( Symbol(), MODE_TICKVALUE ); 

   Comment(
   "AccountLeverage  =  ",AccountLeverage() ,"\n",
   "LotSize =  ",DoubleToStr(LotSize(OP_BUY,20,300),2)," TickValue =  ",DoubleToStr(tic,2) );

   return(0);
  }
//+------------------------------------------------------------------+
double LotSize( int type, double LotRisk, int SL  )
{   //    int znakov_lot=0;
        double  lot_min         = MarketInfo( Symbol(), MODE_MINLOT  ); 
        double  lot_max         = MarketInfo( Symbol(), MODE_MAXLOT  ); 
        double  lot_step        = MarketInfo( Symbol(), MODE_LOTSTEP ); 
        double  lotcost         = MarketInfo( Symbol(), MODE_TICKVALUE );       
                
        double  lot             = 0.0;
        double  dollarsPerPip   = 0.0;
        
        lot = AccountBalance()*LotRisk/100.0;
        dollarsPerPip = lot/SL;
     //   if (lot_min<2) {znakov_lot=0;  if (lot_min<0.2) {znakov_lot=1;  if (lot_min<0.02) {znakov_lot=3;  if (lot_min<0.002) {znakov_lot=4; }}}}      
        lot = NormalizeDouble( dollarsPerPip/lotcost, 2 );      
        
        lot = NormalizeDouble( lot / lot_step, 0 ) * lot_step;
        
        if ( lot < lot_min ) lot = lot_min;
        if ( lot > lot_max ) lot = lot_max;
        
        if ( AccountFreeMarginCheck( Symbol(), type, lot ) < 10 || GetLastError() == 134 ) 
        { 
                Alert ( "Impossible to open position with lot = ", DoubleToStr( lot, 2 ), ". Not enough money." );
                return(-1);
        }

        return( lot );
}
 
для чего нужен NormalizeDlouble() в расчете лота?
 
wenay:
Эта гарздо лучше, сдесь нет рассчета плеча тут другой способ решения. Мне очень понравился Расчет лота от % депо на данное растояние пп. т.е. "чтобы слить 20% депо за 10пп = надо ?лота" функция это вопрос и считает

lot = AccountBalance()*LotRisk/100.0;
а вот точно здесь должно быть AccountBalance, а не AccountFreeMargin, то вдруг не эксперт не одним лотом работает?