Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 801

 

В объявленных переменных есть tickvalue, но в расчётах не участвует. Где она должна быть?

  double lots_bzu = 0;
  double sum_bzu = 0;
  double tickvalue=MarketInfo(Symbol(),MODE_TICKVALUE);
  double price_bzu_o = 0;
  for (double i_bzu = 0; i_bzu < OrdersTotal(); i_bzu++)
  {
   if ( !OrderSelect ( i_bzu , SELECT_BY_POS , MODE_TRADES )) break;
   if ( OrderSymbol () != Symbol()) continue;

   if ( OrderType () == OP_BUY)
   {
    lots_bzu = lots_bzu + OrderLots ();
    sum_bzu = sum_bzu + OrderLots () * OrderOpenPrice ();
   }

   if ( OrderType () == OP_SELL )
   {
    lots_bzu = lots_bzu - OrderLots ();
    sum_bzu = sum_bzu - OrderLots () * OrderOpenPrice ();
   }
   
   price_bzu_o = 0;
   if (lots_bzu != 0 )
   price_bzu_o = sum_bzu / lots_bzu;                                  // уровень общего безубытка
  }
 
yiduwi:

В объявленных переменных есть tickvalue, но в расчётах не участвует. Где она должна быть?

при определении уровня безубытка  tickvalue требуется для учёта свопа и комиссий в этом самом уровне.

но во взятом вами коде этого нет, возможно сделки быстрые, свопы не образуются или крайне малы, поэтому можете просто забить закомментировать;-)

 
Maxim Kuznetsov:

при определении уровня безубытка  tickvalue требуется для учёта свопа и комиссий в этом самом уровне.

но во взятом вами коде этого нет, возможно сделки быстрые, свопы не образуются или крайне малы, поэтому можете просто забить закомментировать;-)

Спасибо) Своп и комиссию пишу в переменную sumsvop, как учитывать своп и соответственно куда эту цену тика? 

double sumsvop = 0;
  double tickvalue=MarketInfo(Symbol(),MODE_TICKVALUE);
  
  for (int i_bzu = 0; i_bzu < OrdersTotal(); i_bzu++)
  {
   if ( !OrderSelect ( i_bzu , SELECT_BY_POS , MODE_TRADES )) break;
   if ( OrderSymbol () != Symbol()) continue;
   if ( OrderType () == OP_BUY)
   {
    lots_bzu = lots_bzu + OrderLots ();
    sum_bzu = sum_bzu + OrderLots () * OrderOpenPrice ();
    sumsvop+=OrderSwap()+OrderCommission();                            //Swap

   }

   if ( OrderType () == OP_SELL )
   {
    lots_bzu = lots_bzu - OrderLots ();
    sum_bzu = sum_bzu - OrderLots () * OrderOpenPrice ();
    sumsvop+=OrderSwap()+OrderCommission();                            //Swap

   }
   
   price_bzu_o = 0;
   if (lots_bzu != 0 )
   price_bzu_o = sum_bzu / lots_bzu;                                  // уровень общего безубытка
  }
 
yiduwi:

Спасибо), как учитывать своп и соответственно куда эту цену тика?

подумайте сами.

у вас есть объём позиции и известен её убыток по балансу (свопы и комисии). На сколько пунктов надо подкорректировать


 
Maxim Kuznetsov:

подумайте сами.

у вас есть объём позиции и известен её убыток по балансу (свопы и комисии). На сколько пунктов надо подкорректировать


Понятно что своп и комиссию нужно перевести в пункты. Как в этом участвует цена тика?

 
yiduwi:

Понятно что своп и комиссию нужно перевести в пункты. Как в этом участвует цена тика?

ткните уже F1 на
MODE_TICKVALUE

он же у вас есть в коде. И именно его применение вызвало вопрос.

 
Maxim Kuznetsov:
ткните уже F1 на

он же у вас есть в коде. И именно его применение вызвало вопрос.

Так я и спрашиваю как она (tickvalue) в формуле пересчёта денег в пункты участвует.

double tickvalue=MarketInfo(Symbol(),MODE_TICKVALUE);
 
Привет. Есть у кого индикатор который пишет объем на графике у открытых ордеров? Или подскажите как
 

у меня есть в формате csv котировки тиковые, как их засунуть в тестер МТ 5 возможно?

Для МТ 4 например есть крутой скрипт csv2fxt, для 5 есть аналог?

 
Здравствуйте! В настройках терминала Сервис-Настройки-Советники можно добавить ссылку в доверенную зону в WebRequest.....скажите ее можно потом как нить удалить оттуда? Просто она даже после редактирования все ровно работает и никак не удаляется из терминала...
Причина обращения: