Ошибки, баги, вопросы - страница 19

 
Yedelkin:

Кажется понял, о какой особенности идёт речь: определить размер свободных средств, которые останутся, если будет открыта позиция. Посмотрите следующие разделы справочника MQL5:

- Класс CAccountInfo; 

- FreeMarginCheck. 

 Спасибо за подсказку, со стандартной библиотекой еще не разбирался пока, по видимому без нее не обойтись.
 
sergey1294:
 Спасибо за подсказку, со стандартной библиотекой еще не разбирался пока, по видимому без нее не обойтись.

Почему не обойтись? Вполне даже можно...


Кстати, вопрос разработчикам - А что рассчитывать маржу нужно только для Forex (или там есть еще поле для работы)?


Я в частности про это:

double CAccountInfo::MarginCheck(const string symbol,
ENUM_ORDER_TYPE trade_operation,double volume) const
{
   double margin       =0.0;
   double contract_size=SymbolInfoDouble(symbol,SYMBOL_TRADE_CONTRACT_SIZE);
   long   leverage     =Leverage();
   string work;
   double price;
//---
   switch(SymbolInfoInteger(symbol,SYMBOL_TRADE_CALC_MODE))
     {
      case SYMBOL_CALC_MODE_FOREX:
         work=SymbolInfoString(symbol,SYMBOL_CURRENCY_MARGIN);
         if(work==Currency()) price=1.0;
         else                 price=SymbolInfoDouble(work+Currency(),SYMBOL_BID);
         margin=price*volume*contract_size/leverage;
         break;
      case SYMBOL_CALC_MODE_CFD:
         break;
      case SYMBOL_CALC_MODE_FUTURES:
         break;
      case SYMBOL_CALC_MODE_CFDINDEX:
         break;
      case SYMBOL_CALC_MODE_CFDLEVERAGE:
         break;
     }
//---
   return(margin);
}
 

Также мне не очень понятна логика вот этой функции (верней она как раз понятна, не понятно почему все реализовано таким образом)...

double CAccountInfo::FreeMarginCheck(const string symbol,
ENUM_POSITION_TYPE trade_operation,double volume) const
{
return(FreeMargin()-MarginCheck(symbol,trade_operation,volume));
}

PS

Насколько я понимаю обе этих функции не совсем окончены, по крайней мере они не отражают необходимой реальности при расчетах...

 
Interesting:

Кстати, вопрос разработчикам - А что рассчитывать маржу нужно только для Forex (или там есть еще поле для работы)?

Из мартовского ответа разработчиков следует, что это - временное явление (т.е. "есть еще поле для работы") : https://www.mql5.com/ru/forum/11/page14/#comment_3346
 
Yedelkin:
Из мартовского ответа разработчиков следует, что это - временное явление (т.е. "есть еще поле для работы") : https://www.mql5.com/ru/forum/11/page14/#comment_3346

Понятно, "Не паханое поле" еще...

А есть у кого (включая разработчиков) нормальный алгоритм расчета?

 
Prival:
незнаю. терминал качал только у вас. других не использовал. сейчас данные появились, но утром их тоже небыло (получаеться всю ночь небыло). Могу выслать файлы для анализа, скажите только какие и куда

Да. Была проблема на сервере.

Вопрос решили.

 
alexvd:

Да. Была проблема на сервере.

Вопрос решили.

Не знаю, что там ВЫ и как решили, но так нельзя теперь, нет данных за 30.


 из рисунка видно, что я торговал вчера, сделки нанесены на график, т.е. вчера у меня данные (котировки) были, а теперь у меня их кто то стырил ? пошел искать соседа и бить ему морду :-) с таким качеством поставки котировок, о создании АТС не может идти и речи…это какимже надо быть гением, что бы все правильно рассчитать и спрограмировать...рефреш не помогает

 
Prival:

Не знаю, что там ВЫ и как решили, но так нельзя теперь, нет данных за 30.


 из рисунка видно, что я торговал вчера, сделки нанесены на график, т.е. вчера у меня данные (котировки) были, а теперь у меня их кто то стырил ? пошел искать соседа и бить ему морду :-) с таким качеством поставки котировок, о создании АТС не может идти и речи…это какимже надо быть гением, что бы все правильно рассчитать и спрограмировать...рефреш не помогает


К какому аксесс серверу вы сейчас подключены?
 
alexvd:
К какому аксесс серверу вы сейчас подключены?

Point 2

счет 92879 все время на нем и не менял.

 
Prival:

Point 2

счет 92879 все время на нем и не менял.

Переключитесь пока не 3-й или 4-й.
Причина обращения: